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/

10-12 21:06