for t_ccy in rate_dates.keys():
libor_base = ql.AUDLibor(ql.Period(3,ql.Months),ql.YieldTermStructureHandle(term_structure[t_ccy]))
libor_up = ql.AUDLibor(ql.Period(3,ql.Months),ql.YieldTermStructureHandle(term_structure_up[t_ccy]))
for key in hist_rates_dict.keys():
try:
libor_base.addFixing(key,hist_rates_dict[key])
libor_up.addFixing(key,hist_rates_dict[key])
except:
print("Following Exception in Schedule creation " +str (key))
print((sys.exc_info()))
RuntimeError('至少提供了一个无效的修正:2019年5月6日星期一,0.015491',)。
该日期来自“ hist_rates_dict”,其中“键”为日期,“值”为费率。
如何处理这个异常。提前致谢。
最佳答案
ql.AUDLibor
可能不是您要查找的索引。这是2013年终止使用的BBA LIBOR指数。该指数基于伦敦日历...
>>> import QuantLib as ql
>>> libor = ql.AUDLibor(ql.Period(3,ql.Months))
>>> print(libor.fixingCalendar())
London stock exchange calendar
...而2019年5月6日是英国的银行假期...
>>> print(ql.UnitedKingdom().isBusinessDay(ql.Date(6, ql.May, 2019)))
False
...因此,如果仍然有效,这将不是AUD LIBOR的有效定价日期。
>>> libor.isValidFixingDate(ql.Date(6, ql.May, 2019))
False
您可能正在尝试为其他一些替换BBA LIBOR的AUD索引加载修复程序,并且该库未将其作为自己的类提供。一旦弄清了它的约定(例如固定日历等),就可以将其创建为通用
Ibor
类的实例。关于python - Python Quantlib:如何处理RuntimeError'addFixing(date,value)',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59914971/