Я пытаюсь рассчитать доходность к погашению облигации, используя следующее уравнение, учитывая, что текущая цена, число периодов, купоны и номинальная стоимость известны.
Я создал выражение 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)
Попытка решить с помощью метода SymPy solve()
:
from sympy.solvers import solve
но это не похоже на работу.Любая помощь в том, как мне следует подойти к этой проблеме, очень ценится.