Yield-Curve

Python Quantlib 收益率曲線日期與輸入不同

  • December 20, 2016

非常感謝您提前提供的幫助。

我試圖從 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。這非常重要,它為您提供t2from的費率t1。因此,引導算法提取t2 NOT t1的值。

2015 年 6 月 17 日是您的t1. 這是你未來的開始日期,三個月後成熟。2015 年 9 月 17 日是成熟日期,它確實顯示在您的輸出中。

同樣,Sep 21 2016 是 your t1,yourt2是 December 21st, 2016,再次顯示在您的輸出中。

請記住,您的工具成熟的日期決定了您的曲線期限,而不是開始的時間。

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