pre-trade-discipline-gate について
pre-trade-discipline-gateは、手動注文の計画をチェックリストや任意のリスク判定と照合する、オフラインのPythonスキルです。判定を記録してthesisにレポートを関連付けられますが、市場データの取得や注文は行いません。
主な機能
- 01計画書・ストップ・サイズの確認
- 02計画リスクと実リスクの検証
- 03任意のリスク判定ファイルの利用
- 04判定レポートとログの作成
- 05レポートを関連thesisに紐付け
活用シーン
- 01手動エントリー前の規律確認
- 02直近の損失後に取引計画を再確認
- 03後日のレビュー用に回答を記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tradermonty/ claude-trading-skills --skill pre-trade-discipline-gateインストール後、Claude Code で/pre-trade-discipline-gateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
requirements.txtreferences/discipline_gate_framework.mdscripts/check_pre_trade_discipline.pyscripts/tests/conftest.pytest_check_pre_trade_discipline.py詳細
取引前の規律ゲート
概要
ブローカーに注文を出す前に、予定している手動注文を実行すべきか評価します。このスキルは、ローカルのチェックリストと、任意の market-regime、circuit-breaker、trader-memory-core のアーティファクトを読み込みます。pre_trade_discipline_decision アーティファクトを生成し、関連する thesis のレビュー予定を変更せずに、その thesis にアーティファクトをリンクできます。
このゲートは意図的にオフラインで動作します。注文の発注やキャンセル、ブローカー API の呼び出し、市場データの取得は行いません。
使用するタイミング
- 手動の新規注文を出す直前
- 候補がチャート検証とポジションサイジングを通過した後
- 直近の損失後、クールダウン期間中のリベンジトレードを避けるため
- ワークフローに上流の
exposure_decisionとcircuit_breaker_decisionがある場合 - 後続の trader-memory-core レビューでチェックリストの遵守状況を確認できるようにしたい場合
前提条件
- Python 3.9+
- 候補ごとのチェックリスト回答を含むローカルの JSON または YAML ファイル
- 任意の trader-memory-core thesis 状態(
state/theses/配下) - 任意の market-regime-daily / exposure-coach からの
exposure_decisionJSON - 任意の drawdown-circuit-breaker からの
circuit_breaker_decisionJSON
ワークフロー
ステップ 1:チェックリストを準備する
候補の回答を含む JSON または YAML ファイルを作成します。ゲートの対象となるのは、実行可能な手動注文のインテントのみです。ウォッチリストと無視のインテントは、NO_ACTIONABLE_ORDERS として記録されます。
{
"candidates": [
{
"symbol": "AAPL",
"thesis_id": "th_aapl_gm_20260703_0001",
"order_intent": "ENTRY_READY",
"entry_in_written_plan": true,
"stop_predefined": true,
"size_within_plan": true,
"planned_risk_dollars": 500,
"actual_risk_dollars": 500,
"notes": "Entry matches the journaled breakout plan."
}
]
}
実行可能なインテントは ENTRY_READY、ACTIONABLE、ACTIONABLE_DAY1、MANUAL_ORDER です。WATCHLIST、DELAYED_EP_WATCH、PEAD_HANDOFF、IGNORE、REJECTED などの実行不可能なインテントは記録されますが、注文の許可にはつながりません。
実行可能な候補ごとに、planned_risk_dollars と actual_risk_dollars の両方を指定してください。有限かつ非負の数値または数値文字列を使用してください。ゼロも有効です。値の欠落、ブール値、数値以外の文字列、NaN、無限大、負の値は REVIEW_REQUIRED 入力として扱い、注文を出す前に確認してください。
ステップ 2:ゲートを実行する
python3 skills/pre-trade-discipline-gate/scripts/check_pre_trade_discipline.py \
--answers-file state/manual-entry-checklist.json \
--state-dir state/theses \
--market-regime-decision reports/exposure_decision_latest.json \
--circuit-breaker-decision reports/circuit_breaker_decision_latest.json \
--output-dir reports/pre-trade-discipline \
--journal-dir state/journal/pre-trade-discipline
決定性テストやバックフィルでは、--as-of を設定します。
python3 skills/pre-trade-discipline-gate/scripts/check_pre_trade_discipline.py \
--answers-file state/manual-entry-checklist.json \
--as-of 2026-07-03T12:00:00-04:00
ステップ 3:判定を解釈する
| 判定 | 意味 |
|---|---|
GO | 実行可能な手動注文の候補がすべて、チェックリストと上流ゲートを通過しました |
REVIEW_REQUIRED | 入力が欠落、不明、または記録に失敗しています。確認が終わるまで注文を出さないでください |
NO_GO | 少なくとも 1 つの実行可能な候補が規律ルールに違反しました |
NO_ACTIONABLE_ORDERS | ファイルに実行可能な手動注文が含まれていません。発注すべき注文はありません |
デフォルトでは、有効な判定で CLI は 0 で終了し、入力エラーまたはランタイムエラーの場合のみ 1 で終了します。シェルパイプラインで GO 以外の判定に対して 2 を返す場合は、--fail-on-non-go を使用してください。
ルール
次の場合、ゲートは実行可能な候補をブロックします。
- エントリーが書面の計画で確認されていない
- ストップが事前に定義されていない
- サイズが計画の範囲内で確認されていない
- リスク額のフィールドのいずれかが欠落している、または有限かつ非負の数値ではない(
REVIEW_REQUIRED) actual_risk_dollarsがplanned_risk_dollarsを超えている- trader-memory-core に、リベンジウィンドウ内の損失決済または部分損失がある
- exposure-coach の推奨が
REDUCE_ONLYまたはCASH_PRIORITYである - drawdown-circuit-breaker の推奨が
COOLDOWN、HALTED、またはTRADING_HALTEDである
market-regime または circuit-breaker のアーティファクトが欠落している、もしくは読み取り不能な場合、実行可能な注文は REVIEW_REQUIRED になります。実行可能な注文がない場合、結果は NO_ACTIONABLE_ORDERS のままです。
出力
スクリプトは以下を書き込みます。
pre_trade_discipline_decision_YYYY-MM-DD_HHMMSS.json--json-onlyが設定されていない場合は、対応する Markdown レポート--journal-dirが指定されている場合は、state/journal/pre-trade-discipline/の JSONL ジャーナル行
各候補の結果には、判断に使用した記入済みプラン、ストップ、サイズ、リスク金額、メモの回答を含む checklist_answers オブジェクトが含まれるため、後日のレビューで注文時に何が回答されたかを監査できます。無効なリスク金額は JSON の null として保存されます。バイナリ浮動小数点数との往復で値が変わる可能性のある有効な JSON の小数は、アンダーフローや精度の損失によってゲートの判断が変わらないよう、数値文字列として保持されます。
候補に thesis_id が含まれ、--state-dir が指定されている場合、JSON レポートは trader-memory-core の link_report を使用して、該当する thesis の linked_reports リストにリンクされます。このスキルは mark_reviewed を呼び出さず、モニタリングのレビュー日も変更しません。
リソース
scripts/check_pre_trade_discipline.py- メイン CLI とルールエンジンreferences/discipline_gate_framework.md- ルールの定義と統合に関する注記skills/trader-memory-core/schemas/thesis.schema.json- Thesis の状態スキーマ
主な原則
- 手動実行のみ - 出力はブローカーに送信する前のチェックリストゲートであり、注文ルーターではありません。
- まず書面によるプランを作成 - エントリープラン、ストップ、サイズの確認が書面で行われていない場合、手動でエントリーしてはいけません。
- プロデューサー互換の状態読み取り - リベンジリスクの検出では、trader-memory-core のタイムスタンプと結果の動作に従います。
- レビューへの副作用なしでジャーナルに記録 - ゲートはレビュー予定を進めずに、レポートを thesis にリンクします。