Exposure Coach

Generate a one-page Market Posture summary with net exposure ceiling, growth-vs-value bias, participation breadth, and new-entry-allowed vs cash-priority recommendation by integrating signals from breadth, regime, and flow analysis skills.

FMP Optional

Download Skill Package (.skill) View Source on GitHub

Table of Contents

1. Overview

Exposure Coach synthesizes outputs from market-breadth-analyzer, uptrend-analyzer, macro-regime-detector, market-top-detector, ftd-detector, theme-detector, sector-analyst, and institutional-flow-tracker into a unified control-plane decision. The skill answers the solo trader’s core question: “How much capital should I commit to equities right now?” before any individual stock analysis begins.


2. When to Use

  • Before initiating any new stock positions to determine appropriate capital commitment
  • At the start of each trading week to calibrate portfolio exposure
  • When multiple market signals conflict and a unified posture is needed
  • After significant macro or market events to reassess exposure ceiling
  • When transitioning between market regimes (broadening, concentration, contraction)

3. Prerequisites

  • Python 3.9+
  • FMP API key (set FMP_API_KEY environment variable) for institutional-flow-tracker data
  • Input JSON files from upstream skills (see Workflow Step 1)
  • Standard library + argparse, json, datetime

4. Quick Start

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/

5. Workflow

Step 1: Gather Upstream Skill Outputs

Collect the most recent JSON outputs from integrated skills. Each file provides a specific signal dimension:

Skill Output File Pattern Signal Provided
market-breadth-analyzer breadth_*.json Advance/decline ratios, new highs/lows
uptrend-analyzer uptrend_*.json Uptrend participation percentage
macro-regime-detector regime_*.json Current regime (Concentration, Broadening, etc.)
market-top-detector top_risk_*.json Distribution day count, top probability score
ftd-detector ftd_*.json Failure-to-deliver anomalies
theme-detector theme_*.json Active investment themes and rotation
sector-analyst sector_*.json Sector performance rankings
institutional-flow-tracker institutional_*.json Net institutional buying/selling

Step 2: Run Exposure Scoring Engine

Execute the exposure scoring script with paths to upstream outputs:

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/

The script accepts partial inputs; missing files reduce confidence but do not block execution.

Step 3: Interpret the Market Posture Summary

Review the generated posture report containing:

  1. Exposure Ceiling – Maximum recommended equity allocation (0-100%)
  2. Bias Direction – Growth vs Value tilt based on regime and flow
  3. Participation Assessment – Broad (healthy) vs Narrow (fragile) market
  4. Action Recommendation – NEW_ENTRY_ALLOWED, REDUCE_ONLY, or CASH_PRIORITY
  5. Confidence Level – HIGH, MEDIUM, or LOW based on input completeness

Step 4: Apply Exposure Guidance

Map the posture recommendation to portfolio actions:

Recommendation Action
NEW_ENTRY_ALLOWED Proceed with stock-level analysis and new positions
REDUCE_ONLY No new entries; trim existing positions on strength
CASH_PRIORITY Raise cash aggressively; avoid all new commitments

6. Resources

References:

  • skills/exposure-coach/references/exposure_framework.md
  • skills/exposure-coach/references/regime_exposure_map.md

Scripts:

  • skills/exposure-coach/scripts/calculate_exposure.py