Создайте календарь торговых праздников с помощью PandasPython

Программы на Python
Anonymous
Создайте календарь торговых праздников с помощью Pandas

Сообщение Anonymous »

Я пытаюсь создать торговый календарь с помощью Pandas. Я могу создать экземпляр Cal на основе USFederalHolidayCalendar. Федеральный календарь праздников США не соответствует торговому календарю, поскольку торговый календарь не включает День Колумба и День ветеранов. Однако торговый календарь включает Страстную пятницу (не включенную в USFederalHolidayCalendar). Все, кроме последней строки в следующем коде, работает:

Код: Выделить всё

from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFriday
from datetime import datetime

cal = get_calendar('USFederalHolidayCalendar')  # Create calendar instance
cal.rules.pop(7)                                # Remove Veteran's Day rule
cal.rules.pop(6)                                # Remove Columbus Day rule
tradingCal = HolidayCalendarFactory('TradingCalendar', cal, GoodFriday)
Экземпляр TradingCal, кажется, работает, и я могу просматривать правила праздников.

Код: Выделить всё

In[10]: tradingCal.rules
Out[10]:
[Holiday: Labor Day (month=9, day=1, offset=),
Holiday: Presidents Day (month=2, day=1, offset=),
Holiday: Good Friday (month=1, day=1, offset=[, ]),
Holiday: Dr. Martin Luther King Jr. (month=1, day=1, offset=),
Holiday: New Years Day (month=1, day=1, observance=),
Holiday: Thanksgiving (month=11, day=1, offset=),
Holiday: July 4th (month=7, day=4, observance=),
Holiday: Christmas (month=12, day=25, observance=),
Holiday: MemorialDay (month=5, day=31, offset=)]
Когда я пытаюсь перечислить праздники в диапазоне дат, я получаю следующую ошибку:

Код: Выделить всё

In[11]: tradingCal.holidays(datetime(2014, 12, 31), datetime(2016, 12, 31))
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\IPython\core\interactiveshell.py", line 3035, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 1, in 
tradingCal.holidays(datetime(2014, 12, 31), datetime(2016, 12, 31))
TypeError: unbound method holidays() must be called with TradingCalendar instance as first argument (got datetime instance instead)
Есть идеи?

Вернуться в «Python»