IPython magic для Zipline не может найти пакет данных

#python #python-2.7 #ipython #zipline

#python #python-2.7 #ipython #zipline

Вопрос:

У меня есть скрипт на Python 2.7, который отлично запускает Zipline в командной строке, используя --bundle=myBundle для загрузки пользовательского пакета данных myBundle , который я зарегистрировал extension.py .

 zipline run -f myAlgo.py --bundle=myBundle --start 2016-6-1 --end 2016-7-1 --data-frequency=minute
 

Проблема: Однако, когда я пытаюсь использовать %zipline магию IPython для запуска алгоритма, аргумент bundle --bundle , похоже, трудно найти myBundle .

 %zipline --bundle=myBundle--start 2016-6-1 --end 2016-7-1 --data-frequency=minute
 

Запуск этого приведет к ошибке

 UnknownBundle: No bundle registered with the name u'myBundle'
 

Нужно ли регистрировать пакет по-другому при использовании IPython notebook?

Ответ №1:

Это известная (теперь закрытая) ошибка в zipline, см. Также https://github.com/quantopian/zipline/issues/1542 .

В качестве обходного пути вы можете загрузить следующее в ячейку перед волшебством zipline:

 import os

from zipline.utils.run_algo import load_extensions

load_extensions(
    default=True,
    extensions=[],
    strict=True,
    environ=os.environ,
)