numpy NPV 和 excel NPV 之间有区别吗?

Ves*_*per 1 python excel numpy

我有 excel,其中有一行有 11 个值。

TotalSavings = [0, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000]
Run Code Online (Sandbox Code Playgroud)

贴现率为 0.08,我使用 = 计算了 excel 中的 NPV NPV(0.08, TotalSavings)(显然有 11 列,所以不是 TotalSavings,而是 C3:C14(这里 C3 是 0 值,C14 是 8000))。它是49704。当我用 numpy NPV 做同样的事情时。

print(np.npv(0.08, TotalSavings))
Run Code Online (Sandbox Code Playgroud)

结果是:53680。有人可以帮忙吗?我想要与我们在 excel 中获得的结果相同的结果。

wwi*_*wii 5

似乎一种使用期初付款,另一种使用期末付款。

numpy 的公式是

(values / (1+rate)**np.arange(0, len(values))).sum(axis=0)
Run Code Online (Sandbox Code Playgroud)

将其更改为

(values / (1+rate)**np.arange(1, len(values)+1)).sum(axis=0)
Run Code Online (Sandbox Code Playgroud)

产生与 excel 相同的值。



对于 excel,这使得求和中每一项的分母更大,从而导致总和更小。