mcpField
E
exposure-coach

exposure-coach

github.com/tradermontyその他3.4k3.2k 回インストール2 日前に更新
リポジトリ

exposure-coach について

exposure-coachは複数の市場分析スキルの出力を統合し、個人トレーダー向けに株式エクスポージャーの上限、市場バイアス、行動提案を示すスキルです。入力が不足またはシグナルが競合する場合は、確信度を下げて慎重な判断を促します。

主な機能

  1. 018種類の市場シグナルの統合
  2. 02株式エクスポージャー上限の算出
  3. 03バイアスと市場参加状況の評価
  4. 04実行可能なポートフォリオ提案
  5. 05入力の完全性と来歴の確認

活用シーン

  1. 01新規ポジション前の資金配分決定
  2. 02週次のポートフォリオエクスポージャー調整
  3. 03市場シグナル競合時の方針統一
  4. 04大きなマクロイベント後のリスク上限再評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tradermonty/claude-trading-skills --skill exposure-coach

インストール後、Claude Code で/exposure-coachを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

requirements.txt
references/
exposure_framework.md
regime_exposure_map.md
scripts/
calculate_exposure.py
provenance_contract.py
scripts/tests/
conftest.py
test_calculate_exposure.py
test_provenance_contract.py

詳細

Exposure Coach

概要

Exposure Coach は、market-breadth-analyzer、uptrend-analyzer、macro-regime-detector、market-top-detector、ftd-detector、theme-detector、sector-analyst、institutional-flow-tracker の出力を統合し、統一されたコントロールプレーン上の判断を行います。このスキルは、個別銘柄の分析を始める前に、個人トレーダーが抱く「今、株式にどれだけの資金を投じるべきか?」という中心的な問いに答えます。

使用するタイミング

  • 新しい株式ポジションを始める前に、適切な資金配分を判断するとき
  • ポートフォリオのエクスポージャーを調整するため、各取引週の初めに
  • 複数の市場シグナルが矛盾し、統一的な方針が必要なとき
  • 重要なマクロ経済イベントや市場イベントの後に、エクスポージャーの上限を再評価するとき
  • 市場レジーム(拡大、集中、縮小)間を移行するとき

前提条件

  • Python 3.9+
  • institutional-flow-tracker のデータ用の FMP API キー(FMP_API_KEY 環境変数を設定)
  • 上流スキルからの入力 JSON ファイル(ワークフローのステップ 1 を参照)
  • 標準ライブラリ + argparse、json、datetime

ワークフロー

ステップ 1:上流スキルの出力を収集する

統合対象スキルから、最新の JSON 出力を収集します。各ファイルは特定のシグナルの側面を示します。

スキル出力ファイルのパターン提供されるシグナル
market-breadth-analyzerbreadth_*.json上昇・下落比率、新高値・新安値
uptrend-analyzeruptrend_*.json上昇トレンドに参加する銘柄の割合
macro-regime-detectorregime_*.json現在のレジーム(集中、拡大など)
market-top-detectortop_risk_*.json分配日数、天井確率スコア
ftd-detectorftd_*.jsonフォロースルーデーの質(市場底の確認)
theme-detectortheme_detector_*.json or theme_*.json有効な投資テーマとローテーション
sector-analystsector_*.jsonセクターのパフォーマンスランキング
institutional-flow-trackerinstitutional_*.json機関投資家の純買い・純売り
ステップ 2:エクスポージャースコアリングエンジンを実行する

上流の出力ファイルへのパスを指定して、エクスポージャースコアリングスクリプトを実行します。

python3 skills/exposure-coach/scripts/calculate_exposure.py \
  --breadth reports/breadth_latest.json \
  --uptrend reports/uptrend_latest.json \
  --regime reports/regime_latest.json \
  --top-risk reports/top_risk_latest.json \
  --ftd reports/ftd_latest.json \
  --theme reports/theme_latest.json \
  --sector reports/sector_latest.json \
  --institutional reports/institutional_latest.json \
  --output-dir reports/

スクリプトは一部の入力だけでも実行できます。ファイルが不足していると信頼度は低下しますが、実行は妨げられません。

標準的なマクロレジームレポートには、ネストされた regime.confidence と、 有効な整数のコンポーネント数を含む composite.data_quality が必要です。不足または不正な 可用性メタデータ、very_low の信頼度、利用可能なコンポーネントがゼロの場合は、 重要な入力が不足しているものとして扱われます。これらはレジームスコアやバイアスに 反映されず、通常の入力不足による減点と信頼度の上限が適用されます。レポートのレジームラベルを エクスポージャー判断に手動でコピーして、この劣化を決して上書きしないでください。

検証時の注意点: 実行のたびに、生成された JSON の inputs_provided と inputs_missing フィールドを確認してください。CLI で渡したファイルが inputs_missing に表示されている場合(たとえば、エクスポージャーエンジンが認識しなかった theme-detector JSON など)、該当する側面を劣化したものとして報告し、信頼度の上限を維持してください。CLI 引数に指定したという理由だけで、入力が取り込まれたと決めつけないでください。

