К основному содержанию
скилл CX Codex

earnings-trade-analyzer — скилл для Claude Code: оценка постинговых

Скилл оценивает акции после отчётов по пяти факторам, ставит балл 0–100 и буквенную оценку A/B/C/D.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add tradermonty/claude-trading-skills --skill earnings-trade-analyzer -a claude-code
Открыть на GitHub

Что делает earnings-trade-analyzer

Скилл запускает скрипт analyze_earnings_trades.py, который берёт календарь отчётов за нужное окно и прогоняет каждую бумагу через пять факторов: размер гэпа, тренд за 20 дней до отчёта, отношение объёмов за 20 и 60 дней, положение к 200-дневной и 50-дневной скользящим средним. На выходе — балл от 0 до 100 и оценка A/B/C/D, плюс JSON и Markdown-отчёт в каталоге reports/.

Для работы нужен ключ FMP API: положите его в переменную окружения FMP_API_KEY или передайте флагом --api-key. Бесплатного тарифа хватает на стандартный прогон с окном 2 дня и топ-20; для широких окон советуют платный. Окно считается по календарной дате America/New_York, а не по локальным часам машины, поэтому флаг --as-of даёт воспроизводимый результат.

Есть отдельная логика на сбойные случаи. Пустой ответ провайдера на окне, где есть хотя бы одна сессия XNYS, не считается тихим днём: скрипт выходит с кодом 1 и причиной ZERO_RESULT_REASON=earnings_calendar_empty_with_market_sessions. То же при исчерпании бюджета вызовов и недоступном календаре. Если скрипт напечатал «Candidates after filtering: 0» и завершился успешно, JSON-файла не будет — запускать режим PEAD по несуществующему файлу бессмысленно. Это повод проверить, что окно действительно пустое, а не что провайдер отдал пустоту.

Какие задачи решает

  • отобрать акции с сильной реакцией на отчёт за последние дни
  • присвоить каждой бумаге балл и буквенную оценку вместо ручного сравнения
  • найти кандидатов на продолжение движения после гэпа
  • отсеять слабые сетапы фильтром качества входа
  • получить готовый отчёт в JSON и Markdown для разбора

Примеры запросов агенту

  • проанализируй постинговые реакции за последние 2 дня и покажи топ-20
  • прогони earnings-trade-analyzer с окном 5 дней и минимальной капитализацией 1000000000
  • запусти анализ с фильтром качества входа и разбери оценки A и B

Как установить earnings-trade-analyzer

1Через Skills CLI (Vercel)

npx skills add tradermonty/claude-trading-skills --skill earnings-trade-analyzer -a claude-code

2Вручную: положить файлы

~/.claude/skills/earnings-trade-analyzer/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/earnings-trade-analyzer/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора73

earnings-calendar Скилл достаёт из Financial Modeling Prep расписание квартальных отчётов по акциям США и собирает его в markdown-таблицу по датам и времени публикации. CX Codex +1 3 500установок uptrend-analyzer Считает композитный балл 0–100 по данным Monty's Uptrend Ratio Dashboard и подсказывает, какой доли в акциях держаться. CX Codex +1 3 400установок market-top-detector Оценивает тактический риск коррекции рынка на 10–20% на горизонте 2–8 недель по методикам О'Нила, Минервини и Монти. CX Codex +1 3 400установок us-market-bubble-detector Считает риск пузыря на рынке США по цифрам: Put/Call, VIX, маржинальный долг, ширина рынка, IPO. Пригодится, когда пора решать, фиксировать прибыль или нет. CX Codex +1 3 400установок breadth-chart-analyst Скилл оценивает ширину рынка США по скользящим средним S&P 500 и доле растущих акций. Загружает CSV-данные или графики, готовя отчёты по сигналам на вход. CX Codex +1 3 400установок scenario-analyzer Разбирает новостной заголовок в три сценария на 18 месяцев вперёд, с последствиями по секторам и списком акций. CX Codex +1 3 400установок edge-strategy-reviewer Детерминированный контроль качества черновиков стратегий: проверяет правдоподобность edge, риск переобучения и реализм исполнения. Выдаёт вердикт PASS, REVISE или REJECT. CX Codex +1 3 400установок edge-strategy-designer Превращает концепты торговых гипотез из edge_concepts.yaml в драфты торговых стратегий и тикеты для экспорта. Помогает подготовить варианты рисков перед валидацией пайплайна. CX Codex +1 3 400установок

Похожие

