12. ライブ取引でのリスク管理とブローカーの適応をシミュレートします (デュアルパス)

このチュートリアルでは、シミュレートされたライブ取引環境で S1.3 の主要な動作を検証するための 2 つの完全なパスを説明します。

  • パス A: asset_type='E' + simulator

  • パス B: asset_type='FD' + simulator

目標は単に概念を確認することではなく、「実行 + 観察 + 検証」です。

12.1. 0. 教程目标

  • 両方のパス (E と FD) をエンドツーエンドで機能させる

  • 1 つの注文拒否を手動でトリガーし、原因を特定する

  • partial-filled から filled に移行する部分充填ステータスの目に見える動作を観察してください。

12.2. 1. 前置准备

  • すでに実行可能な Operator

  • ローカル データはランタイム頻度をサポートできます

  • ライブアカウントパラメータが設定されました

実験の再現を容易にするために、まず「安定して注文拒否をトリガーできる」ルール設定 (注文あたりの数量制限を小さくするなど) を準備することをお勧めします。

12.3. 2. 路径 A:E + simulator

ステップ 1: 構成をセットアップする

import qteasy as qt

qt.configure(
    mode=0,
    asset_type='E',
    live_trade_broker_type='simulator',
    live_price_acquire_channel='eastmoney',
    live_price_acquire_freq='15MIN',
)

ステップ 2: ランニングを開始する

qt.run(op)

ステップ 3: テスト注文を送信し、フィードバックを観察する

  • 「送信成功」のプロンプトが表示されるかどうかを確認する

  • リスク管理注文の拒否プロンプト (英語) が表示されるかどうかを確認します。

  • 注文 ID を記録します (後でログを比較するため)

12.4. 3. 路径 B:FD + simulator

ステップ 1: 資産タイプの構成を切り替えます。

import qteasy as qt

qt.configure(
    mode=0,
    asset_type='FD',
    live_trade_broker_type='simulator',
    live_price_acquire_channel='eastmoney',
    live_price_acquire_freq='15MIN',
)

ステップ 2: 繰り返し再起動し、注文します。

qt.run(op)

ステップ 3: 動作の一貫性を確認します。

  • FD パスはライブ実行フローに入ることができる必要があります。

  • 拒否/送信/ログの観察方法は E パスと同じです。

  • 同じタイプの注文には、2 つのパスにわたって一貫したフィードバック セマンティクスが必要です。

12.5. 4. 人工触发一次风控拒单

一時的に厳格なルール (注文ごとの数量の上限など) を設定し、制限を超える注文を送信します。 次のような英語のプロンプトが表示されます。

Order rejected by risk rule [MAX_ORDER_QTY]: order quantity exceeds limit

対応するレコードは risk_log で取得できます。

少なくとも 2 回確認することをお勧めします。

  1. 1 回の拒否 (拒否の理由が表示されていることを確認)。

  2. 1 つのリリース (戦略が実行を継続できることを確認)

12.6. 5. 观察订单状态变化

次のことが発生するかどうかに注目してください。

  • submitted -> partial-filled -> filled

部分充填シナリオでは、最終ステータスは累積充填量と一致する必要があります。

partial-filled が長期間変更されていない場合は、トラブルシューティング ページに戻り、ログを「ステータスの誤解」プレイブックと照合して確認してください。

12.7. 6. 教程验收清单

  • パス E は実行可能です

  • パスFDは実行可能です

  • リスク管理注文の拒否をトリガーおよび識別できる

  • 注文が拒否された理由はログで確認できます。

  • 部分充填中のステータスの変化を観察して理解できます。

  • 「注文拒否 -> パラメータ調整 -> リリース」の完全な閉ループ検証を少なくとも 1 回完了する

12.8. 7. 下一步

  • メカニズムの詳細: live_trading/3-risk-and-order-lifecycle

  • ブローカーを拡張します: live_trading/4-broker-adapter-and-integration

  • トラブルシューティングマニュアル: live_trading/5-artifacts-and-troubleshooting

12.9. 8. 结果判定标准

このチュートリアルを完了すると、次の質問に個別に答えられるようになります。

  • 現在の注文はリスク管理によって拒否されましたか、それとも送信されましたが約定されませんでしたか?

  • 注文が partial-filled に残るのはなぜですか?

  • 最初にどのログ ファイルを確認し、次にどのフィールドを確認する必要がありますか?

上記の 3 つの質問すべてに個別に回答できる場合は、ライブ シナリオの基本的なトラブルシューティング スキルをすでに持っていることを意味します。