Python
了解 quantlib 中的 DiscountCurve
我想使用 quantlib 在 python 中創建一個 TermStructureHandle 句柄。我使用
DiscountCurve
該類並輸入日期和折扣因素列表,如下所示:dates = [ql.Date(9,4,2018), ql.Date(9,4,2019), ql.Date(9,4,2020)] discfactors = [1, 0.9, 0.8] dayCount = ql.ActualActual() disc_curve = ql.DiscountCurve(dates, discfactors, dayCount) term_structure = ql.YieldTermStructureHandle(disc_curve)
從這個期限結構得出的兩年貼現因子應該是 0.8 但實際上我得到了
print(abs(discfactors[2]-term_strcuture.discount(2))) 0.00018797232855949364
這是什麼原因?當我插入更長的日期列表和相應的折扣因素時,差異會不斷增加。
請注意,ql.Date(9,4,2018) 和 ql.Date(9,4,2020) 之間的 DCF在 Act/Act 下不是2,而是 2.0019987。
所以你可以使用
term_strcuture.discount(2.0019987)
或將您的 DayCountConvention 設置為 30/360,DCF 實際上是 2。