5 votos

Fechas de la curva de rendimiento de Python Quantlib diferentes a las de entrada

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.

4voto

Cada futuro le da una tarifa a plazo entre t1 y t2 . Esto es muy importante, le da la tasa de t2 de t1 . Así, el algoritmo bootstrap extrae un valor para t2 NO t1 .

El 17 de junio de 2015 es su t1 . Es la fecha de inicio de su futuro, que vence en tres meses. El 17 de septiembre de 2015 es la fecha de vencimiento, y efectivamente se muestra en su salida.

Del mismo modo, el 21 de septiembre de 2016 es su t1 , su t2 es el 21 de diciembre de 2016, que se muestra de nuevo en su salida.

Recuerde que es la fecha de maduración de su instrumento la que define los tenores de su curva, no cuando comienza.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X