pead-screener — Claude Code skill: post-earnings drift screen
Screens gap-up stocks after earnings for PEAD follow-through, reading weekly candles for red-candle pullbacks and breakouts. Handy for post-report drift setups.
npx skills add tradermonty/claude-trading-skills --skill pead-screener -a claude-codeWhat pead-screener does
The skill runs screen_pead.py, which takes a list of companies that just reported and sorts them into stages: MONITORING, SIGNAL_READY, BREAKOUT, EXPIRED. Each name gets a weekly candle read — where the red candle sits, whether its high has been cleared — plus a composite score, entry, stop, target and risk/reward. Liquidity comes from ADV20 and average volume.
Two input paths. Mode A pulls the FMP earnings calendar; Mode B reads JSON from earnings-trade-analyzer with schema_version "1.0". You need an FMP key, either in the FMP_API_KEY environment variable or via --api-key. The free tier at 250 calls a day covers a default run. Output lands as pead_screener_YYYY-MM-DD_HHMMSS.json and a matching .md report grouped by stage.
For a scheduled US-equity brief, go with Mode B. Mode A can drag in the global FMP calendar, burn your call budget on non-US symbols and hand back weak foreign listings before it ever reaches the watchlist you wanted. If the script reports budget trimming or non-US symbols, treat the output as degraded and review it by hand. Mode A also leaves bmo/amc timing unconfirmed on some rows — those carry earnings_timing: "unknown" and the gap is measured against the AMC window instead; timing_unknown_count out of timing_candidates_total tells you how many rows rest on that assumption.
What it helps with
- find gap-up stocks after earnings with follow-through potential
- spot a red candle after an earnings pop and wait for its high to break
- sort candidates into monitoring, signal-ready and breakout stages
- get entry, stop, target and risk/reward for each setup
- filter out thin names by ADV20 and average volume
Example prompts for the agent
- Run the PEAD screen over the last 14 days and drop the report in
reports/ - Screen the candidates in
reports/earnings_trade_analyzer_2025-03-14_090000.json, minimum grade B - Show me which names printed a red candle after earnings and are ready for a breakout
How to install pead-screener
1Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill pead-screener -a claude-code2Manually: put the files in place
~/.claude/skills/pead-screener/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/pead-screener/
1Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill pead-screener -a codex2Manually: put the files in place
.agents/skills/pead-screener/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill pead-screener -a cursor2Manually: put the files in place
.cursor/skills/pead-screener/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install tradermonty/claude-trading-skills pead-screener2Manually: put the files in place
.github/skills/pead-screener/SKILL.md1Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill pead-screener -a gemini-cli2Platform CLI
gemini skills install https://github.com/tradermonty/claude-trading-skills --path skills/pead-screenerManually: put the files in place
.devin/skills/pead-screener/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill pead-screener -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about pead-screener
How do I install pead-screener in Claude Code?
Run npx skills add tradermonty/claude-trading-skills --skill pead-screener -a claude-code. It installs to ~/.claude/skills/pead-screener/SKILL.md.
What does pead-screener do?
It screens post-earnings gap-up stocks for drift: reads weekly candles, looks for a red-candle pullback and breakout, assigns a stage and works out the trade parameters.
What do I need to run it?
An FMP key in FMP_API_KEY or passed with --api-key. Mode B also needs a JSON file from earnings-trade-analyzer with schema_version "1.0".
Source text
SKILL.md · MIT
--- name: pead-screener description: Screen post-earnings gap-up stocks for PEAD (Post-Earnings Announcement Drift) patterns. Analyzes weekly candle formation to detect red candle pullbacks and breakout signals. Supports two input modes - FMP earnings calendar (Mode A) or earnings-trade-analyzer JSON output (Mode B). Use when user asks about PEAD screening, post-earnings drift, earnings gap follow-through, red candle breakout patterns, or weekly earnings momentum setups. --- # 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_KEY` environment variable or pass `--api-key`) ```bash 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):** ```bash # 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):** ```bash # 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 1. Read the generated JSON and Markdown reports 2. Load `references/pead_strategy.md` for PEAD theory and pattern context 3. Load `references/entry_exit_rules.md` for 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 classification - `pead_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 approach - `references/entry_exit_rules.md` - Entry, exit, and position sizing rules
© tradermonty · MIT · tradermonty/claude-trading-skills