You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Maxima中计算内部收益率(IRR)与到期收益率(YTM)

在Maxima中求解债券到期收益率(YTM)

步骤1:定义YTM方程

先将债券定价方程整理简化,把最后一期的票息与面值合并后输入Maxima:

eq: 900 = 50/(1 + r) + 50/(1 + r)^2 + 1050/(1 + r)^3;

步骤2:求解解析解(可选)

使用solve命令可得到方程的所有解析根,但三次方程的解会包含复数或无意义的负数根,需自行筛选合理的正实数根:

solve(eq, r);

步骤3:求解实用数值解

由于解析解复杂,实际场景中更常用find_root直接计算正实数解。根据常识YTM为正数,设定搜索范围为0到0.2(0%到20%):

find_root(eq, r, 0, 0.2);

运行后会得到约0.0853的结果,即**8.53%**左右的到期收益率。

步骤4:验证结果(可选)

将求得的r值代入原方程,验证是否符合定价逻辑:

r_val: find_root(eq, r, 0, 0.2);
50/(1 + r_val) + 50/(1 + r_val)^2 + 1050/(1 + r_val)^3;

计算结果会接近900,误差可忽略。

补充:IRR的计算逻辑

内部收益率(IRR)的求解逻辑完全一致:只需定义净现值(NPV)为0的方程(比如初始现金流为-900,后续每年流入50,最后一年流入1050),重复上述步骤即可求解。

内容的提问来源于stack exchange,提问作者Flux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:20:30