Python Quantlib:如何处理运行时错误'addFixing(date, value)'


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()))

运行时错误("至少提供了一个无效修复: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

。因此,如果澳元LIBOR还活着,那将不是一个有效的固定日期。

>>> libor.isValidFixingDate(ql.Date(6, ql.May, 2019))
False

您可能正在尝试为其他一些取代 BBA LIBOR(伦敦银行同业拆借利率(的 AUD 指数加载修复,并且它不是由函数库作为自己的类提供的。 一旦你弄清楚了它的约定(例如固定日历等(,你可以将其创建为泛型Ibor类的实例。

相关内容

最新更新