How to Trade the Day of Earnings with the Smarter Earnings Indicator
A data-driven guide to trading earnings day using the Smarter Earnings indicator on thinkorswim, covering IV crush mechanics, expected move calculations, pre-earnings strategies, post-earnings drift, and gap pattern analysis.
- Why Earnings Day Is Different From Every Other Trading Day
- IV Crush Mechanics: Why Options Lose Value After Earnings
- Expected Move Calculation: How the Options Market Prices Earnings
- Pre-Earnings Positioning: Strategies That Exploit IV Inflation
- Post-Earnings Announcement Drift (PEAD): The 60-Day Edge
- Gap-and-Go vs. Gap-and-Fade: Pattern Recognition After Earnings
- How the Smarter Earnings Indicator Works on thinkorswim
- Risk Management for Earnings Plays
- Building an Earnings Trading Workflow
- ThinkScript Automation: Scanning for Earnings Setups
- Combining Earnings Data with the TTM Squeeze
- Common Mistakes in Earnings Trading
Earnings season is where fortunes are made and accounts are blown. Every quarter, hundreds of stocks make violent moves in a single session, and most retail traders are on the wrong side. The Smarter Earnings indicator for thinkorswim was built to fix that. It plots expected move levels derived from the options market, overlays historical earnings reactions, and gives you a statistical framework for trading the most volatile day on any stock's calendar.
Why Earnings Day Is Different From Every Other Trading Day
On a typical day, large-cap stocks move 1% to 2%. On earnings day, moves of 5% to 15% are common. NFLX has moved more than 10% on earnings day in 8 of the last 12 quarters. META gapped 26% in February 2023.
Three forces collide on earnings day:
- Implied volatility crush: IV collapses 35% to 50% within minutes of the announcement, destroying option premium regardless of direction.
- Liquidity vacuum: Bid-ask spreads on options widen dramatically in the final hour before the report.
- Overnight gap risk: Most earnings are released after-hours or pre-market, exposing positions to gap risk that cannot be hedged in real time.
Trading earnings without understanding these forces is gambling. The Smarter Earnings indicator built for thinkorswim indicators gives you a framework by visualizing expected moves and historical patterns directly on the chart.
IV Crush Mechanics: Why Options Lose Value After Earnings
Implied volatility is the market's forecast of future price movement. Before earnings, IV inflates because traders know a large move is coming but not the direction. A stock with normal IV of 30% might see earnings-week IV spike to 80% or higher. The moment earnings are released, IV collapses back toward its historical average within 15 to 30 minutes.
| Stock | Pre-Earnings IV | Post-Earnings IV | IV Crush % | Actual Move |
|---|---|---|---|---|
| AAPL | 48% | 24% | 50% | +3.2% |
| TSLA | 95% | 55% | 42% | -8.7% |
| AMZN | 52% | 28% | 46% | +5.1% |
| NFLX | 78% | 38% | 51% | +12.4% |
| GOOGL | 42% | 25% | 40% | -2.8% |
| META | 65% | 32% | 51% | +7.6% |
Even when stocks make large moves (NFLX +12.4%), IV still crushes by 50%. Buying naked options before earnings is a losing strategy over time. You need the stock to move further than the expected move just to break even.
Expected Move Calculation: How the Options Market Prices Earnings
The expected move is the magnitude of price change the options market is pricing in. It does not predict direction, only how far the stock is likely to move.
Method 1: Straddle Price. Take the ATM straddle price for the nearest weekly expiration after earnings. That total premium equals the expected move in dollar terms. Example: Stock at $150, ATM call = $7.50, ATM put = $6.80. Expected move = $14.30, or about 9.5%.
Method 2: IV-Based. Expected Move = Stock Price x IV x sqrt(DTE/365).
# Expected Move Calculation for Earnings
declare upper;
def earningsDate = HasEarnings(EarningsTiming.AFTER_MARKET) or HasEarnings(EarningsTiming.BEFORE_MARKET);
def closeOnEarnings = if earningsDate then close else closeOnEarnings[1];
def ivOnEarnings = if earningsDate then imp_volatility() else ivOnEarnings[1];
def dte = 7;
def expectedMovePct = ivOnEarnings * Sqrt(dte / 365);
def expectedMoveUpper = closeOnEarnings * (1 + expectedMovePct);
def expectedMoveLower = closeOnEarnings * (1 - expectedMovePct);
plot UpperExpected = if earningsDate then expectedMoveUpper else Double.NaN;
plot LowerExpected = if earningsDate then expectedMoveLower else Double.NaN;
UpperExpected.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
LowerExpected.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
UpperExpected.SetDefaultColor(Color.GREEN);
LowerExpected.SetDefaultColor(Color.RED);CBOE research shows roughly 70% of the time, the actual post-earnings move falls within the expected range. This is why selling premium around earnings has been historically profitable.
Pre-Earnings Positioning: Strategies That Exploit IV Inflation
1. Long Straddle (Buying Volatility). Buy the ATM call and ATM put. You profit if the stock moves more than the expected move in either direction. Win rate is roughly 30%, but winners can be large.
2. Iron Condor (Selling Volatility). Sell an iron condor outside the expected move. You profit if the stock stays within the expected range. Win rate is roughly 70%, but losers can be large.
3. Iron Butterfly. Sell the ATM straddle and buy wings for protection. Caps your risk while still collecting premium.
IV typically starts climbing 5 to 7 days before earnings. If buying volatility, enter 7 to 10 days early. If selling volatility, enter 1 to 2 days before for maximum premium. Traders using thinkorswim scripts for day trading can automate alerts when IV reaches specific thresholds before earnings.
Post-Earnings Announcement Drift (PEAD): The 60-Day Edge
Post-Earnings Announcement Drift (PEAD), first identified by Ball and Brown in 1968, shows that stocks continue to drift in the direction of the earnings surprise for 60 to 90 days after the announcement.
- Stocks that beat estimates by more than 10% drift an additional 3% to 7% over 60 days.
- Stocks that miss by more than 10% continue to fall an additional 2% to 5%.
- The drift is strongest in the first 5 to 10 days after earnings.
- Small-cap and mid-cap stocks show stronger PEAD than large-caps.
The Smarter Earnings indicator helps you trade PEAD by marking the earnings gap, plotting the surprise direction, and tracking drift. You can use thinkorswim scanners to filter for stocks with strong recent earnings surprises.
Gap-and-Go vs. Gap-and-Fade: Pattern Recognition After Earnings
Gap-and-Go: The stock gaps and continues in the same direction all session. More common after large positive surprises in strong uptrends.
Gap-and-Fade: The stock gaps but reverses and fills part or all of the gap during the session. Happens when the reaction was emotional or the beat was priced in.
| Gap Size | Gap-and-Go Rate | Fill Within 1 Day | Fill Within 5 Days | Fill Within 20 Days |
|---|---|---|---|---|
| Less than 3% | 38% | 52% | 75% | 85% |
| 3% to 5% | 45% | 40% | 68% | 78% |
| 5% to 10% | 55% | 28% | 55% | 65% |
| 10% to 20% | 65% | 15% | 38% | 52% |
| Greater than 20% | 72% | 8% | 22% | 40% |
How the Smarter Earnings Indicator Works on thinkorswim
The Smarter Earnings indicator overlays three layers of earnings intelligence on any chart:
Layer 1: Expected Move Zones. Before each earnings date, the indicator calculates the expected move and plots upper and lower boundary lines representing the 1 standard deviation range.
Layer 2: Historical Earnings Reactions. Every past earnings date is marked with color-coded labels showing the actual percentage move, beat or miss status, and whether the gap filled within 5 days.
Layer 3: Pattern Classification. Each event is classified as gap-and-go or gap-and-fade with cumulative win rates per stock.
# Classify historical earnings gaps as Go or Fade
def isEarningsDay = HasEarnings();
def earningsGap = if isEarningsDay then (open - close[1]) / close[1] * 100 else 0;
def gapDirection = if earningsGap > 0 then 1 else if earningsGap < 0 then -1 else 0;
def sessionMove = close - open;
def isGapAndGo = if isEarningsDay and gapDirection > 0 and sessionMove > 0 then 1
else if isEarningsDay and gapDirection < 0 and sessionMove < 0 then 1
else 0;
def isGapAndFade = if isEarningsDay and !isGapAndGo and AbsValue(earningsGap) > 1 then 1 else 0;
AddLabel(isEarningsDay and isGapAndGo, "GAP & GO " + AsPercent(earningsGap / 100), Color.GREEN);
AddLabel(isEarningsDay and isGapAndFade, "GAP & FADE " + AsPercent(earningsGap / 100), Color.ORANGE);Among thinkorswim indicators focused on earnings analysis, this is the most data-driven approach available.
Risk Management for Earnings Plays
Position Sizing:
- Risk no more than 1% to 2% of account equity per earnings trade.
- Use defined-risk strategies so maximum loss is known before entry.
- If trading stock, set a hard stop at the opposite expected move boundary.
Portfolio Rules:
- No more than 3 to 4 earnings trades open simultaneously.
- Diversify across sectors.
- Track earnings results separately from regular trading.
The Volatility Box complements the Smarter Earnings indicator with real-time volatility-based support and resistance levels. The Futures Volatility Box provides the same framework for index futures when broad-market earnings create correlated moves.
Building an Earnings Trading Workflow
Stage 1: Scan (7 Days Before). Use thinkorswim scanners to find stocks reporting earnings. Filter for liquid names with volume over 2 million and options open interest over 10,000.
Stage 2: Analyze (5 Days Before). Load the Smarter Earnings indicator. Review the last 8 quarters of earnings reactions.
Stage 3: Set Up (1 to 2 Days Before). Choose your strategy based on historical patterns. Size based on maximum risk.
Stage 4: Manage (Earnings Day). Compare the actual move to the expected move on the indicator.
Stage 5: Follow-Through (1 to 10 Days After). If the surprise was significant, look for PEAD. The TTM Squeeze on thinkorswim can confirm continuation. When the Squeeze Pro fires in the gap direction, continuation probability increases.
ThinkScript Automation: Scanning for Earnings Setups
The following thinkorswim scripts for day trading automate finding high-probability earnings setups.
# Scan for stocks with earnings in next 7 days
def hasUpcomingEarnings = HasEarnings(EarningsTiming.AFTER_MARKET, 7) or
HasEarnings(EarningsTiming.BEFORE_MARKET, 7);
def ivPercentile = IVPercentile();
def avgVolume = Average(volume, 20);
def isLiquid = avgVolume >= 2000000;
def highIV = ivPercentile >= 70;
def lowIV = ivPercentile <= 30;
plot scanSellSetup = hasUpcomingEarnings and highIV and isLiquid;
plot scanBuySetup = hasUpcomingEarnings and lowIV and isLiquid;High IV percentile favors premium-selling strategies. Low IV percentile favors buying. For traders who use thinkorswim scanners regularly, adding an earnings filter transforms your daily scan into a seasonal opportunity detector.
Combining Earnings Data with the TTM Squeeze
The ttm squeeze thinkorswim indicator identifies low volatility compression before large moves. When a stock is in a squeeze heading into earnings, the move is often amplified because two catalysts stack: the squeeze release and the earnings reaction.
- Stocks in a TTM Squeeze entering earnings gap 20% to 35% further than stocks not in a squeeze.
- Squeeze momentum direction is more accurate when confirmed by an earnings surprise.
- Post-earnings drift is stronger when the stock was compressed before the announcement.
The ttm squeeze thinkorswim setup combined with the Smarter Earnings indicator creates a powerful filter. The full indicator suite includes both tools on the same chart.
Common Mistakes in Earnings Trading
Mistake 1: Buying ATM options the day before earnings. IV is at its peak. Even if direction is correct, IV crush can produce a loss. Buy 7 to 10 days before or use spreads.
Mistake 2: Ignoring the expected move. If the expected move is 8% and you buy a straddle, the stock needs to move more than 8% for profit.
Mistake 3: Trading every earnings event. Use historical data from the indicator to pick your spots.
Mistake 4: Sizing too large. Risk 1% to 2% per trade, no exceptions.
Mistake 5: No exit plan. Decide before the announcement at what price you take profit and at what price you exit. Write it down.
FAQ: What is IV crush and how does it affect earnings trades?
IV crush is the rapid decline in implied volatility after an earnings announcement. Before earnings, options carry inflated IV to reflect the expected move. Once news drops, IV falls 35% to 50% in minutes. For buyers, this works against you even on a correct directional call. For sellers, it works in your favor. The Smarter Earnings indicator tracks historical IV crush per stock.
FAQ: How do you calculate the expected move for an earnings event?
Add the ATM call and ATM put prices for the nearest weekly expiration. That total is the expected move in dollars. Divide by stock price for a percentage. A more precise method: Stock Price x IV x sqrt(DTE/365). The Smarter Earnings indicator automates both and plots the levels on the chart.
FAQ: Is it better to buy or sell options before earnings?
It depends on the stock. Selling premium wins roughly 70% of the time. Buying premium wins less often but produces larger gains when the stock exceeds expectations. The Smarter Earnings indicator shows how often each stock exceeds or stays within the expected move.
FAQ: What is post-earnings announcement drift and how long does it last?
PEAD is the tendency for stocks to continue drifting in the surprise direction for 60 to 90 days. First documented in 1968, the drift is strongest in the first 5 to 10 days. The Smarter Earnings indicator tracks drift by plotting cumulative price change since the earnings date.
FAQ: How reliable are gap fills after earnings?
Small gaps (under 3%) fill 75% of the time within 5 days. Medium gaps (3% to 5%) fill 68%. Large gaps (over 10%) fill only 38%. Gaps over 20% fill just 22% in the first week. The bigger the gap, the less likely it fills. The Smarter Earnings indicator tracks gap fill rates per stock.
FAQ: Can the Smarter Earnings indicator be used for day trading on earnings day?
Yes. Expected move levels act as support and resistance during the session. The indicator classifies the session as gap-and-go or gap-and-fade in real time. For traders using thinkorswim scripts for day trading, it integrates with standard alert functions for notifications at expected move boundaries.
Ready to Trade With an Edge?
Join 40,000+ traders using institutional-grade tools for ThinkOrSwim.
Get the Bundle