0 votos

Función CrossCurrencyBasisSwapRateHelper obsoleta

He estado utilizando la función CrossCurrencyBasisSwapRateHelper para generar una curva de descuento colateralizada en la que la garantía está en una divisa distinta a la del activo. Sin embargo, me he dado cuenta de que esta función ha quedado obsoleta y ya no está disponible, aunque sigue apareciendo en la sección "Helpers" de la documentación de ayuda online de Quantlib. ¿Existe alguna alternativa?

2voto

Chris Paveglio Puntos 152

Parece como si ConstNotionalCrossCurrencyBasisSwapRateHelper se ha añadido como reemplazo. Sólo no hay documentación ofrecida en el en https://quantlib-python-docs.readthedocs.io/en/latest/thelpers.html?highlight=helpers

1voto

TourEiffel Puntos 61

Parece que el ConstNotionalCrossCurrencyBasisSwapRateHelper es de hecho un sustituto del obsoleto CrossCurrencyBasisSwapRateHelper en QuantLib.

En ConstNotionalCrossCurrencyBasisSwapRateHelper se utiliza para crear ayudantes de tipos para curvas de swaps de base entre divisas, en las que la garantía está en una divisa distinta de la del activo. Permite un importe nocional constante para los swaps de base, a diferencia de los nocionales variables que admitía el ayudante obsoleto.

Para utilizar ConstNotionalCrossCurrencyBasisSwapRateHelper En este caso, lo normal es crear una instancia del helper y pasarle los parámetros necesarios, como los días de liquidación, la comilla, las fechas de inicio y fin y el índice de intercambio de bases subyacente. Este helper se puede utilizar en la construcción de su curva de swap de base entre divisas.

He aquí un ejemplo básico que demuestra el uso de ConstNotionalCrossCurrencyBasisSwapRateHelper en Python con QuantLib:

import QuantLib as ql

# Set up the required parameters
settlement_days = 2
quote = ql.SimpleQuote(0.01)  # Example basis swap rate quote
start_date = ql.Date(25, 5, 2023)  # Example start date
end_date = ql.Date(25, 5, 2024)  # Example end date
calendar = ql.TARGET()  # Example calendar
collateral_currency = ql.EURCurrency()  # Example collateral currency
asset_currency = ql.USDCurrency()  # Example asset currency
basis_swap_index = ql.Euribor6M()  # Example basis swap index

# Create the basis swap rate helper
basis_swap_helper = ql.ConstNotionalCrossCurrencyBasisSwapRateHelper(
    settlement_days, quote, start_date, end_date,
    calendar, collateral_currency, basis_swap_index, asset_currency
)

# Retrieve the discount curve for collateral currency
collateral_curve = ql.YieldTermStructureHandle(
    ql.FlatForward(0, ql.TARGET(), 0.05, ql.Actual360())
)  # Example collateral curve

# Construct the discounting curve with the basis swap helper
helpers = [basis_swap_helper]
curve = ql.PiecewiseLogCubicDiscount(settlement_days, calendar, helpers, ql.Actual360())

# Evaluate the curve at a specific date
curve_date = ql.Date(1, 6, 2023)  # Example evaluation date
discount_factor = curve.discount(curve_date)

print(f"Discount factor at {curve_date}: {discount_factor:.6f}")

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