固定收益
如何查看 Python 中 quantlib 中創建的特定債券的現金流量?這是我的程式碼,我應該如何更改它
這是我擁有的程式碼,如何查看我創建的特定債券的現金流量
正如 Dimitri 所說,您可以使用現金流檢查器:
for cf in bond.cashflows(): print(cf.date().ISO(), cf.amount())
2019-07-30 1.4999999999999902
2020-01-30 1.4999999999999902
2020-07-30 1.4999999999999902
(…)
2029-01-30 1.4999999999999902
2029-07-30 1.4999999999999902
2030-01-30 1.4999999999999902
2030-01-30 100.0
這樣,您的現金流將具有日期和金額,並且您將看到利息和贖回。
如果您需要更多詳細資訊,可以使用
ql.as_coupon
、ql.as_fixed_rate_coupon
或ql.as_floating_rate_coupon
方法來提取其他欄位:import pandas as pd fields = [ 'accrualDays', 'accrualEndDate', 'accrualPeriod', 'accrualStartDate', 'amount', 'date', 'dayCounter', 'interestRate', 'nominal', 'rate' ] data = [] for cf in list(map(ql.as_fixed_rate_coupon, bond.cashflows()))[:-1]: data.append({fld: eval(f"cf.{fld}()") for fld in fields}) pd.DataFrame(data)
在這裡我做了一張地圖的列表,以避免最後一張優惠券,因為兌換現金流沒有這些額外的欄位,並且會通過一個錯誤。