問題タブ [zipline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1458 参照

python - Zipline で使用するための postgres から pandas データフレームへの財務データの変換

私は Pandas と Zipline が初めてで、それらの使用方法を学ぼうとしています (そして、私が持っているこのデータでそれらを使用します)。完全な解決策でなくても、あらゆる種類のヒントをいただければ幸いです。私は多くのことを試し、かなり近づいてきましたがException: Reindexing only valid with uniquely valued Index objects、特にインデックス作成の問題に遭遇しました。[パンダ 0.10.0、Python 2.7]

Postgres の何千もの株式の月次収益データを次の形式に変換しようとしています。

例えば

注: レポートの頻度は毎月ですが、ここにある 6000 を超える企業のすべてが同時に存在するわけではないため、かなりの NaN データがここにあるでしょう。

…以下に説明するフォームに変換します。これは、Zipline がバックテスターを実行するために必要なものです。(私は思います。Zipline のバックテスターは、このような月次データを簡単に処理できますか?できることはわかっていますが、これを行うためのヒントはありますか?)


以下は、私が必要とする形式の DataFrame (時系列の? これはなんと言いますか?) です。

> data:

以下は時系列であり、必要な形式になっています。

> data.AAPL:

ここには返品データはありませんが、代わりに価格があることに注意してください。それらは (Zipline によってload_from_yahoo— しかし、実際には pandas の関数によって、ソースを読むことから) 配当、分割などのために調整されているので、それと私の戻りデータの間に同型 (初期価格を差し引いたもの) があります (したがって、ここでは問題ありません)。 )。

(編集: 私が持っているものを書いてほしいか、iPython ノートブックまたは要旨を添付してほしいかどうか教えてください。それが役立つとは思えませんが、要求があれば絶対にできます。)

0 投票する
1 に答える
948 参照

python - Python: KeyError 'シフト'

私はPythonが初めてで、ここで見つけたペア取引スクリプトを変更しようとしています: https://github.com/quantopian/zipline/blob/master/zipline/examples/pairtrade.py

元のスクリプトは、価格のみを使用するように設計されています。モデルと投資数量の価格に合わせて返品を使用したいのですが、その方法がわかりません。

私が試してみました:

  • メインでリターンのデータフレームを定義し、それを実行で呼び出す
  • メインの戻り値のデータ フレームをグローバル オブジェクトとして定義し、「ハンドル データ」の必要な場所で使用する
  • ハンドル データで直接 return のデータ フレームを定義する

最後のオプションが最も適切であると想定していますが、パンダの「シフト」属性にエラーがあります。

より具体的には、「DataRegression」を次のように定義しようとしています。

ここで、「データ」は、グローバルに定義された価格、在庫 1、在庫 2、在庫 3 の列名を含むデータ フレームです。ハンドル データのこれらの行は、エラーを返します。

それを正しく行う理由と方法を誰かが知っていますか?

どうもありがとう、ヴィンセント

0 投票する
1 に答える
6636 参照

python - pandas MultiIndex DataFrame を行単位から列単位に変換する

私はジップラインとパンダで作業しており、メソッドを使用してapandas.Panelを a に変換しました。これは、ご覧のとおりマルチインデックス化された結果です。pandas.DataFrameto_frame()pandas.DataFrame

このフレームを次のように変換する必要があります。

ピボット メソッド、スタック/アンスタックなどを試しましたが、これらのメソッドは探しているものではありません。私はこの時点で本当に行き詰まっており、どんな助けも大歓迎です。

0 投票する
10 に答える
144330 参照

python - pip インストールでエラーが発生する: vcvarsall.bat が見つかりません

Windows 8 で Python 2.7 を使用pip install ziplineすると、次のエラーが表示されます。

質問:エラーはどのように解決できますか? 実行pip install zipline[all]しても同じエラーが発生します...

0 投票する
3 に答える
1224 参照

python - @記号はiPython / Pythonで何をしますか

私が読んでいるコードは@batch_transform. シンボルは何をし@ますか?それはipython固有ですか?

0 投票する
2 に答える
377 参照

pandas - Zipline データ msgpacks は source -algo 取引で配布されません

GOOG で取引アルゴリズムをテストするために簡単なジップライン チュートリアルを実行しようとしていますが、動作しません。これが問題です:

以下を返します。

私は自分の開発用のライブラリ (pandas、scikit-learn、numpy、seaborn、mcerp などに加えて、多くの依存関係を持つ自分のライブラリ) の使用に「重い」ので、それが何か関係があるかどうかはわかりませんそれ。

それに加えて、Ubuntu (Virtual Box) VM 内で Enthought の Python 2.7 ですべてを実行しています。

この問題を解決する方法はありますか?

乾杯

0 投票する
2 に答える
3804 参照

hft - 米国以外(ヨーロッパ)の日中データを使用したジップライン バックテスト

pandas DataFrame にロードした、米国以外の日中のデータを使用してジップラインを動作させようとしています。

ここの移動平均チュートリアルに従い、「AAPL」を独自のシンボルコードに置き換え、履歴呼び出しを「1d」ではなく「1m」データに置き換えました。

algo_obj.run(DataFrameSource(mydf))次に、を使用して最終呼び出しをmydf行います。 は上記のデータフレームです。

ただし、 TradingEnvironmentに関連して発生するあらゆる種類の問題があります。ソースコードによると:

ただし、コンテキストを使用しても完全には機能しないようです。たとえば、タイムスタンプが市場が開く前であると述べているなど、まだエラーが発生します (実際、trading.environment.open_and_close時間を見るのは米国市場のものです。

私の質問は、米国以外の日中データでジップラインを使用できた人はいますか? リソースと理想的にはこれを行う方法のサンプルコードを教えていただけますか?

nb取引カレンダー (tradincalendar_lse.py、tradingcalendar_tse.py など) に関連していると思われる github でいくつかのテストがあるのを見てきましたが、これは日次レベルでのみデータを処理するようです。私は修正する必要があります:

  • 開園・閉園時間
  • ベンチマークの参考データ
  • そしておそらくもっと...
0 投票する
0 に答える
345 参照

python - Pandas 列 A > B、Zipline で取引を実行

Zipline で得た金融アイデアをバックテストしようとすると問題が発生します。

私が得たのは、最初の列のデータ ['SPY'] の SPY の終値と、「自作」のシグナル データ ['Signal'] です。信号は移動平均と同様に機能し、data['SPY'] の下または上にあります。

現在、トレーディング ロジックは機能していません。正しく理解すれば、pandas は行ごとに計算を行うのではなく、データセット全体を一度に計算するからです。

上記の動作しないコードは、実行したいロジックを表しています。SPY > シグナルの場合は買い、反対の場合は売りです。あらゆる種類の繰り返しを試しましたが、うまくいきません。

苦労しているアマチュアトレーダーとして助けてくれる人はいますか?

#

なんとかあと一歩のところまでたどり着きました。私がする必要があったのは、データフレーム (この場合は移動平均) に「変換」を追加することでした。実際には移動平均を使用したくないので、日数を 1 に設定します。これは、事実上、元の数値を使用することを意味するはずです。

上記のコードは、私が望むようにほぼ正確に機能します。唯一の癖は、何らかの理由でショート ポジションを取らないことです。しかし、それは少なくとも正しい方向への一歩であり、他の人を助けるかもしれません.

以下の 2 つのリンクは、このビットを理解するのに役立ちました。

http://zipline.readthedocs.org/en/latest/zipline.transforms.html

http://nbviewer.ipython.org/github/twiecki/financial-analysis-python-tutorial/blob/master/3.%20Backtesting%20using%20Zipline.ipynb

0 投票する
1 に答える
3600 参照

python - ジップライン - csv ファイル

Zipline 内で使用する独自の csv データファイル (元々は Yahoo ファイナンスから) を使用する方法を理解しようとしています。csv ファイルを pandas データフレームにロードする必要があることはわかっています。しかし、Zipline が Yahoo からデータをダウンロードするのを止めることはできないようです。

私のcsvファイル形式:

私のアルゴファイル:

pickle ファイルを作成するコマンドライン:

コマンドライン出力:

私のピクルファイルは正しく作成されています。しかし、コマンド ラインの出力が yahoo ファイナンスについて話しているため、csv の代わりにまだ yahoo を使用しているようです。「csvをデータフレームにロードする」以外に、これを行う方法に関するZiplineのドキュメントはないようです。ほかに何か?

どうもありがとう。