Доходность Quantlib CallableFixedRateBond по дате вызоваPython

Программы на Python
Ответить
Anonymous
 Доходность Quantlib CallableFixedRateBond по дате вызова

Сообщение Anonymous »

У меня есть довольно простой пример отзывной облигации с фиксированной ставкой, по которой я хотел бы перейти от цены к YTC. Давайте просто предположим, что его можно вызвать только в одну указанную дату, чтобы упростить задачу.
Я могу получить YTM следующим образом:

Код: Выделить всё

import QuantLib as ql
ql.Settings.instance().evaluationDate = ql.Date(23,1,2025)

schedule = ql.MakeSchedule(
effectiveDate=ql.Date(20,2,2024),
terminationDate=ql.Date(20,2,2031),
frequency=ql.Semiannual
)

settlement_days = 1
face_amt = 100
coupons = [.05834]
payment_day_counter = ql.Thirty360(ql.Thirty360.BondBasis)

call_schedule = ql.CallabilitySchedule()
call_schedule.append(ql.Callability(ql.BondPrice(100,ql.BondPrice.Clean), ql.Callability.Call, ql.Date(20,12,2030)))

bond = ql.CallableFixedRateBond(1, face_amt, schedule,coupons,payment_day_counter,ql.Following,100,ql.Date(20,2,2024),call_schedule)

bond.bondYield(102,payment_day_counter,ql.Compounded, ql.Semiannual)
Есть ли простой способ получить YTC? Я не могу передать другую дату в функцию BondYield, так как расписание будет неверным. Надеюсь, мне не придется создавать новый график для облигации, если она будет погашена?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -call-date
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»