Python
QuantLib-Python:使用函式“holidayList”獲取 D1 和 D2 之間所有假期的列表
我發現 QuantLib 的 C++ 版本在日曆類中提供了一個名為 holidayList 的函式。
//! Returns the holidays between two dates static std::vector<Date> holidayList(const Calendar& calendar, const Date& from, const Date& to, bool includeWeekEnds = false);
我試圖通過使用這個呼叫來獲得兩個日期之間的所有假期:
TARGET_calendar = TARGET() TARGET_calendar.holidayList(TARGET_calendar, Date(1,1,2015), Date(1,1,2016)) AttributeError: 'TARGET' object has no attribute 'holidayList'
由於我對將 C++ 轉換為 Python 不太熟悉,因此我也嘗試過:
holidayList(TARGET_calendar, Date(1,1,2015), Date(1,1,2016)) NameError: name 'holidayList' is not defined
有人可以幫幫我嗎?
非常感謝!
該
holidayList()
函式未在 Python 中公開:https ://github.com/lballabio/QuantLib-SWIG/blob/master/SWIG/calendars.i您可以送出一個要求添加它的問題,或者通過拉取請求自己完成,或者只是在本地完成,但在最後一種情況下,您必須重建 QuantLib Python 庫等。
作為一種解決方法,您可以使用該
isHoliday()
函式來獲取此列表,並結合isWeekend()
如果您想從假期列表中排除週末:TARGET_calendar = TARGET() date = Date(1,1,2015) holiday_list = [] while date < Date(1,1,2016): if(TARGET_calendar.isHoliday(date) and not TARGET_calendar.isWeekend(date.weekday())): holiday_list.append(date) date = date + Period(1, Days)