我写了自己的zipline包来从我的交易所中提取加密货币价格。摄取运行顺利,我检查了数据库,并在其中查看了我的分钟数据。
我尝试运行一个非常简单的算法来验证我的捆绑包,但是我遇到了异常。
我的算法如下所示:
def initialize(context):
# I tried to run it without this line as well
context.sim_params._emission_rate = 'minute'
def handle_data(context, data):
order(symbol('ETHBTC'), 10)
record(ETHBTC=data.current(symbol('ETHBTC'), 'price'))
最后一行给出了以下异常:
File "python3.5/site-packages/zipline/data/us_equity_pricing.py", line 710, in sid_day_index
offset = day_loc - self._calendar_offsets[sid]
KeyError: Equity(0 [ETHBTC])
我进一步研究了这一点,发现zipline使用每日条形码阅读器获得符号“ETHBTC”的日历偏移量。但是我的日常酒吧数据是空的,因为我只是在摄取细微的数据。
根据zipline文档,我并不强制要求每日条形数据的摄取,我认为如果需要,zipline会将分钟数据重新采样为每日数据。
以前有没有人经历过这个?有什么我必须做的事情开始重新采样分钟到每日的酒吧数据吗?
干杯!