julia - 在 Julia 中计算 IRR

标签 julia quantitative-finance

我可以使用计算 NPV

tvmnpv(i,cfo,cfall)=begin
n=collect(1:length(cfall));
cfo + sum(cfall./(1+i).^n)
end

哪里cfo是 t=0 时的初始现金流量,cfall代表以下现金流和i是使用的贴现率。

但是,鉴于现金流,我找不到计算内部 yield 的方法。我相信 excel 使用一个函数来滚动浏览可能的值,直到找到 cfo 加上贴现后的现金流等于零的值。任何人都可以指出我正确的方向吗?

所需输出的示例如下:
cfo=[-100];cfall=[30,30,30,30]Out: 0.07713847
因此,内部 yield 为 7.713847%。

感谢您的帮助。

最佳答案

计算 IRRRoot-finding问题(找到 i,NPV=0)。

进行此计算的一种方法是使用 Roots.jl包( Pkg.add("Roots") ),如下:

julia> using Roots

julia> tvmnpv(i,cfo,cfall)=begin
         n=collect(1:length(cfall));
         cfo + sum(cfall./(1+i).^n)
       end
tvmnpv (generic function with 1 method)

julia> f(x)=tvmnpv(x, cfo, cfall)
f (generic function with 1 method)

julia> cfo=-100.0
-100.0

julia> cfall=[30, 30, 30, 30];

julia> fzero(f, [0.0, 1.0])
0.07713847295208355

区间[0.0, 1.0]可以更改以获得更好的性能。

如果您不想安装该软件包,我建议您实现 Bisection方法,简单有效。

使用 Julia 0.5.0 版测试

关于julia - 在 Julia 中计算 IRR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41403344/

相关文章:

matrix - 如何制作 View 下降尺寸?

julia - 让 Julia 在 LOAD_PATH 中查找文件

csv - 如何将我自己的数据输入 PyAlgoTrade?

julia - 如何将图例移动到 Plots.jl (GR) 中的绘图区域之外?

struct - Julia:结构和方法构造函数中的函数

function - 快速匿名功能现在是自动的吗?

python - 如何从累积增益计算夏普比率?

python - 为什么我的测试版与雅虎财经不同?

python - DataFrame 每隔第三行并向前填充

r - fBasics::fitStable 工作可疑