固定收益

如何查看 Python 中 quantlib 中創建的特定債券的現金流量?這是我的程式碼,我應該如何更改它

  • June 5, 2020

在此處輸入圖像描述

這是我擁有的程式碼,如何查看我創建的特定債券的現金流量

正如 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_couponql.as_fixed_rate_couponql.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)

在此處輸入圖像描述

在這裡我做了一張地圖的列表,以避免最後一張優惠券,因為兌換現金流沒有這些額外的欄位,並且會通過一個錯誤。

引用自:https://quant.stackexchange.com/questions/54666