theme-detector の取り込みに関する注意: theme detector は通常、themes オブジェクトを含む theme_detector_YYYY-MM-DD_HHMMSS.json を出力します。このファイルが calculate_exposure.py に認識されず、inputs_missing に theme が残っている場合、テーマの強さをエクスポージャーの上限に手動で反映しないでください。その代わりに、Exposure Coach の信頼度を上限付きに保ち、テーマの側面が取り込まれなかったことを明記し、テーマとセクターの所見は、より広範な取引ブリーフ内で別途まとめてください。

ステップ 3:市場ポジション要約を解釈する

生成されたポジションレポートを確認します。レポートには以下が含まれます。

  1. エクスポージャー上限 -- 推奨される株式配分の最大値(0~100%)
  2. バイアスの方向性 -- レジームと資金フローに基づく、グロース重視かバリュー重視かの傾向
  3. 市場参加状況の評価 -- 市場全体が健全な状態か、または脆弱な状態か
  4. アクションの推奨 -- NEW_ENTRY_ALLOWED、REDUCE_ONLY、または CASH_PRIORITY
  5. 信頼度 -- 入力の完全性に基づく HIGH、MEDIUM、または LOW
ステップ 4:エクスポージャーの指針を適用する

ポジションの推奨をポートフォリオのアクションに対応付けます。

推奨アクション
NEW_ENTRY_ALLOWED株式単位の分析を進め、新規ポジションを設定します
REDUCE_ONLY新規エントリーは行わず、相場が上昇したら既存ポジションを縮小します
CASH_PRIORITY積極的に現金比率を高め、新たな投資はすべて避けます

出力形式

JSON レポート
{
  "schema_version": "1.0",
  "generated_at": "2026-03-16T07:00:00Z",
  "exposure_ceiling_pct": 70,
  "bias": "GROWTH",
  "participation": "BROAD",
  "recommendation": "NEW_ENTRY_ALLOWED",
  "confidence": "HIGH",
  "component_scores": {
    "breadth_score": 65,
    "uptrend_score": 72,
    "regime_score": 80,
    "top_risk_score": 25,
    "ftd_score": 10,
    "theme_score": 68,
    "sector_score": 70,
    "institutional_score": 75
  },
  "inputs_provided": ["breadth", "uptrend", "regime", "top_risk"],
  "inputs_missing": ["ftd", "theme", "sector", "institutional"],
  "rationale": "Broad participation with low top risk supports elevated exposure."
}
Markdown レポート

Markdown レポートでは、すばやく確認できる1ページの要約を提供します。

# Market Posture Summary
**Date:** 2026-03-16 | **Confidence:** HIGH

## Exposure Ceiling: 70%

| Dimension | Score | Status |
|-----------|-------|--------|
| Breadth | 65 | Healthy |
| Uptrend Participation | 72% | Broad |
| Regime | Broadening | Favorable |
| Top Risk | 25 | Low |

## Recommendation: NEW_ENTRY_ALLOWED

**Bias:** Growth > Value
**Participation:** Broad (healthy internals)

### Rationale
Broad participation with low distribution day count supports elevated equity exposure.
New positions allowed within the 70% ceiling.

レポートは reports/ に、exposure_posture_YYYY-MM-DD_HHMMSS.{json,md} というファイル名で保存されます。

リソース

  • scripts/calculate_exposure.py -- 入力をスコアリングして統合するメインのオーケストレーター
  • references/exposure_framework.md -- スコアリングルールとしきい値の定義
  • references/regime_exposure_map.md -- レジームとエクスポージャー上限の対応付け

主な原則

  1. 安全を最優先 -- 入力が不完全または矛盾している場合は、デフォルトでエクスポージャーを低くします
  2. レジームとの整合性 -- マクロレジームを基準とし、市場の広がりは許容範囲内で調整します
  3. 実行可能な出力 -- データを集計するだけでなく、常に明確な推奨を提示します

market-regime-daily の厳密な来歴検証

スコアリング前に市場の広がりと上昇トレンドを検証するには、--require-provenance --run-id daily-20261017-unique --as-of 2026-10-17T13:00:00Z --max-age-days 3 を追加します。両方のデータ生成元には同じ一意の実行 ID を指定し、それぞれが出力した正確な JSON パスを渡してください。--as-of はタイムゾーンを含む評価時点であり、ソースの営業日を上書きするものではありません。

このゲートでは、スキーマ 1.0、想定される実行 ID、評価時点以前の UTC 取得時刻、未来ではないソース日付、および設定された経過期間を検証します。デフォルトの3暦日は保守的なポリシーであり、取引所の休日カレンダーではありません。検証に失敗すると、レポート出力前に処理が停止します。成功した出力には、受け入れた来歴と検証上の制限が記録されます。任意のトップリスク/その他の入力や補助要約の日付はこのゲートの対象外です。不明な品質フラグは false のままです。レガシーモードでは、既存のスキーマが維持されます。実行 ID は整合性を確認するためのものであり、真正性や時点整合性を証明するものではありません。

コメント