考虑到当前价格、期数、息票和面值都是已知的,我试图用下面的公式计算债券的到期收益率。你知道吗
我使用以下代码创建了一个SymPy表达式:
expr = coupon/pow((1+ytm), exp)
exp= exp+0.5
for x in range(1, periods):
expr = expr + coupon/pow((1+ytm), exp)
exp = exp+0.5
exp = exp-0.5
expr = expr+100/pow((1+ytm), exp)
表达式如下所示:
Out[3]: 104.375*(ytm + 1)**(-28.7356164383562) + 4.375*(ytm + 1)**(-28.2356164383562) + ..... + 4.375*(ytm + 1)**(-0.735616438356164) + 4.375*(ytm + 1)**(-0.235616438356164)
尝试用SymPysolve()
方法求解:
from sympy.solvers import solve
但似乎不起作用。任何帮助我应该如何处理这个问题是非常感谢。你知道吗
用
nsolve
可以很容易地得到数值解。用你所说的话来表达:相关问题 更多 >
编程相关推荐