我正在从事利率掉期,借助Python的Quantlib库进行普通掉期的工作,但是将cashflow
结果与excelsheet
进行比较时,它们都不匹配。
有人可以帮助我了解YieldTermStructureHandle
和Flatforward
的作用吗?
使用Python的前5个现金流:
Discounted_rates
1.0000
0.9899
0.9799
0.9699
0.9601
Cashflow
116199.622867
121697.333333
121792.016533
118595.990467
119331.323200
前5个cashflow
和excelsheet
计算器:
Cashflow
1,18,928.58
1,17,514.18
1,16116.60
1,14,735.64
1,13,371.10
1,12,022.80
尽管所有数据都相同。
请帮助我了解yieldtermstructurehandle
和flatforward
内部的变化以及cashflow
为何有所不同?
代码如下:
risk_free_rate = 0.0204
libor_rate = 0.02
day_count = Actual365Fixed()
discount_curve = ql.YieldTermStructureHandle(ql.DiscountCurve(discountDates,d_rates,ql.Actual365Fixed()))
libor_curve = YieldTermStructureHandle(
FlatForward(calculation_date, libor_rate, day_count)
)
libor3M = USDLibor(Period(3, Months), libor_curve)