backtest-expert
Expert guidance for systematic backtesting of trading strategies. Use when developing,…
Analyze recent post-earnings stocks using a 5-factor scoring system (Gap Size, Pre-Earnings Trend, Volume Trend, MA200 Position, MA50 Position). Scores each stock 0-100 and assigns A/B/C/D grades. Use when user asks about earnings trade analysis, post-earnings momentum
$ npx -y skills add tradermonty/claude-trading-skills --skill earnings-trade-analyzer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/earnings-trade-analyzerContext preview
The summary Claude sees to decide when to auto-load this skill.
Analyze recent post-earnings stocks using a 5-factor scoring system (Gap Size, Pre-Earnings Trend, Volume Trend, MA200 Position, MA50 Position). Scores each stock 0-100 and assigns A/B/C/D grades. Use when user asks about earnings trade analysis, post-earnings momentum
name: earnings-trade-analyzer description: Analyze recent post-earnings stocks using a 5-factor scoring system (Gap Size, Pre-Earnings Trend, Volume Trend, MA200 Position, MA50 Position). Scores each stock 0-100 and assigns A/B/C/D grades. Use when user asks about earnings trade analysis, post-earnings momentum screening, earnings gap scoring, or finding best recent earnings reactions.
Analyze recent post-earnings stocks using a 5-factor weighted scoring system to identify the strongest earnings reactions for potential momentum trades.
Execute the analyzer script:
# Default: last 2 days of earnings, top 20 results python3 skills/earnings-trade-analyzer/scripts/analyze_earnings_trades.py --output-dir reports/ # Custom lookback and market cap filter python3 skills/earnings-trade-analyzer/scripts/analyze_earnings_trades.py \ --lookback-days 5 \ --min-market-cap 1000000000 \ --top 30 \ --output-dir reports/ # Deterministic anchor date (America/New_York); the window is anchored on the # ET calendar date, not the runner's local clock. For reproducible runs/tests. python3 skills/earnings-trade-analyzer/scripts/analyze_earnings_trades.py \ --as-of 2026-09-15 \ --output-dir reports/ # With entry quality filter python3 skills/earnings-trade-analyzer/scripts/analyze_earnings_trades.py \ --apply-entry-filter \ --output-dir reports/
If the analyzer reports a 404, an implausible empty earnings calendar, or exhausts its API-call budget before producing scored candidates during a scheduled after-close/pre-market run, do not report "no earnings reactions" immediately. A clean empty response over a date window containing at least one XNYS session exits 1 with `ZERO_RESULT_REASON=earnings_calendar_empty_with_market_sessions`. If the shared XNYS calendar cannot classify the window, it exits 1 with `ZERO_RESULT_REASON=market_calendar_unavailable`. Budget or daily rate-limit exhaustion during profile fetching exits 1 with `ZERO_RESULT_REASON=profiles_budget_exhausted`. Treat each as a failed run to retry or fall back on, not a quiet day. Only a clean empty response over a zero-session window exits 0 as `ZERO_RESULT_REASON=no_earnings_rows`.
1. First retry once with a narrower liquid-universe configuration so the full 5-factor scorer has a chance to complete, for example:
python3 skills/earnings-trade-analyzer/scripts/analyze_earnings_trades.py \ --lookback-days 2 \ --min-market-cap 5000000000 \ --top 20 \ --max-api-calls 600 \ --output-dir reports/<routine-date>
2. If the scored run still returns no candidates or cannot complete, verify the same range through the stable endpoint used by the compatibility shim and clearly label the result as an ungraded fallback:
curl "https://financialmodelingprep.com/stable/earnings-calendar?from=YYYY-MM-DD&to=YYYY-MM-DD&apikey=$FMP_API_KEY"
Then optionally enrich returned US tickers through the analyzer's stable-first FMP client or per-symbol `/stable/quote?symbol=<ticker>` calls to rank by same-day `changesPercentage`, market cap, and liquidity. Use legacy `/api/v3` quote calls only as a legacy-key fallback after stable has failed. Present these as **preliminary / ungraded reactions** because the 5-factor scorer did not run; do not assign A/B/C/D grades from the fallback alone.
**No-candidate output pitfall:** The analyzer may print `Candidates after filtering: 0` / `No candidates found matching criteria.` and exit successfully without writing an `earnings_trade_analyzer_*.json` file. In that case, do not try to run PEAD Mode B from a nonexistent candidate file. Say explicitly that no scored analyzer JSON was produced, run the endpoint/quote enrichment fallback above if the routine needs an earnings section, and label any names as manual-review only. This success-exit path does not cover budget exhaustion during profile fetching: that case exits 1 (`ZERO_RESULT_REASON=profiles_budget_exhausted`) instead.
The earnings calendar window is inclusive and uses the `America/New_York` calendar date from `--as-of` (or the current ET date). A clean provider `[]` is a benign quiet-window result only when the shared XNYS calendar successfully counts zero exchange sessions in that exact window, such as a weekend or holiday. If the window contains an XNYS session, the same clean `[]` exits 1 with `ZERO_RESULT_REASON=earnings_calendar_empty_with_market_sessions` so a provider drop is not reported as a quiet day. If the XNYS calendar cannot be queried, the run also exits 1 with `ZERO_RESULT_REASON=market_calendar_unavailable`.
`--lookback-days 0` is valid and queries exactly the single ET as-of date. Use it after the relevant announcements have been published (normally after the session close); an empty response on an XNYS session remains intentionally fail-closed. A non-empty response whose rows do not carry a `symbol` retains the separate `ZERO_RESULT_REASON=no_earnings_rows` behavior; that case is not the literal-empty-list session check above.
1. Read the generated JSON and Markdown reports 2. Load `references/scoring_methodology.md` for scoring interpretation context 3. Focus on Grade A and B stocks for actionable setups
Claude Trading Skills started as a personal project to use AI to improve my own trading process. Claude Trading Skills is a Claude Skills-based trading workflow toolkit for time-constrained individual investors.
Expert guidance for systematic backtesting of trading strategies. Use when developing,…
This skill should be used when analyzing market breadth charts, specifically the S&P 500…
Generate Minervini-style breakout trade plans from VCP screener output with worst-case risk…
Screen US stocks using William O'Neil's CANSLIM growth stock methodology. Use when user…
Synthesize the three Jason Shapiro contrarian-pipeline verdicts (COT crowding, news-reaction…
Detect crowded speculative positioning in CFTC futures markets (COT report analysis) to find…