Muchas gracias por su ayuda de antemano.
Estoy tratando de entender la construcción de la curva de rendimiento de Python Quantlib. Y parece que no puedo obtener la salida de la curva las mismas fechas (nodos) como mi entrada cuando se utiliza el FuturesRateHelper. Aquí está mi código:
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)
y aquí está mi salida cuando imprimí curva.fechas()
---------
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
Estoy muy confundido ya que la fecha del 17 de junio de 2015 desapareció y varias fechas también están desplazadas de mi entrada (por ejemplo, el 21 de septiembre de 2016 como en mi entrada (que es una fecha IMM) pero el 15 de septiembre de 2016 se mostró en la salida). ¿Por qué ocurre esto?
Muchas gracias por su ayuda de nuevo.