3

私は現在、Excel と の機能する正確な実装を探していRATE()ますIRR()。Rails 4 内の最新のブラウザーと Ruby 2.0.0 を対象とした Javascript でコーディングしています。私の目標は、Rails バックエンドを備えた応答性の高い Javascript アプリケーション内で APR を計算できるようにすることです。

次のオプションを確認して拒否しました。

Finance Gem :RATE()機能なし。IRR()多くのテスト ベクトルでハングしているように見えます。

Formula.js : 動作RATE()する関数はありません。IRR()多くのテスト ベクトルでは機能しません。

PHPExcel : RubyRATE()に変換した作業機能があります。これは、PHP バージョンとまったく同じように機能せず、重要なテスト ベクトルで失敗しました。これにはおそらく機能がありますが、まだテストしていません。機能するものを見つけることは期待できませんが、それでもテストします.IRR()

数式から独自の実装を作成することに興味はありません。私は、十分にテストされているように見えるコードを好みます。

アップデート:

R を使用して実行するための手順を見つけましたが、これIRR()は私たちの目的に十分正確である可能性があります: https://stat.ethz.ch/pipermail/r-help/2008-August/169619.html翌日にこのソリューションを評価します満足したら質問を更新してください。

4

2 に答える 2

0

Exonio という gem を作成しました。

github.com/Noverde/exonio

この gem は Ruby でいくつかの Excel 式を実装しています。IRRメソッドを実装するためにNewton、ルート検索アルゴリズムである ruby​​ モジュールを使用します。

それに対する改善点を知りたいです。

于 2016-04-29T14:05:14.427 に答える
-1

いくつかのテストの後IRR()、Rでのこの実装に満足しています。

https://stat.ethz.ch/pipermail/r-help/2008-August/169619.html

ここでは、Rscript コマンドを介して実行可能なスクリプトの形式になっています。

args <- commandArgs(TRUE)

periods = as.numeric(args[1])
payment = as.numeric(args[2])
value = as.numeric(args[3])
monthsInYear = 12

timeline <- (0:periods)
payments <- payment + (0 * timeline)
payments[1] <- value

f <- function(r) sum(payments * exp(-r * timeline))
irr <- function(f) uniroot(f, c(0, 1))$root

irr(f) * monthsInYear
于 2013-06-21T19:39:12.080 に答える