バックテストや紙/ライブ取引を1か所で行うことができる統合フレームワークはありますか?

私は、完全に自動化されたアルゴリズム取引システムの作業を始めようとしています。私は、使用するフレームワークに少し苦労しています。

私が心に持っている必要条件は次のとおりです。

  1. バックテストをサポートする必要があります。
  2. インタラクティブブローカーとの間で、コードをAPIに書き直すことなく、紙/ライブ取引を行うことができる必要があります。
  3. 株式、オプション、将来、外国為替などのほとんどのセキュリティタイプをサポートする必要があります。

1と2については量子論があることを知っています。 2と3の場合、私はpyalgotradeのようなフレームワークがあることを知っています。しかし、私は3つすべてをサポートするものは見つかりません。

1つの解決策がある場合は、いくつかの推奨事項を教えてください。そういったことがなければ、最低限の努力でこれらの問題をどのように扱うのか教えていただけますか?

どうもありがとう!

10
このプラットフォームが無料であることを暗黙のうちに黙って聞いていますか? DeltixでFIX経由で接続することで、あなたが望むものを達成できると確信しています。
追加された 著者 experquisite,
あなたはQuantConnectも見たいと思うかもしれませんが、私は彼らがどこにいるのか分からず、将来のオプションをサポートしています。
追加された 著者 experquisite,

2 答え

Edit (2016-06-21): Now with live data/trading integration with Interactive Brokers. It has taken a while but it has finally arrived.


backtrader (https://github.com/mementum/backtrader) can do 1 and 3 and is in the process of getting 2 ironed out. A live data feed from IB will make it into the next release (due in the next few days) and it will then be down to mapping of orders.

プロジェクトページでは、他の類似した(より多くの、多少少ない)Pythonプロジェクトのリストを見ることができ、あなたのお茶のほうに近いと判明するかもしれません。

Disclaimer: I am the author of backtrader

塗りつぶし:トーマス・ジョンソンのような簡単な説明は、前提を作る必要性にぴったりです。

  • Volume is not used. I only trade in markets and assets which are liquid enough

  • Pricewise ... it depends on the order type with the following assumption in place: the bar which the system is evaluating is gone ... no match can be done against it

    • Market: The order gets filled with the opening price of the next bar
    • Close: meant for intraday systems and gets matched with the last bar of the session at the close price
    • Limit: starting with next bar the system looks at the open/high/low/close prices to try to give a "better" price (example: open is better than the limit, open is chosen) or limit
    • StopLimit: similar to limit, but looking again at the 4 prices components to see if the stop trigger price and limit prices can be executed in the same bar.
3
追加された

すべてのバックテストは거짓仮定でいっぱいであることを忘れないでください。レイテンシ(エクスチェンジ内部の回線待ち時間と待ち時間の両方)、逆選択、市場への影響(はい、市場への影響があっても)などはすべて前提に基づいています。これらの仮定は最高の教育的な推測ですが、より頻繁に恐ろしいモデルが使用されます(あなたはいつも真ん中で満たされます)、彼らは完全にあなたから隠されています。

最良の選択肢は、実行プラットフォームを選択し、既存のバックテスティングフレームワークを調整してライブ取引で観察される動作に合わせることです(必要に応じてバックテストフレームワークを最初から構築する)。 APIの互換性について心配している場合は、ファサードまたはアダプタを使用して、バックテストと実行APIを同じように見せます。

3
追加された
自分自身を少し苦労した後、私はこれが最良のアプローチだと思います。入力を提供してくれてありがとう!
追加された 著者 Pat,