gpt4 book ai didi

julia - 在 Julia 中计算 IRR

转载 作者:行者123 更新时间:2023-12-04 00:06:23 24 4
gpt4 key购买 nike

我可以使用计算 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com