3 votos

Quantlib: ¿cómo construir el cubo de volatilidad CDOR? Error al utilizar SwapRateHelper

import QuantLib as ql
import pandas as pd

today = ql.Date().todaysDate()
calendar = ql.Canada()

# Load the CDOR swap rates data into a pandas DataFrame
cdor_data = pd.read_csv('cdor_swap_rates.csv')

# Convert the data into QuantLib objects
cdor_curve = ql.RelinkableYieldTermStructureHandle()
cdor_helpers = []
for i, row in cdor_data.iterrows():
    tenor = ql.Period(row['Term'])
    rate = row['Rate'] / 100.0
    helper = ql.SwapRateHelper(rate, tenor, calendar,
                               ql.Annual, ql.Unadjusted,
                               ql.Thirty360(ql.Thirty360.BondBasis), ql.Cdor, ql.Period('1D'),
                               cdor_curve)
    cdor_helpers.append(helper)

Hola chicos, no puedo averiguar por qué mi función SwapRateHelper no está funcionando, lanzando un TypeError: Wrong number or type of arguments for overloaded function 'new_SwapRateHelper'.

2voto

Brad Tutterow Puntos 5628

Mirando la declaración del constructor que estás usando ( https://github.com/lballabio/QuantLib-SWIG/blob/master/SWIG/ratehelpers.i#L236 ) Veo dos razones:

  1. estás pasando ql.Cdor que es el nombre de la clase. Es necesario pasar ql.Cdor() que es una instancia del índice.
  2. después del índice, el siguiente parámetro es un QuoteHandle conteniendo la propagación. Incluso si la dispersión es 0, que es necesario si usted está pasando los otros parámetros después de este.

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