earnings-calendar
npx machina-cli add skill staskh/trading_skills/earnings-calendar --openclawEarnings Calendar
Retrieve upcoming earnings dates for stocks.
Instructions
Note: If
uvis not installed orpyproject.tomlis not found, replaceuv run pythonwithpythonin all commands below.
uv run python scripts/earnings.py SYMBOLS
Arguments
SYMBOLS- Ticker symbol or comma-separated list (e.g.,AAPLorAAPL,MSFT,GOOGL,NVDA)
Output
Single symbol returns:
symbol- Ticker symbolearnings_date- Next earnings date (YYYY-MM-DD)timing- "BMO" (Before Market Open), "AMC" (After Market Close), or nulleps_estimate- Consensus EPS estimate, or null if unavailable
Multiple symbols returns:
results- Array of earnings info, sorted by date (soonest first)
Examples
# Single symbol
uv run python scripts/earnings.py NVDA
# Multiple symbols (sorted by date)
uv run python scripts/earnings.py AAPL,MSFT,GOOGL,NVDA,META
# Portfolio earnings calendar
uv run python scripts/earnings.py CAT,GOOG,HOOD,IWM,NVDA,PLTR,QQQ,UNH
Use Cases
- Check when positions have upcoming earnings risk
- Plan trades around earnings announcements
- Build an earnings calendar for watchlist
Dependencies
pandasyfinance
Source
git clone https://github.com/staskh/trading_skills/blob/main/.claude/skills/earnings-calendar/SKILL.mdView on GitHub Overview
This skill retrieves upcoming stock earnings dates and returns per-symbol data including the next earnings date, market timing (BMO/AMC) if available, and the consensus EPS estimate. It supports single or multiple symbols and sorts results by the soonest date, helping you anticipate earnings-related moves.
How This Skill Works
A Python script (scripts/earnings.py) is invoked with one or more ticker symbols using uv (or plain python if uv is unavailable). It uses pandas and yfinance to fetch the next earnings date, timing, and EPS estimate for each symbol, then outputs either a single symbol object or a results array sorted by earnings_date.
When to Use It
- When a user asks for upcoming earnings dates or an earnings calendar
- When planning trades around a company's earnings announcement
- To monitor earnings risk for current positions
- To build and maintain a watchlist's earnings calendar
- When you need the next report date for multiple symbols
Quick Start
- Step 1: Ensure Python environment is ready with uv installed (or use python directly).
- Step 2: Run the earnings script with your symbols, e.g., uv run python scripts/earnings.py AAPL,MSFT.
- Step 3: Review the output JSON showing symbol, earnings_date, timing, and eps_estimate.
Best Practices
- Verify that SYMBOLS are correctly formatted as a single symbol or a comma-separated list (e.g., AAPL or AAPL,MSFT,GOOGL).
- Note the timing field and handle null values when timing is not available (BMO/AMC may be missing).
- Treat null eps_estimate as unavailable and avoid assuming a value.
- Ensure results are sorted by earnings_date to highlight the soonest events first.
- Keep dependencies (pandas, yfinance) up to date and test with a single symbol before running large lists.
Example Use Cases
- uv run python scripts/earnings.py NVDA
- uv run python scripts/earnings.py AAPL,MSFT,GOOGL,NVDA,META
- Portfolio earnings calendar: CAT,GOOG,HOOD,IWM,NVDA,PLTR,QQQ,UNH
- Check upcoming earnings risk for a current NVDA position
- Build an earnings calendar for a watchlist of 10 symbols