1 votos

Interpolación convexa monotona usando QuantLib

Tengo una curva de rendimiento para EUR6M y quiero producir EUR3M usando un desplazamiento paralelo a la curva de EUR6M. Puedo simplemente agregar spread en la curva 6M. Me encuentro con el problema de que mi curva EUR3M tendrá muchos más nodos de vencimiento que 6M porque mi spread tiene muchos más puntos. Quiero interpolar mi spread y la curva de 3M durante la adición en la curva de 6M. Quiero usar la interpolación convexa monótona en QuantLib python. ¿Alguien puede aconsejarme cómo usar esta función de interpolación en python usando QuantLib?

1voto

Chris Mc Puntos 31

No estoy seguro de por qué querrías esto ya que tienes comillas para EUR6M y EUR3M directamente (Intercambio vs. 3M y Futuros 3M).

Tampoco estoy seguro de por qué tendrías más nodos para el 3M ya que tanto los intercambios como los intercambios de base se cotizan con vencimientos en años.

De todos modos, aquí tienes un ejemplo que podría ser útil:

import QuantLib as ql
import numpy as np
import matplotlib.pyplot as plt

spreads = {
    '1Y': 11.1,
    '2Y': 9.3,
    '3Y': 8.5,
    '4Y': 7.9
}

X = [ql.Period(tenor).length() for tenor in spreads]
Y = [v for v in spreads.values()]
plt.plot(X, Y, marker='o')

X_3m = np.arange(1, 4.25, 0.25)

i = ql.CubicNaturalSpline(X, Y)
plt.plot(X_3m, [i(x) for x in X_3m])

enter image description here

0 votos

Muchas gracias por tu respuesta.

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