寻找准确的Ruby, Javascript,或R Excel RATE()或IRR()函数实现
Looking for Accurate Ruby, Javascript, or R Excel RATE() or IRR() Function Implementation
我目前正在寻找Excel的RATE()
和IRR()
的工作和准确的实现。我用Javascript编写代码,目标是现代浏览器和Rails 4中的Ruby 2.0.0。我的目标是能够在一个具有Rails后端的响应式Javascript应用程序中计算APR。
我看过并拒绝了以下选项:
金融创业板:无RATE()
功能。IRR()
似乎挂起了许多测试向量。
Formula.js: No working RATE()
function。IRR()
不能用于许多测试向量。
RATE()
函数,我转换为Ruby。这不能完全像PHP版本一样工作,并且不能进行重要的测试向量。这可能确实有IRR()
功能,但我还没有测试过。我不希望我能找到一个工作,但我将测试它,无论如何。
我对根据数学公式编写自己的实现不感兴趣。我更喜欢那些经过严格测试的代码。
更新:
我已经找到了一个使用R执行IRR()
的程序,可能对我们的目的足够准确:https://stat.ethz.ch/pipermail/r-help/2008-August/169619.html我将在第二天左右评估此解决方案,并更新我的问题,如果我对此感到满意。
我构建了一个名为Exonio的gem:
github.com/Noverde/exonio
这个gem用Ruby实现了一些Excel公式,也许它可以帮助你。为了实现IRR
方法,我使用Newton
ruby模块,这是一个根查找算法。
我很想知道有什么改进
经过一些测试,我对R中IRR()
的实现感到满意:
这里是一个脚本的形式,可以通过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
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- jquery点击函数select&取消选择
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- Node.js v6.2.0类扩展不是函数错误
- 比较从函数和生成的日期对象
- 寻找准确的Ruby, Javascript,或R Excel RATE()或IRR()函数实现
- 在JavaScript中是否有IRR和PMT函数的精确实现