Zipline: momentum pipeline example - TypeError: a float is required

Zipline: momentum pipeline example - TypeError: a float is required

我一直在尝试 运行 Zipline 上的示例 momentum_pipeline.py。只是 运行ning 不正确,我在终端上调用以下内容:

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。该行应该 return 一个熊猫数据帧。您可以在 github 上查看文件:https://github.com/quantopian/zipline/blob/master/zipline/examples/momentum_pipeline.py

如何运行这个例子成功?

我认为我使用的日期范围太长(从 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,
}