#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,
)