WonderTrader
、市場全体のあらゆる種類の取引に適したC++
コア モジュールをベースとした、高効率かつ可用性の高い定量取引開発フレームワークです。
WonderTrader
、高速C++
コア フレームワークと効率的で使いやすいアプリケーション レイヤー フレームワーク (wtpy) を利用し、研究開発、取引、運用、スケジューリングに至るまで完全に自動化されたワンストップの定量的研究開発取引シナリオの作成に取り組んでいます。 。
WonderTrader
超低遅延取引のニーズを満たすために0.9
で新しいUFT エンジンを導入しました。一連の最適化を経て、システムの遅延は175 ナノ秒以内になりました。
WonderTrader
の実際の取引アーキテクチャ
WonderTrader
の利点豊富な取引エンジン
- CTA エンジン は、同期戦略エンジンとも呼ばれ、一般に、ターゲットが少なく、計算ロジックが高速で、イベント + 時間駆動の戦略に適しています。一般的なアプリケーション シナリオには、単一入札タイミング、中間周波数未満の裁定取引などが含まれます。デモで提供されている DualThrust 戦略の場合、1 回の再計算にかかる平均時間は、Python 実装バージョンでは約 70 マイクロ秒、C++ 実装バージョンでは約 4.5 マイクロ秒です。
- SEL エンジン は、非同期戦略エンジンとも呼ばれ、一般に、多くのターゲットがあり、ロジックの計算に長い時間がかかる時間駆動の戦略に適しています。典型的なアプリケーション シナリオには、多要素銘柄選択戦略、クロスセクション ロング/ショート戦略などが含まれます。
- HFT エンジンは、高周波戦略エンジンとも呼ばれ、主に高周波または低遅延戦略を目的としています。イベント駆動型で、システム遅延は 1 ~ 2 マイクロ秒です。
- UFT エンジンは超高速戦略エンジンとも呼ばれ、主に超高周波または超低レイテンシのイベント駆動戦略を目的としており、システム遅延は 200 ナノ秒以内です。
完全な開発インターフェイス
- 効率的で使いやすいデータ インターフェイス: 各戦略には独立したコンテキスト モジュールがあり、コンテキストは戦略に必要なデータを自動的にキャッシュし、戦略を直接呼び出すことができます。
- シンプルな信号インターフェイス: 戦略はターゲット位置を設定するだけで、バックグラウンドで自動的に実行されます。
- コンテキストフリー ポリシー ロジック: ポリシー自体はデータを記録する必要がなく、毎回インターフェイスにクエリを実行するだけで済み、すべてのデータがメモリにキャッシュされ、アクセス効率が保証されます。
プロフェッショナルな戦略的マネジメント
- 戦略組み合わせの統合管理: 戦略組み合わせアプローチは、主に専門組織の製品管理と調整するために使用されます。コンビネーションプレートは、複数の戦略の複数のターゲットに対応し、基本単位の資金額を設定します。これは、拡張に便利な商品管理の基本的なコンビネーションプレートです。
- 対象ポジションの統合実行:対象ポジションの統合後、自己取引のリスクを回避し、証拠金占有と手数料費用を削減します。
- 理論上のポジションの独立した保存: ストラテジーの理論上のポジションは独立して保存され、組み合わせたディスクの全体的なパフォーマンスも独立して計算されるため、内部での管理が容易になります。
- 複数の口座の同時実行: 組み合わせの目標ポジションが決定された後、複数の取引チャネルを通じて同時に実行され、異なる口座のパフォーマンスの一貫性を効果的に確保できます。
完全なタイプのバックテストのサポート
- 完全な言語サポート:
C++
で開発された戦略、wtpy
で開発されたpython
戦略、または他の言語サブフレームワークで開発された戦略のいずれであっても、すべてが統合されたバックテスト エンジンでバックテストされます。- 高いバックテスト効率: バックテストエンジンは
C++
で開発されており、バックテスト効率が高く、高速です。C++
戦略であってもPython
戦略であっても、すぐに検証できます。- 完全な戦略サポート: CTA 戦略、 SEL 戦略に加えて、 HFT 戦略、 UFT 戦略、および実行ユニットのバックテストも可能です。
効率的なデータサーボ
- ローカルデータサーバー:
WonderTrader
の内蔵ストレージエンジンはローカルストレージを使用し、ローカルにデータサーバーを確立し、udp
ポートを介してリアルタイム市場データをブロードキャストして、1+N
サービス構造を実現し、複数の組み合わせに未差別のデータサービスを提供できます。同時にディスクも。プロフェッショナル データ プロバイダー レベルのアーキテクチャは、さまざまな需要シナリオに簡単に対応できるマルチレベル配信システムの確立をサポートします。- 履歴データのキャッシュ: トランザクション処理中に、すべての履歴データがメモリにキャッシュされると同時に、メモリ データ スライスを直接参照するメカニズムが採用され、データのコピーが根本的に回避され、アクセス効率が向上します。
- 効率的なストレージ エンジン: リアルタイム データには
mmap
ファイルが使用され、データを失うことなく高速で読み書きできます。同時に、履歴データを保存するための mysql データベースもサポートされており、これに基づいて独自の投資調査データベースを構築するのがより便利になります。
柔軟なリスク管理
- コンビネーションディスクのファンドリスク管理:コンビネーションディスクにはあらかじめ設定されたファンド規模があり、コンビネーションディスクの仮想ファンドに基づいてコンビネーションディスクのファンドリスク管理を実行できます。最大の利点は、組み合わせが下降段階にある場合、リスクコントロール発動後、たとえ資本収支がリスクコントロールラインに達していなくても、下落し続けないことである。
- チャネルトラフィックリスク管理:主にコンプライアンスリスクを対象とし、キャンセル注文総数、短期間の注文数、キャンセル注文数などの指標を管理。
- 口座資金リスク管理:一般的な意味での資金リスク管理と一致しており、主に口座資金の引き出しなどを管理します。
- 緊急手動介入: 緊急手動介入のための入り口を提供し、構成ファイルをアップロードすることで制御目的を達成します。主に単一の製品のリスクに適しており、市場全体にリスクがある場合にシステムを手動で停止できます。
- クラッチメカニズム: クラッチメカニズムは、信号と実行の分離メカニズムに依存しており、戦略または組み合わせにリスクがある場合に、クラッチメカニズムを介して信号の実行を直接切断するために主に使用されます。利点は、戦略のロジックには影響せず、シグナルの実行を切断するだけであるため、特定の市場段階での戦略のパフォーマンスを継続的に観察し、理論的調査で確認できることです。
強力なコンソール(wtpy監視サービス)
- コンビネーションディスク動作監視:リアルタイムの動作ログ、戦略理論データ、取引チャネルデータ等を閲覧でき、手動での開始と停止の入り口を提供します。
- 自動スケジュール サービス: スケジュールされたタスク (開始、停止、再開) を完全に自動的にスケジュールし、週単位でのタスクの繰り返しの設定をサポートし、プロセスのガーディアンシップをサポートします。
- リアルタイムイベント通知: 監視サービスは、組み合わせディスクによってプッシュされたイベントを受信し、監視端末に転送してユーザーに通知します。
- バックテスト ビューア: WtBtSnooper モジュールを使用して、バックテスト データを表示および分析できます。
- 全自動リモート展開(準備中) :全自動のオンラインリモート展開で、バックテスト環境や実ディスク環境など、さまざまなアプリケーションシナリオに自動展開サービスを提供します。
チームの内部統制戦略的ポートフォリオ管理手法は、社内チーム管理に最適なソリューションを提供します。
C++
レベルのコードはポリシーの機密性を最大限に高めることができるため、投資研究者はポリシーの漏洩を心配する必要がありません。マルチアカウント取引(マルチ商品構成) 異なる市場サイクルの下での戦略の組み合わせについては、平均的なチームはその時点で最も適した戦略の組み合わせを持っています。ただし、同じ期間中、チームは同時に多くのアカウントを管理する可能性がありますが、実際には、これらのアカウントで使用される戦略の組み合わせは同じです。現時点では、 WonderTrader
プラットフォームが提供するM+1+N 実行アーキテクチャは、この要求を完全に満たすことができます。
特定の組み合わせ P の基本資本サイズが 500 万、期待収益率が 30%、最大ドローダウンが 10%、収益対リスクの比率が 3:1 であるとします。アカウント A はこの組み合わせ P を使用して取引します。アカウント A の資金量は 1,000 万で、最大許容額は です。リトレースメントも 10% です。アカウント B もこの組み合わせを使用して P を取引し、資金量も 1,000 万ですが、可能です。現時点で受け入れられる最大リトレースメントは 20% です。アカウント A のリスクパラメータは基本市場と一致しているため、アカウント A のロットサイズ倍率は基本市場の資本サイズ / 資金サイズ = 1000w/500w = 2 となります。最大ドローダウンは 20% であるため、ロット サイズ比率を 2 倍にする必要があります。つまり、アカウント B は 4 回割り当てることができます。
複数のターゲットの追跡インタープリター言語 ( Python
など) を使用してコア モジュールを開発する一部の定量取引プラットフォームは、ターゲットが少数である場合でもさまざまなアプリケーション シナリオに対応できます。しかし、追跡する必要があるターゲットの数が 100 を超え、さらには 50 を超えると、需要を満たすことができなくなります。一方で、 multiprocess
やその他のメカニズムを使用すると、各ターゲットは独立して実行されますが、数百のターゲットに対して数百の新しいプロセスが作成され、大量のメモリと CPU が消費されます。 、戦略が非効率的であり、特定の状況下では、戦略的な対応も遅くなります。 WonderTrader
のコアはC++
で開発されており、データ サーボは複数の組み合わせに同時にサービスを提供できるように最初から設計されています。同時に、戦略と実行は分離されており、信号の実行と戦略の計算は完全に独立して実行されます。 2 つの異なるスレッド。このようなアーキテクチャの下では、複数規格の追跡のニーズに十分に応えることができます。
計算集約型の戦略一部の戦略に必要な計算量は膨大です。典型的なのは、複数のファクターを使用するかファンダメンタルズを使用するかにかかわらず、最終的なターゲット株式プールを取得するために数千の銘柄を段階的に選別する戦略です。さらに、一部のマルチスタンダードのマルチファクター フレームワークにも大量の計算が必要です。このような戦略には膨大な計算量と時間がかかります。 WonderTrader
のSEL
エンジンは、このニーズを満たすようにカスタマイズされています。 SEL
エンジンは、再計算のタイムスケジュールをエンジンに登録することで(日中、日次、週次、月次などの複数サイクルに対応)、定期的に再計算を起動し、複数のターゲットの目標位置を調整する非同期時間駆動モデルを採用しています。 、それにより信号を出力します。
スピード取引WonderTrader
基礎となるコア開発言語としてC++
使用しており、最も重要な目的の 1 つは究極のパフォーマンスを追求することであるため、 WonderTrader
の使用シナリオでは高頻度取引または高速取引が非常に大きな割合を占めます。 WonderTrader
、非常に高速な取引シナリオ向けに特別に設計された新しいUFTEngineバージョンv0.9
をオープンしました。 オリジナルのHFTEngine
とは異なり、 HFTEngine
一般的な高周波をターゲットにしており、より多くの互換性の問題とアプリケーション層のドッキングの問題を考慮します。 UFTEngine
はWtCore
プロジェクトから完全に分離されており、アプリケーション層へのインターフェイスは提供しません。すべてC++
で開発および実装されており、システム遅延は 200ns 以内です。
アルゴリズム取引WonderTrader
には、ユーザーがアルゴリズム取引を実装できる独立したエグゼキューター エントリ モジュールWtExecMon
があります。 WonderTrader
のM+1+N実行アーキテクチャでは、 1+N実行部分が取り除かれ、独立したアルゴリズム取引実行者として使用できます。ユーザーが利用する場合、指定されたターゲットの目標ポジションを設定することで、アルゴリズム実行部があらかじめ設定されたアルゴリズムに従って取引注文を行うことができます。 ユーザーは独自のWtExecFact
モジュールを実装することで、アルゴリズム実行ユニットをさらに追加できます。効率的なC++
最下層により、アルゴリズム実行ユニットの実行効果を強力に保証できます。
wtpy
の紹介Python3
を使用して開発されたWonderTrader
のPython3
サブフレームワークであるWonderTrader
のコア モジュールに基づいて構築されています。Python
は、時系列データ処理用の非常に人気のある強力なサードパーティ ライブラリが多数あります。Python
インタープリタ言語として、コードの作成とデバッグに非常に便利で、コンパイルせずに直接実行できます。Python
のクロスプラットフォーム属性により、 Python
より多くのシナリオに適用できるようになりますwtpy
の主な機能は、 Python
言語のWonderTrader
の拡張機能です。wtpy
には強力な監視サービス コンポーネントWtMonSvr
が組み込まれています。このコンポーネントは、戦略の組み合わせの動作をリアルタイムで監視できるリモートwebui
監視インターフェイスを提供します。また、トランザクションを保護するための24×7
自動スケジュール サービスも提供します。 WonderTrader
の入手方法WonderTrader
github
アドレス: https://github.com/wondertrader/wondertradergitee
アドレス: https://gitee.com/wondertrader/wondertraderwtpy
github
アドレス: https://github.com/wondertrader/wtpygitee
アドレス: https://gitee.com/wondertrader/wtpywtpy
入手アドレス:https://pypi.org/project/wtpy/ wtpy
python3.8
以上であれば直接インストールできます。 pip install wtpy --upgrade
WonderTrader
拡張プロジェクトwtpy
を使用する強化学習フレームワークWt4ElegantRL
https://github.com/drlgistics/Wt4ElegantRL wondertrader
フォローして、 WonderTrader
からリアルタイムの情報を受け取ります610730738
(フル) グループ 2 367916500
(参加する前にstar
てから、 github
ユーザー名を入力してください)WonderTrader
ドキュメントの詳細については、https://docs.wondertrader.com/ を参照してください。WonderTrader
半公式ドキュメント https://dumengru.github.io/docs_wondertrader/WonderTrader
学習ノート https://zzzzhej.github.io/WonderTrader-Learning-Notes/