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')

float に関連する TypeError を参照する理由がわかりません。その行は panda dataFrame を返す必要があります。ここの 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 に答える