backtrader
1.0.0
Yahoo API注:
[2018-11-16]いくつかのテストの後、データのダウンロードは再びWebインターフェイス(またはAPI v7 )に依存できると思われます。チケット
チケットシステムは、サンプルに関するアドバイスを求めるために虐待されないことが多い(実際、実際に)。
フィードバック/質問/...コミュニティを使用します
ここでは、単純な移動平均クロスオーバーのスニペット。いくつかの異なる方法で行うことができます。ドキュメント(および例)ルークを使用してください!
DateTime Import DateTimeから
BTとしてバックトレーダーをインポートします
クラスSmacross(Bt.SignalsTrategy):
def __init __(self):
SMA1、SMA2 = BT.IND.SMA(期間= 10)、bt.ind.sma(期間= 30)
クロスオーバー= bt.ind.Crossover(SMA1、SMA2)
self.signal_add(bt.signal_long、クロスオーバー)
cerebro = bt.cerebro()
cerebro.adddtrategy(smacross)
data0 = bt.feeds.yahoofinancedata(dataname = 'msft'、fromdate = datetime(2011、1、1)、
Todate = DateTime(2012、12、31))
cerebro.adddata(data0)
cerebro.run()
cerebro.plot()
完全な特集チャートを含む。試してみてください!これは、 sigsmacross/sigsmacross2.pyとしてサンプルに含まれています。それに沿って、コマンドラインからパラメーター化できるsigsmacross.pyがあります。
Pythonで書かれたライブトレーディングおよびバックテストプラットフォーム。
- ライブデータフィードと取引
- インタラクティブなブローカー(インストールされた
pytzからIbPyと利益が必要です)- ビジュアルチャート(プルリクエストがリリースに統合され、
pytzからのメリットが統合されるまで、comtypesのフォークが必要です)- oanda (
oandapyが必要)(REST APIのみ-V20が実装時にストリーミングをサポートしませんでした)- CSV/ファイル、オンラインソース、またはパンダと炎からのデータフィード
- 毎日のバーを塊に壊して日中をシミュレートしたり、レンコブリックを使用したりするなど、データのフィルター
- 複数のデータフィードと複数の戦略がサポートされています
- 一度に複数の時間枠
- 統合された再サンプリングとリプレイ
- ステップバイステップバックテストまたは一度に(戦略の評価を除く)
- インジケーターの統合バッテリー
- TA-LIBインジケーターサポート(Python Ta-Lib / Docsを確認する必要があります)
- カスタムインジケーターの簡単な開発
- アナライザー(例:Timereturn、Sharpe Ratio、SQN)および
pyfolio統合(非推奨)- 手数料スキームの柔軟な定義
- 統合ブローカーシミュレーション、クローズ、リミット、ストップ、ストップリミット、ストップトレイル、 stoptraillimit *および *ocoの注文、ブラケット注文、スリッページ、ボリューム充填戦略、および将来のような機器の継続的な現金調整
- 自動化されたステーキングのサイザー
- Cheat-on-CloseおよびCheat-on-Openモード
- スケジューラ
- 取引カレンダー
- プロット(matplotlibが必要)
ブログ:
- ブログ
ドキュメント全体を読む:
- ドキュメント
組み込みインジケーターのリスト(122)
- インジケータリファレンス
- Python> =
3.2- また、
pypyとpypy3で動作します(プロットなしmatplotlibはPypyではサポートされていません)
backtraderは、外部の依存関係なしで自己完結型です(プロットしたい場合を除く)
Pypiから:
pip install backtrader
pip install backtrader[plotting]
matplotlibがインストールされておらず、いくつかのプロットをしたい場合
注記
最小Matplotlibバージョンは1.4.1です
IBデータフィード/取引の例:
IbPyPypiにないようです。どちらかを行う:PIPインストールgit+https://github.com/blampe/ibpy.gitまたは(システムで
gitが利用できない場合):PIPインストールhttps://github.com/blampe/ibpy/archive/master.zip
Visual Chart 、 Oanda 、 TA-Libなどのその他の機能については、ドキュメントの依存関係を確認してください。
ソースから:
- プロジェクト内のソースにあるバックトレーダーディレクトリを配置します
Xyzi
- X:メジャーバージョン番号。
numpy使用するためにオーバーホールのように大きいものが変更されない限り、安定している必要があります- Y:マイナーバージョン番号。完全な新機能を追加すると、(神は禁止されています)互換性のないAPIの変更を変更します。
- Z:リビジョンバージョン番号。ドキュメントの更新、小さな変更、小さなバグ修正のために変更される
- I:プラットフォームにすでに組み込まれている指標の数