【发布时间】:2019-09-29 09:59:32
【问题描述】:
当我尝试将数据摄取到 zipline 包中时,因为我无法获得一分钟的数据,而只有 5 分钟的 klines 数据。看起来标准的 zipline 不支持它? 引用自http://www.zipline.io/bundles.html
摄取(环境, 资产数据库作家, minute_bar_writer, 每日酒吧作家, 调整作家, 日历, 开始会话, 结束会话, 缓存, 显示进度, 输出目录)
minute_bar_writer minute_bar_writer 是 BcolzMinuteBarWriter 的一个实例。该编写器用于将数据转换为 zipline 的内部 bcolz 格式,以便稍后由 BcolzMinuteBarReader 读取。如果提供了分钟数据,用户应该使用 (sid, dataframe) 元组的可迭代调用 write()。 show_progress 参数也应该转发给这个方法。如果数据源不提供分钟级数据,则无需调用write方法。将一个空的迭代器传递给 write() 以表示没有分钟数据也是可以接受的。
无论如何,我使用此界面将 5 分钟 klines 摄取到 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。 Reader= for type= 使用的 calendar= 与所需的共享日历不匹配=
如何解决这个问题?例如让 BcolzMinuteBarReader 支持 5 分钟数据。我可以处理 zipline handle_data 函数中的 5 分钟数据。 谢谢!
【问题讨论】:
-
你有没有想过这个问题的答案?