Как добавить собственный календарь торговли в Zipline
Я использую zipline и пытаюсь добавить собственный календарь в систему, чтобы я мог применить его к обмену нашей страны.
Я посмотрел на stackru и нашел этот пост: Как использовать собственный календарь в пользовательском пакете zipline?
Однако я не смог найти каталог zipline / utils / calendars, упомянутый в посте, в котором я должен найти файлы Python календаря. Это кажется устаревшим. Так что в настоящее время я заблудился о том, как настроить календарь торговли в этой библиотеке zipline, чтобы удовлетворить свои потребности. Любые решения, предложения или ссылки приветствуются.
Заранее спасибо.
РЕДАКТИРОВАТЬ: я использую Python3.5 на Mac, и версия zipline, кажется, 1.3.0
0 ответов
В версии 1.3.0 zipline использует модуль trading_calendars от компании Quantopian. Вам нужно установить его через pip, а затем вы можете использовать его в своем проекте:
from trading_calendars import get_calendar
trading_calendar=get_calendar('XNYS')
Список поддерживаемых календарей вы можете найти на github: trading_calendars
Если вы хотите создать свой собственный календарь, вы должны создать свой класс календаря аналогично старому, который описан здесь: документация по протоколу trading_calendars zipline Затем, чтобы использовать его, вам необходимо зарегистрировать его с помощьюregister_calendar()
. В итоге это должно быть примерно так:
from trading_calendars import get_calendar, register_calendar
from my_calendar import MyCalendar
register_calendar('MyCalendarName', MyCalendar, True)
trading_calendar=get_calendar('MyCalendarName')
А как насчет следующего кода для пакета данных? Я предполагаю, что есть другие места, которые следует обновить, кроме этого calendar_name? пакет данных по-прежнему не может импортировать данные в.
register(
'custom-csvdir-bundle',
csvdir_equities(
['daily'],
r'C:\Users\csvdata',
),
calendar_name='XTSE',
start_session=start_session,
end_session=end_session
)