我的 Excel 中有一行包含 11 个值。
TotalSavings = [0, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000]
贴现率为 0.08,我在 Excel 中使用 = 计算 NPVNPV(0.08, TotalSavings)
(显然有 11 列,所以不是 TotalSavings,而是 C3:C14(这里 C3 是 0 值,C14 是 8000))。它是49704。
当我用 numpy NPV 做同样的事情时。
print(np.npv(0.08, TotalSavings))
结果是:53680。
有人可以帮忙吗?我想要与我们在 Excel 中得到的结果相同的结果。
似乎有人使用句号开头payments另一个使用期末付款。
numpy 的公式是
(values / (1+rate)**np.arange(0, len(values))).sum(axis=0)
将其更改为
(values / (1+rate)**np.arange(1, len(values)+1)).sum(axis=0)
产生的值与使用 excel 得到的值相同。
-
The numpy 文档 https://numpy.org/doc/1.19/reference/generated/numpy.npv.html显示从 t=0 到 M-1 的总和。
-
Excel 文档 https://support.microsoft.com/en-us/office/npv-function-8672cb67-2576-4d07-b67b-ac28acf2a568显示从 i=1 到 n 的总和
对于 Excel,这会使求和中每一项的分母变大,从而导致总和变小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)