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関数と同じ結果を得ることができます。



1 件のコメント:

RoR Development さんのコメント...

この非常に有用な情報を共有するためのおかげで良い仕事を続ける。