如何使用Javascript手动计算excel函数MDURATION



我现在正在做一个财务项目。我将使用excel中名为MDURATION的公式。我想使用编程语言(Javascript(手动计算MDURATION的值。我试过了,但我想不通。当我比较excel中MDURATION的值时,我的编码结果是不同的。你能告诉我如何手动计算这个公式吗?

c是每个期间的票面利率。y是每个周期的产量。m是每年的周期数。n是剩余的周期。

function modified_duration(c, y, m, n){
let macaulay_duration = ((1+y) / (m*y)) - ((1 + y + n*(c-y)) / ((m*c* ((1+y)**n - 1)) + m*y));
return macaulay_duration / (1 + y);  
}
console.log(modified_duration(0.025, 0.035, 2, 20));

这一次给了我与excel相同的结果。=持续时间(G7,G8,5%,7%,2(其中g7为1/1/2015,g8为1/1/2025

最新更新