Как добавиться в пакет zipline

У меня есть торговый алгоритм, который я тестирую на zipline. Я успешно получил пакет обыкновенных акций США из CSV-файла. Двигаясь вперед, я хотел бы непрерывно тестировать его на исторических данных в конце каждого торгового дня.

Поэтому я хотел бы добавить к моему существующему пакету ежедневные цены OHLCV для каждой акции США, загрузив их с Interactive Brokers (я написал скрипт на Python, который делает это).

Теперь мой вопрос: как добавить строку данных нового дня для каждой эквити в мой существующий пакет zipline?

В частности, я не хочу создавать новые пакеты.


person Bai hui    schedule 21.02.2019    source источник


Ответы (1)


Я сам занимаюсь этим вопросом и пришел к выводу, что это невозможно. Если какой-либо zipline разработчик находится в эфире, поправьте меня, если я ошибаюсь.

Каждый прием будет создавать новую таблицу SQLite в основном, их легко найти в разделе ~/.zipline/data.

Скажем, у вас есть три разных CSV для трех разных бирж, вам придется импортировать их отдельно в трех разных загрузках.

Что разочаровывает (очевидно, возможно, мы упускаем из виду предполагаемое использование), так это то, что при выполнении бэктеста каждый ограничен одной единственной вселенной приема. Если мой список символов разбросан, т.е. продукты на разных биржах, то протестировать такой алгоритм невозможно.

Если вы полагаетесь на пространство quandle по умолчанию, вы не столкнетесь с этой проблемой, при условии, что ваша регистрация имеет достаточную видимость (бесплатный ключ API довольно ограничен).

Одним из решений может быть импорт всех CSV вместе в рамках общего торгового календаря. Это звучит искусственно, но влияние на оценку недневной стратегии должно быть незначительным.

Поэтому, если, например, у вас есть три набора CSV для AS, DE и MI, просто импортируйте их как общий yahoo для одного из трех календарей. Подробная процедура описана здесь.

Спасибо,

person reim    schedule 02.08.2019