中途出现价值提取时如何使用NumPy Financial的irr?

问题描述 投票:0回答:1

我正在尝试使用 numpy_financial 计算一个月的 IRR,但我没有成功。我在数组的哪个位置犯了错误?

例如:

initial_balance = 579676.18
final_balance = 2921989.17

根据我的理解从文档中,最终余额应被视为最后一天的提款(正值),因为它计算为零。

现金流是一个31的数组,对应于该月的天数:

[0, 22700.00, 0 ,0 ,0 ,5320.00 ,0 ,0 ,-39900.00 ,0 ,0 ,0 ,0 ,0 ,0 ,-2278500.00 ,0, 31472.00, -42000.00, 0 , 0 , 0, -70300.00, 0, 0, 0, 0, 0, 0,36650.00, 0]

那么,根据我从文档中了解到的,最终的数组应该是 32 的数组?第一个是初始余额,另外31个是每日现金流+期末余额?

[initial_balance, 0, 22700.00, 0, 0, 0, 5320.00, 0, 0, -39900.00, 0, 0, 0, 0, 0, 0, -2278500.00, 0, 31472.00, -42000.00, 0, 0, 0, -70300.00, 0, 0, 0, 0, 0, 0, 36650.00, final_balance]

正确的 IRR 是 0.0001465,但输出是 0.001685。我做错了什么?

from numpy_financial import irr

final_array = [initial_balance, 0, 22700.00, 0, 0, 0, 5320.00, 0, 0, -39900.00, 0, 0, 0, 0, 0, 0, -2278500.00, 0, 31472.00, -42000.00, 0, 0, 0, -70300.00, 0, 0, 0, 0, 0, 0, 36650.00, final_balance]

irr(final_array)
python numpy finance
1个回答
0
投票

根据文件:

因此,例如,至少值的第一个元素(代表初始投资)通常为负数。

你的

initial_balance
应该是,其余的在你的例子中都是正确的。

from numpy_financial import irr

final_array = [-initial_balance, 0, 22700.00, 0, 0, 0, 5320.00, 0, 0, -39900.00, 0, 0, 0, 0, 0, 0, -2278500.00, 0, 31472.00, -42000.00, 0, 0, 0, -70300.00, 0, 0, 0, 0, 0, 0, 36650.00, final_balance]  # see negative sign before initial_balance


irr(final_array)

#输出

0.00014651601147774862
© www.soinside.com 2019 - 2024. All rights reserved.