Estoy tratando de valorar una FRA en quantlib Python usando el siguiente código:
import QuantLib as ql
calendar = ql.UnitedStates()
todaysDate = ql.Date(7, ql.May, 2017)
#
ql.Settings.instance().evaluationDate = todaysDate
spotDates = [ql.Date(7, 5, 2017)+ql.Period(i*6, ql.Months) for i in range(0, 10)]
spotRates = [4.3291/100]*len(spotDates)
interpolation = ql.Linear()
compounding = ql.Compounded
compoundingFrequency = ql.Annual
spotCurve = ql.ZeroCurve(spotDates, spotRates, ql.Actual360(), calendar,interpolation, compounding, compoundingFrequency)
spotCurveHandle = ql.YieldTermStructureHandle(spotCurve)
indexCurve1 = ql.Euribor6M(spotCurveHandle)
indexCurve1.addFixing(ql.Date(7, 5, 2017) -3,0.9,True)
forward_rates=[spotCurve.zeroRate(x,ql.Actual360(),compounding,compoundingFrequency).rate()for x in spotDates]
fra = ql.ForwardRateAgreement(ql.Date(7, 5, 2017),ql.Date(15,12,2020),ql.Position.Long,0.01,10e6,ql.Euribor6M(spotCurveHandle))
Sin embargo, si cambio la fecha de valoración en la función
fra = ql.ForwardRateAgreement(ql.Date(7, 5, 2018),ql.Date(15,12,2020),ql.Position.Long,0.01,10e6,ql.Euribor6M(spotCurveHandle))
Me da un error: RuntimeError: no se puede desreferenciar el identificador vacío
¿Alguien puede ayudarme con este error? Se lo agradecería sinceramente.
¡Gracias por adelantado!