Yield-Curve
Python Quantlib 收益率曲線日期與輸入不同
非常感謝您提前提供的幫助。
我試圖從 Python Quantlib 中了解收益率曲線的構造。在使用 FuturesRateHelper 時,我似乎無法獲得與輸入相同的日期(節點)。這是我的程式碼:
calc_date = ql.Date(18, 2, 2015) ql.Settings.instance().evaluationDate = calc_date bussiness_convention = ql.ModifiedFollowing daycount = ql.Actual365Fixed() calendar = ql.JointCalendar(ql.UnitedStates(), ql.UnitedKingdom()) depo_r = {ql.Period(1, ql.Weeks): float(0.001375), ql.Period(int(1), ql.Months): float(0.001717), ql.Period(int(2), ql.Months): float(0.002112), ql.Period(int(3), ql.Months): float(0.002381) } depoHelpers = [ql.DepositRateHelper(ql.QuoteHandle(ql.SimpleQuote(depo_r[p])), p, 0, calendar, bussiness_convention, False, daycount) for p in depo_r.keys()] future_r = {ql.Date(17, 6, 2015): float(99.725), ql.Date(16, 9, 2015): float(99.585), ql.Date(16, 12, 2015):float(99.385), ql.Date(16, 3, 2016): float(99.16), ql.Date(15, 6, 2016): float(98.93), ql.Date(21, 9, 2016): float(98.715) } futuresHelpers =[ql.FuturesRateHelper(ql.QuoteHandle(ql.SimpleQuote(future_r[d])), d, 3, calendar, bussiness_convention, True, daycount, ql.QuoteHandle(ql.SimpleQuote(0.0))) for d in future_r.keys() ] helpers = depoHelpers + futuresHelpers curve = ql.PiecewiseFlatForward(0, calendar, helpers, daycount)
這是我列印curve.dates()時的輸出
--------- February 18th, 2015 --------- February 25th, 2015 --------- March 18th, 2015 --------- April 20th, 2015 --------- May 18th, 2015 --------- September 17th, 2015 --------- December 16th, 2015 --------- March 16th, 2016 --------- June 16th, 2016 --------- September 15th, 2016 --------- December 21st, 2016
我很困惑,因為 2015 年 6 月 17 日的日期消失了,並且幾個日期也從我的輸入中轉移(例如,我的輸入中的 2016 年 9 月 21 日(這是 IMM 日期),但輸出中顯示了 2016 年 9 月 15 日)。為什麼會這樣?
非常感謝您的再次幫助。
每個未來都會為您提供 和 之間的遠期
t1
匯率t2
。這非常重要,它為您提供t2
from的費率t1
。因此,引導算法提取t2
NOTt1
的值。2015 年 6 月 17 日是您的
t1
. 這是你未來的開始日期,三個月後成熟。2015 年 9 月 17 日是成熟日期,它確實顯示在您的輸出中。同樣,Sep 21 2016 是 your
t1
,yourt2
是 December 21st, 2016,再次顯示在您的輸出中。請記住,您的工具成熟的日期決定了您的曲線期限,而不是開始的時間。