2012-06-14

rubyでexcelのrate関数的なもの

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
excelにRATE関数というのがあります。

毎月支払額と支払い回数と元本から利率を計算してくれます。詳しくは以下を見てください。
http://excel.onushi.com/function/rate.htm

これをrubyで実装してみようと思ったわけです。

http://code.google.com/p/rinvestment/
を利用させていただきます。

適当な場所に
svn export http://rinvestment.googlecode.com/svn/trunk/ rinvestment
で取得します。
rinvestment/irr.rb

p RInvestment.irr([-50000, 35000, 35000, 35000], 0.1, 20)
と書かれているので削除しておきます。

rinvestmentをrequireできるところにおいておいて、以下のようなファイルを作成します。
excelのRATE関数は引数を最大5個取れますが、その先頭3つまでにしか対応してないrate関数です。

require "rinvestment"

def rate(t,p,pv)
  a = [pv]
  t.times { a.push(p) }
  ret = RInvestment.irr(a)
end

p rate(48,-15000,700000)

これを実行すると
0.00115572436341284
と出力され、以下のようにexcelのRATE関数と同じ結果を得ることができます。



コメントを投稿