我一直在尝试在Zipline上运行名为momentum_pipeline.py
的示例。它运行不正常,我在终端上调用以下内容:
python -m zipline run -f momentum_pipeline.py --start 2000-1-1 --end 2014-1-1 --output pipeline.pickle
终端上的输出是错误TypeError: a float is required.
这是屏幕截图中的错误日志:
错误似乎与文件中的这一行有关:
File "momentum_pipeline.py", line 68, in before_trading_start
context.pipeline_data = pipeline_output('my_pipeline')
不确定为什么它引用与float相关的TypeError。那一行应该返回一个熊猫dataFrame。您可以在此处查看github上的文件:https://github.com/quantopian/zipline/blob/master/zipline/examples/momentum_pipeline.py
如何成功运行此示例?
答案 0 :(得分:0)
我认为我使用的日期范围太长(从2000年到2014年),因此有些数据不可用。我认为Quantopian只有2002年的股票市场数据。如果将日期范围更改为test_args上的日期范围,则该示例将起作用:
return {
# We run through october of 2013 because DELL is in the test data and
# it went private on 2013-10-29.
'start': pd.Timestamp('2013-10-07', tz='utc'),
'end': pd.Timestamp('2013-11-30', tz='utc'),
'capital_base': 100000,
}