Communityライティング&編集github.com

TqSdk 交易与数据

このスキルは、TqSdk を使った Python ワークフロー(wait_update / is_changing ループ、銘柄データ取得、履歴ダウンロード、口座種別選択、資金・ポジション・注文・約定、銘柄フィールドの意味、注文発注・取消、目標ポジションツール、TqScenario 証拠金シミュレーション、実口座証拠金率照会、証拠金・リスク率分析、シミュレーション、バックテスト、および TqSdk のよくあるエラー)の説明、実装、デバッグを行います。

TqSdk 交易与数据 とは?

このスキルは、天勤(Tianqin)TqSdk ライブラリを利用するトレーダーや開発者が、Python ベースの自動売買システムを構築・デバッグ・最適化するための包括的なガイドとなるドキュメント参照セットです。wait_update() ループの正しい理解、銘柄データ(気配値・K 線・ティック)の取得、先物と株式の口座種別の使い分け、注文発注・取消、TargetPosTask を使ったポジション管理、TqScenario による証拠金シミュレーション、実口座の証拠金率照会、リスク率分析、シミュレーション・バックテストの各機能をカバーします。各トピックは独立したマークダウンファイルに整理されており、ユーザーの質問に応じて必要なリファレンスだけを読み、最小限の実行可能なコードスニペットで回答するスタイルを推奨します。先物と株式のワークフローは明確に区別し、よくある落とし穴やエラーパターンについても直接的に説明します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shinny-xuyida/tqsdk-agent-skills/tree/main/skills/tqsdk-trading-and-data

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

TqSdk 交易与数据 は何をしますか?

このスキルを使用して、リポジトリの実際の API、ドキュメント、サンプルを使って TqSdk に関する質問に回答します。最小限の実行可能なスニペットを優先し、先物と株式の動作を分離し、ユーザーの問題が wait_update() に依存している場合は常に更新ループを明示的に説明してください。

まずリクエストのルートを決める

ユーザーの質問に必要な参照だけを読んでください。

  1. references/wait-update-and-update-loop.md を読む:wait_update、is_changing、deadline、非同期更新通知、Jupyter の注意点、バックテスト進行に関する質問
  2. references/market-data.md を読む:get_quote、get_kline_serial、get_tick_serial、銘柄発見、銘柄メタデータ、DataDownloader
  3. references/account-type-matrix.md を読む:TqAccount、TqKq、TqKqStock、TqSim、TqSimStock、OTG 口座クラス、TqMultiAccount
  4. references/accounts-and-trading.md を読む:口座、ポジション、注文、約定の getter とマルチアカウント getter パターン
  5. references/scenario-and-margin.md を読む:TqScenario、実口座証拠金率照会、証拠金計算、リスク率分析、限定的な組み込み証拠金割引ルール
  6. references/order-functions-and-position-tools.md を読む:insert_order、cancel_order、TargetPosTask、support_open_min_volume、TargetPosScheduler、高度な実行ヘルパー
  7. references/object-fields.md を読む:ユーザーが Quote、K 線・ティック行、Account、Position、Order、Trade、またはそれらの株式バリアントのフィールド意味を尋ねた場合
  8. references/simulation-and-backtest.md を読む:ローカルシミュレーション、クイックシミュレーション、株式シミュレーション、バックテスト、クロスアカウントバックテストの制限
  9. references/error-faq.md を読む:ユーザーが TqSdk の一般的な障害、わかりにくい挙動、例外メッセージについて尋ねた場合
  10. references/example-map.md を読む:リポジトリにあるサンプルやドキュメントページを模倣したい場合

コアルール

  1. get_* の結果はスナップショットではなくライブ参照として扱います。wait_update() 中に更新されることを説明してください。
  2. ユーザーがデータ不足、古いフィールド、注文がクライアントから送信されない、TargetPosTask が動作しないなどで混乱している場合は、wait_update() を説明してください。
  3. 先物と株式のワークフローを区別:
    • 先物口座とオブジェクトは Account、Position、Order、Trade を使用。
    • 株式口座とオブジェクトは SecurityAccount、SecurityPosition、SecurityOrder、SecurityTrade を使用。
    • 株式取引では offset を使用せず、TargetPosTask は株式取引には使用しません。
  4. コードを書く前に口座タイプを選択してください。ユーザーが本当にその口座モードを必要としない限り、TqKq や TqAccount をデフォルトにしないでください。
  5. マルチアカウントモードでは、getter やトレード呼び出しに account= を渡すか、口座オブジェクト自身の get_account、get_position、get_order、get_trade を使用してください。
  6. 現在の市場の例では、期限切れの契約を避けてください。銘柄発見 API や主力契約コードを優先してください。
  7. ユーザーがフィールドの意味を尋ねた場合、最小限の関連フィールドセットから説明し、オブジェクトが先物か株式かを明示してください。
  8. 長期の履歴範囲を要求された場合、get_kline_serial を無制限の履歴 API のように扱うよりも DataDownloader を優先してください。
  9. 高度な実行を要求された場合、まず公開ヘルパーを優先:
    • 目標ネットポジションには TargetPosTask
    • 約定の概ねの完了が許容される場合、取引所の最小建玉サイズルールがある契約に対してのみ TargetPosTask(..., support_open_min_volume=True)
    • スケジュール実行には TargetPosScheduler と tqsdk.algorithm の twap_table または vwap_table
    • InsertOrderTask と InsertOrderUntilAllTradedTask は内部ヘルパーまたは高度なヘルパーとして言及し、デフォルトの回答にはしない
  10. 同期の what-if 証拠金・リスクシミュレーションには TqScenario を使用し、実際の注文発注には使用しない。先物専用、単一口座、各呼び出し直後にシミュレーションスナップショットを更新します。
  11. すべての TqScenario 回答で証拠金率のソースを説明:
    • account=None または TqSim() は Quote 証拠金データを使用。
    • TqAccount(...) または TqKq() は口座固有の証拠金率を同期的に照会し、照会に失敗した場合は Quote 証拠金にフォールバックする場合があります。
  12. 証拠金割引は控えめに扱います。段階的なシミュレーションアクションには 1 つの TqScenario オブジェクトを再利用し、TqSdk がモデル化する限定的な組み込みルールを超えるブローカー固有の優遇ルールを約束しないでください。
  13. TqScenario では取引所固有の決済セマンティクスを保持します。SHFE または INE の先物では、インポートされたポジションスナップショットに応じて CLOSE と CLOSETODAY を一貫して使用します。

回答スタイル

  • トップレベル API には tqsdk.__init__ からのインポートを優先してください。API がサブモジュールに文書化されている場合は、tqsdk.tools や tqsdk.algorithm などの公式サブモジュールパスを使用してください。
  • 広範な疑似コードよりも、短く正確なコードブロックを優先してください。
  • ユーザーが次に呼び出すべき正確な API を指定してください。
  • 動作がライブ取引、クイックシミュレーション、ローカルシミュレーション、株式シミュレーション、バックテストで異なる場合は、明示的にそう述べてください。
  • 回答が一般的な落とし穴に依存する場合は、例の中に埋め込まずに直接落とし穴を述べてください。
  • 回答が TqScenario を使用する場合、どのスナップショットが positions に入るか、どの残高が init_balance に入るか、結果が気配値証拠金から来るのか口座固有の証拠金率から来るのかを述べてください。

関連スキル