How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/tradermonty/claude-trading-skills --skill pead-screenerBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
PEAD Screener - Post-Earnings Announcement Drift
Screen post-earnings gap-up stocks for PEAD (Post-Earnings Announcement Drift) patterns using weekly candle analysis to detect red candle pullbacks and breakout signals.
When to Use
- User asks for PEAD screening or post-earnings drift analysis
- User wants to find earnings gap-up stocks with follow-through potential
- User requests red candle breakout patterns after earnings
- User asks for weekly earnings momentum setups
- User provides earnings-trade-analyzer JSON output for further screening
Prerequisites
- FMP API key (set
FMP_API_KEYenvironment variable or pass--api-key)
export FMP_API_KEY=your_api_key_here- Free tier (250 calls/day) is sufficient for default screening
- For Mode B: earnings-trade-analyzer JSON output file with schema_version "1.0"
Workflow
Step 1: Prepare and Execute Screening
Run the PEAD screener script in one of two modes:
Mode A (FMP earnings calendar):
# Default: last 14 days of earnings, 5-week monitoring window
python3 skills/pead-screener/scripts/screen_pead.py --output-dir reports/
# Custom parameters
python3 skills/pead-screener/scripts/screen_pead.py \
--lookback-days 21 \
--watch-weeks 6 \
--min-gap 5.0 \
--min-market-cap 1000000000 \
--output-dir reports/Mode B (earnings-trade-analyzer JSON input):
# From earnings-trade-analyzer output
python3 skills/pead-screener/scripts/screen_pead.py \
--candidates-json reports/earnings_trade_analyzer_YYYY-MM-DD_HHMMSS.json \
--min-grade B \
--output-dir reports/Scheduled US-equity routine pitfall: Prefer Mode B for pre-market / US-equity cron briefs after running earnings-trade-analyzer. Mode A can pull the global FMP earnings calendar, spend the API budget on non-US symbols, and return weak/non-actionable foreign listings before reaching the intended US watchlist. If Mode A is used anyway and the script reports budget trimming or non-US symbols, mark PEAD output as degraded and treat it as manual-review only rather than a clean candidate source.
Step 2: Review Results
- Read the generated JSON and Markdown reports
- Load
references/pead_strategy.mdfor PEAD theory and pattern context - Load
references/entry_exit_rules.mdfor trade management rules
Step 3: Present Analysis
For each candidate, present:
- Stage classification (MONITORING, SIGNAL_READY, BREAKOUT, EXPIRED)
- Weekly candle pattern details (red candle location, breakout status)
- Composite score and rating
- Trade setup: entry, stop-loss, target, risk/reward ratio
- Liquidity metrics (ADV20, average volume)
Step 4: Provide Actionable Guidance
Based on stages and ratings:
- BREAKOUT + Strong Setup (85+): High-conviction PEAD trade, full position size
- BREAKOUT + Good Setup (70-84): Solid PEAD setup, standard position size
- SIGNAL_READY: Red candle formed, set alert for breakout above red candle high
- MONITORING: Post-earnings, no red candle yet, add to watchlist
- EXPIRED: Beyond monitoring window, remove from watchlist
Output
pead_screener_YYYY-MM-DD_HHMMSS.json- Structured results with stage classificationpead_screener_YYYY-MM-DD_HHMMSS.md- Human-readable report grouped by stage
Unknown earnings timing
FMP does not confirm a bmo/amc session for every earnings row; unconfirmed rows carry earnings_timing: "unknown" in Mode A and the price gap calculation assumes the AMC window as a fallback. The Mode A report shows timing_unknown_count out of timing_candidates_total so this assumption stays visible (Mode B reports n/a since timing is inherited from the input JSON). timing_candidates_total is the post-budget-trim population that was actually analyzed, not the raw earnings-calendar row count.
Resources
references/pead_strategy.md- PEAD theory and weekly candle approachreferences/entry_exit_rules.md- Entry, exit, and position sizing rules


