как принимать неминутные данные в zipline - PullRequest
1 голос
/ 29 сентября 2019

, когда я пытаюсь ввести данные в пакеты zipline, так как я не могу получить данные за одну минуту, и у меня есть только данные за 5 минут по klines.Похоже, стандартная zipline не поддерживает это?цитируется из http://www.zipline.io/bundles.html

ingest (окружение, asset_db_writer, minute_bar_writer, daily_bar_writer, Adjusting_writer, календарь, start_session, end_session, кэш, show_progress, output_dir)

minute_bar_writer minute_bar_writer является экземпляром языка BB.Этот модуль записи используется для преобразования данных во внутренний формат bcolz zipline для последующего чтения BcolzMinuteBarReader.Если предоставляются минутные данные, пользователи должны вызывать write () с повторяющимися кортежами (sid, dataframe).Аргумент show_progress также должен быть передан этому методу.Если источник данных не предоставляет данные минутного уровня, нет необходимости вызывать метод записи.Также допустимо передавать пустой итератор для write (), чтобы сигнализировать об отсутствии мелких данных.

В любом случае, я использую этот интерфейс для ввода 5-минутного клина в zipline.но когда я вызываю run_algorithm, независимо от того, что я введу data_frequency, он выдает ошибки.

data = run_algorithm(start=start,
                     end=end,
                     initialize=initialize,
                     capital_base=100000,
                     handle_data=handle_data,
                     bundle="poloniex_csv",
                     data_frequency='60min',
                     trading_calendar=PoloniexExchangeCalendar())

AssertionError: Все читатели должны совместно использовать целевой trading_calendar.Читатель = для типа = использует календарь =, который не соответствует необходимому общему календарю =

Как решить эту проблему?например, пусть BcolzMinuteBarReader поддерживает данные за 5 минут.Я в порядке с сделкой 5 минут данных в функциях handle_data zipline.Спасибо!

...