Today's Pick and the Runner-Up Pick

The two best pre-earnings setups in the morning scan - the ticker, the entry price, the targets and the stop-loss - in your inbox right after the open.

✓ Today's #1 pick and the runner-up: the ticker, the entry, the targets and the stop-loss
✓ Top 5 daily picks sent to your email every morning right after the open
✓ The full 100-stock table, rescored and sorted daily
✓ 20 AI questions a day on any stock
Unlock for $29/month
$29/month · cancel any time
The day's top 5 pre-earnings picks, in your inbox
Free, once a day: ticker, score, price and days to the earnings print.
★ 5.0 from our readers
★ ★ ★ ★ ★
Tap a star to unlock - one tap, no comment - then add your email below.
One email a day. Unsubscribe any time.
★ 5.0 from our readers

How the score and the price bands are computed

Every number on this site is a measurement, and every measurement has a method. This page is that method, in full: the five factors that make the 0-100 score, and the one options measurement behind the 3-day, 7-day and 14-day price ranges. Where a measurement could not be taken we print n/a - never a zero.

The score: 0 to 100

The score is built from five factors and the total is capped at 100. Four of them come from the analyst book and the options market; one comes from the earnings history.

FactorWhat it measuresPoints
Analyst coverageOne point for every analyst covering the stock, up to 25.25
Buy convictionThe share of ratings that are Buy or Strong Buy (bullish = strong buy + buy; total = bullish + hold + sell), as a percentage, multiplied by 0.25 and capped at 25. 100% bullish ratings earn the full 25 points.25
Strong Buy countTwo points for every Strong Buy rating, up to 20.20
14-day implied moveThe options market's implied 14-day move, as a percentage of the current price, capped at 15. A 10% implied move earns 10 points.15
Earnings sentimentRecent earnings history: Positive = 15, Mixed = 7, Negative = 0.15
TotalCapped at 100100

A score of 75 or more is flagged Strong Buy, and a score of 50 or more is Watch. A row scoring under 50 is not published in the table at all - we would rather show fewer names than show a name we do not rate.

The bands: 3-day, 7-day and 14-day

One measured number. Each row's band is built from ONE number: the at-the-money straddle - the call plus the put at the same strike, at the strike nearest the current price - quoted on the nearest listed expiry that still has time left. A straddle is the options market's own price for how far a stock is expected to move, so it is the one number here that is not invented.

Square root of time. Moves grow with the square root of time, not linearly. The move over h days is therefore:

move(h) = straddle * sqrt(h / T)

T is the number of days to that expiry. So a 4-day expiry is scaled by sqrt(3/4), sqrt(7/4) and sqrt(14/4) for the 3-day, 7-day and 14-day bands; an 18-day expiry is scaled by sqrt(3/18), sqrt(7/18) and sqrt(14/18).

Both ends of the band. Long = current price + move(h). Short = current price - move(h). The move is identical on both sides: a straddle prices the SIZE of a move, not its direction. The table shows the Long line above the Short line, each with its signed percentage.

Earnings. When the expiry we quote falls after the earnings date, the straddle's price already contains the market's expectation of the print - that is the whole point of quoting it.

Checkable. Every row also publishes the implied volatility the band came from, so a reader can check the arithmetic. The score's fourth factor IS the published 14-day implied move, so the score and the table always come from the same measurement.

A worked example: DDOG

One scan row, worked through by hand. Everything below is computed from the price, the at-the-money straddle, the expiry it was quoted on, and the implied volatility we publish - nothing here is typed in.

HorizonMultiplierMoveMove %LongShort
3-day1.0000$34.4515.94%Long $250.55 (+15.94%)Short $181.65 (-15.94%)
7-day1.5275$52.6224.35%Long $268.72 (+24.35%)Short $163.48 (-24.35%)
14-day2.1602$74.4234.44%Long $290.52 (+34.44%)Short $141.68 (-34.44%)

Every row is move(h) = straddle * sqrt(h / T), and Long is the price plus that move while Short is the price minus it.

Where the numbers come from

Prices and options chains from Yahoo Finance. Analyst ratings from Yahoo Finance's recommendations endpoint. News headlines from Google News RSS, filtered by the company name. Earnings dates from Yahoo Finance's calendar.

What this is not

This page is not financial advice. The band is an estimate of the market's implied move, not a promise: options prices move, and actual results may differ.

The table itself is on the scanner, and every row we publish is downloadable from the open data.

Free pre-earnings data↑
The day's top 5 pre-earnings picks, in your inbox
Free, once a day: ticker, score, price and days to the earnings print.
One email a day. Unsubscribe any time.
Protected by CloudflareSSL/TLS encrypted