問題タブ [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.
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 ノートブックまたは要旨を添付してほしいかどうか教えてください。それが役立つとは思えませんが、要求があれば絶対にできます。)
python - Python: KeyError 'シフト'
私はPythonが初めてで、ここで見つけたペア取引スクリプトを変更しようとしています: https://github.com/quantopian/zipline/blob/master/zipline/examples/pairtrade.py
元のスクリプトは、価格のみを使用するように設計されています。モデルと投資数量の価格に合わせて返品を使用したいのですが、その方法がわかりません。
私が試してみました:
- メインでリターンのデータフレームを定義し、それを実行で呼び出す
- メインの戻り値のデータ フレームをグローバル オブジェクトとして定義し、「ハンドル データ」の必要な場所で使用する
- ハンドル データで直接 return のデータ フレームを定義する
最後のオプションが最も適切であると想定していますが、パンダの「シフト」属性にエラーがあります。
より具体的には、「DataRegression」を次のように定義しようとしています。
ここで、「データ」は、グローバルに定義された価格、在庫 1、在庫 2、在庫 3 の列名を含むデータ フレームです。ハンドル データのこれらの行は、エラーを返します。
それを正しく行う理由と方法を誰かが知っていますか?
どうもありがとう、ヴィンセント
python - pandas MultiIndex DataFrame を行単位から列単位に変換する
私はジップラインとパンダで作業しており、メソッドを使用してapandas.Panel
を a に変換しました。これは、ご覧のとおりマルチインデックス化された結果です。pandas.DataFrame
to_frame()
pandas.DataFrame
このフレームを次のように変換する必要があります。
ピボット メソッド、スタック/アンスタックなどを試しましたが、これらのメソッドは探しているものではありません。私はこの時点で本当に行き詰まっており、どんな助けも大歓迎です。
python - pip インストールでエラーが発生する: vcvarsall.bat が見つかりません
Windows 8 で Python 2.7 を使用pip install zipline
すると、次のエラーが表示されます。
質問:エラーはどのように解決できますか? 実行pip install zipline[all]
しても同じエラーが発生します...
python - @記号はiPython / Pythonで何をしますか
私が読んでいるコードは@batch_transform
. シンボルは何をし@
ますか?それはipython固有ですか?
pandas - Zipline データ msgpacks は source -algo 取引で配布されません
GOOG で取引アルゴリズムをテストするために簡単なジップライン チュートリアルを実行しようとしていますが、動作しません。これが問題です:
以下を返します。
私は自分の開発用のライブラリ (pandas、scikit-learn、numpy、seaborn、mcerp などに加えて、多くの依存関係を持つ自分のライブラリ) の使用に「重い」ので、それが何か関係があるかどうかはわかりませんそれ。
それに加えて、Ubuntu (Virtual Box) VM 内で Enthought の Python 2.7 ですべてを実行しています。
この問題を解決する方法はありますか?
乾杯
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 でいくつかのテストがあるのを見てきましたが、これは日次レベルでのみデータを処理するようです。私は修正する必要があります:
- 開園・閉園時間
- ベンチマークの参考データ
- そしておそらくもっと...
python - Pandas 列 A > B、Zipline で取引を実行
Zipline で得た金融アイデアをバックテストしようとすると問題が発生します。
私が得たのは、最初の列のデータ ['SPY'] の SPY の終値と、「自作」のシグナル データ ['Signal'] です。信号は移動平均と同様に機能し、data['SPY'] の下または上にあります。
現在、トレーディング ロジックは機能していません。正しく理解すれば、pandas は行ごとに計算を行うのではなく、データセット全体を一度に計算するからです。
上記の動作しないコードは、実行したいロジックを表しています。SPY > シグナルの場合は買い、反対の場合は売りです。あらゆる種類の繰り返しを試しましたが、うまくいきません。
苦労しているアマチュアトレーダーとして助けてくれる人はいますか?
#なんとかあと一歩のところまでたどり着きました。私がする必要があったのは、データフレーム (この場合は移動平均) に「変換」を追加することでした。実際には移動平均を使用したくないので、日数を 1 に設定します。これは、事実上、元の数値を使用することを意味するはずです。
上記のコードは、私が望むようにほぼ正確に機能します。唯一の癖は、何らかの理由でショート ポジションを取らないことです。しかし、それは少なくとも正しい方向への一歩であり、他の人を助けるかもしれません.
以下の 2 つのリンクは、このビットを理解するのに役立ちました。
http://zipline.readthedocs.org/en/latest/zipline.transforms.html
python - ジップライン - csv ファイル
Zipline 内で使用する独自の csv データファイル (元々は Yahoo ファイナンスから) を使用する方法を理解しようとしています。csv ファイルを pandas データフレームにロードする必要があることはわかっています。しかし、Zipline が Yahoo からデータをダウンロードするのを止めることはできないようです。
私のcsvファイル形式:
私のアルゴファイル:
pickle ファイルを作成するコマンドライン:
コマンドライン出力:
私のピクルファイルは正しく作成されています。しかし、コマンド ラインの出力が yahoo ファイナンスについて話しているため、csv の代わりにまだ yahoo を使用しているようです。「csvをデータフレームにロードする」以外に、これを行う方法に関するZiplineのドキュメントはないようです。ほかに何か?
どうもありがとう。