Alphanume

Insights

How to Find Out If a Stock Over- or Under-Prices Its Earnings

Alphanume Team · June 1, 2026

Use Alphanume's earnings move history to see, ticker by ticker, whether the options market has historically over-priced or under-priced the move.

Selling a straddle into earnings is only an edge if the options market tends to price more movement than the stock delivers. The Alphanume Earnings Implied vs Realized endpoint tells you exactly that, per ticker, with running statistics that summarize the full track record.

The endpoint
GET https://api.alphanume.com/v1/earnings-move-history

Authenticate with ?api_key=alp_your_key or an X-API-Key header. Pass a ticker to get one name, or use date filters to pull a slice of the calendar.

Check one ticker's tendency
import requests

r = requests.get(
    "https://api.alphanume.com/v1/earnings-move-history",
    params={"ticker": "AAPL", "api_key": "alp_your_key"},
)
events = r.json()["data"]
latest = events[-1]
print("over-priced hit rate to date:", latest["hit_rate_to_date"])
print("avg implied move:", latest["avg_implied_move_to_date"])
print("avg realized move:", latest["avg_realized_abs_to_date"])

The hit_rate_to_date field answers the question directly: across this name's history, how often did the straddle over-price the move? A consistently high hit rate, paired with avg_over_under_to_date showing implied above realized, is the classic premium-selling profile. The figures are point-in-time, so the running stats on any past row reflect only events known up to that date.

Per-event detail

Each row also carries the single-event numbers: implied_move_pct versus realized_abs_move_pct, the over_under_pct, the move_ratio, and an overpriced flag. You can use these to study whether a name's tendency is steady or driven by a few outlier reports.

Build an earnings-season screen
  • Pull the latest row per ticker and rank by hit_rate_to_date.
  • Keep names with enough history (n_events_to_date above your threshold).
  • Cross-reference upcoming reports and the time field (before open or after close) to plan entries.
Access and limits

The dataset is on the free tier as a rolling 30-day delayed window, Pro at 600 requests per minute, and is fixed once the post-earnings session resolves. Start with a free Alphanume API key and the API documentation, or explore it on Alphanume.

Reading the track record correctly

The headline figure is hit_rate_to_date, the share of past events where the straddle over-priced the move. A consistently high hit rate paired with average implied above average realized is the classic premium-selling profile. But a single number can hide a lot, so it pays to check how that tendency was built.

Look at n_events_to_date to confirm there is enough history, and scan the per-event over_under_pct and move_ratio to see whether the edge is steady or driven by a few outlier reports. The per-event fields and the running stats together let you separate a genuinely repeatable tendency from a small-sample artifact before you put on the trade.

Frequently asked questions

How do I check a stock's earnings tendency?

Call the earnings-move-history endpoint with a ticker and read hit_rate_to_date on the latest row. That is the share of past events where the straddle over-priced the move.

What endpoint do I use?

GET https://api.alphanume.com/v1/earnings-move-history. Authenticate with ?api_key=alp_your_key or an X-API-Key header, and pass a ticker for one name.

Are the running stats point-in-time?

Yes. The to-date statistics on any row reflect only events known up to that date, so they are honest for backtesting and do not leak future events.

How do I avoid being fooled by a few outliers?

Check n_events_to_date to confirm there is enough history, and look at per-event over_under_pct and move_ratio to see whether the tendency is steady or driven by a handful of reports.

Can I rank a whole earnings season?

Yes. Pull the latest row per ticker, filter for enough history, and rank by hit_rate_to_date to find the names most prone to over-pricing their moves.