1

我一直在尝试在 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')

不知道为什么它指的是与浮点数相关的 TypeError。该行应该返回一个熊猫数据框。您可以在此处查看 github 上的文件:https ://github.com/quantopian/zipline/blob/master/zipline/examples/momentum_pipeline.py

如何成功运行此示例?

4

1 回答 1

1

我认为我使用的日期范围太长(从 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,
}
于 2016-09-01T07:13:31.353 回答