earnings-preview himself65 Собирает брифинг перед отчётом компании: дата и время публикации, консенсус по EPS и выручке, история beat/miss, оценки аналитиков. CX Codex +1 3 200установок earnings-recap himself65 Разбирает опубликованный квартальный отчёт компании: EPS, выручку, маржи и реакцию акций. Нужен для вопросов о результате, сюрпризе и движении после отчёта. CX Codex +1 3 200установок earnings-preview-single официальный anthropics Генерирует HTML-отчёт equity research на 4–5 страниц по одной компании: анализирует транскрипт последнего earnings call, конкурентов, мультипликаторы и новости. CX Codex +1 1 800установок earnings-analysis официальный anthropics Скилл собирает отчёт по квартальным результатам компании: сравнивает факты с ожиданиями, обновляет оценки и показывает влияние на инвестиционный тезис. CX Codex +1 3 400установок trade-execution JoelLewis Скилл для оценки best execution, выбора алгоритмов исполнения и построения TCA. Пригодится, когда нужно разобрать маршрутизацию ордеров или подготовить отчёт для комитета. CX Codex +1 705установок pre-trade-compliance JoelLewis Скилл для проектирования систем, которые проверяют заявки до отправки брокеру: правила, блокировки, лимиты концентрации и списки ограничений. CX Codex +1 667установок

Вопросы о earnings-trade-analyzer

Как установить earnings-trade-analyzer в Claude?

Выполните npx skills add tradermonty/claude-trading-skills --skill earnings-trade-analyzer -a claude-code. Скилл окажется в ~/.claude/skills/earnings-trade-analyzer/SKILL.md.

Что делает earnings-trade-analyzer?

Считает пять факторов по каждой акции после отчёта, выдаёт балл 0–100 и оценку A/B/C/D, а также сохраняет JSON и Markdown-отчёт.

Что нужно для работы скилла?

Ключ FMP API в переменной FMP_API_KEY или через флаг --api-key. Стандартное окно в 2 дня и топ-20 укладывается в бесплатный тариф.

Исходный текст

SKILL.md · MIT
---
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.
---

# Earnings Trade Analyzer - Post-Earnings 5-Factor Scoring

Analyze recent post-earnings stocks using a 5-factor weighted scoring system to identify the strongest earnings reactions for potential momentum trades.

## When to Use

- User asks for post-earnings trade analysis or earnings gap screening
- User wants to find the best recent earnings reactions
- User requests earnings momentum scoring or grading
- User asks about post-earnings accumulation day (PEAD) candidates

## Prerequisites

- FMP API key (set `FMP_API_KEY` environment variable or pass `--api-key`)
- Free tier (250 calls/day) is sufficient for default screening (lookback 2 days, top 20)
- Paid tier recommended for larger lookback windows or full screening

## Workflow

### Step 1: Run the Earnings Trade Analyzer

Execute the analyzer script:

```bash
# 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/
```

#### Degraded endpoint / budget fallback for scheduled reviews

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:

```bash
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:

```bash
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.

#### Empty windows and today-only runs

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.

### Step 2: Review Results

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

### Step 3: Present Analysis

For each top candidate, present:
- Composite score and letter grade (A/B/C/D)
- Earnings gap size and direction
- Pre-earnings 20-day trend
- Volume ratio (20-day vs 60-day average)
- Position relative to 200-day and 50-day moving averages
- Weakest and strongest scoring components

### Step 4: Provide Actionable Guidance

Based on grades:
- **Grade A (85+):** Strong earnings reaction with institutional accumulation - consider entry
- **Grade B (70-84):** Good earnings reaction worth monitoring - wait for pullback or confirmation
- **Grade C (55-69):** Mixed signals - use caution, additional analysis needed
- **Grade D (<55):** Weak setup - avoid or wait for better conditions

## Output

- `earnings_trade_analyzer_YYYY-MM-DD_HHMMSS.json` - Structured results with schema_version "1.0"
- `earnings_trade_analyzer_YYYY-MM-DD_HHMMSS.md` - Human-readable report with tables

### Unknown earnings timing

FMP does not confirm a bmo/amc session for every earnings row; unconfirmed
rows report `earnings_timing: "unknown"` and the gap calculation assumes the
AMC window as a fallback. Both reports surface `timing_unknown_count` out of
`timing_candidates_total` so this assumption stays visible rather than
blending unnoticed into the scores.

## Resources

- `references/scoring_methodology.md` - 5-factor scoring system, grade thresholds, and entry quality filter rules

© tradermonty · MIT · tradermonty/claude-trading-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой