Tour
396
Earnings Analysis
Why this page exists: MSFT has no documented material pre-announcement habit — the edge here is the earnings-cycle statistics themselves (drift, gap, reaction, follow-through) and how they vary by regime. This page
measures every earnings cycle — drift into the report, the gap, the reaction,
the follow-through — alongside the NVDA / SPY / VIX regime it happened in, and
uses the documented pre-announcement history to project when the next
pre-announcement is most likely to land. All numbers are computed from real
daily prices, real earnings dates, our own ATM-straddle expected moves and
stored option chains, and a
curated registry of real press releases. Nothing is simulated.
Next earnings & predicted pre-announcement window
Wednesday, July 29, 2026
Next confirmed MSFT earnings date (source: exchange calendar).
Current regime & edge read
As of 2026-07-24: NVDA Strong Down (nan% 20d), SPY Strong Down (nan%), SOX Mild Down, VIX 18.7 (Medium (15-25)).
EdgeScore +0.23 (Neutral / Mixed)
| Component | Current bucket | Hist. mean reaction | N |
|---|---|---|---|
| NVDA regime | Strong Down expl. | +3.6% | 5 |
| VIX level | Medium (15-25) | -0.2% | 23 |
| Earnings weekday | Wednesday | -0.6% | 15 |
EdgeScore = mean of the matching buckets' historical mean earnings reactions, normalized by the average absolute reaction (±1 cap). Transparent and purely historical — not a prediction model.
Cycles
46
Avg reaction
+0.6%
Median reaction
+0.6%
Avg |move|
4.0%
Up rate
57%
Avg drift T-20
+2.7%
Event-window statistics (all cycles)
| Window | N | Mean | Median | Std | Min / Max | Win% |
|---|---|---|---|---|---|---|
| Drift T-20 → report | 46 | +2.7% | +4.2% | 6.3 | -15.8% / +14.7% | 74% |
| Drift T-5 → report | 46 | +0.8% | +1.2% | 3.3 | -7.6% / +8.4% | 63% |
| Overnight gap | 46 | +1.1% | +1.7% | 4.6 | -8.7% / +9.1% | 59% |
| Reaction day (close→close) | 46 | +0.6% | +0.6% | 4.9 | -10.0% / +10.4% | 57% |
| Follow-through +5d | 46 | +0.1% | +0.4% | 2.6 | -5.6% / +4.1% | 54% |
| Follow-through +20d | 46 | +1.0% | +2.0% | 4.7 | -8.2% / +9.7% | 57% |
| Max favorable excursion (20d) | 46 | +5.7% | +5.9% | 6.3 | -8.1% / +17.4% | 80% |
| Max adverse excursion (20d) | 46 | -3.9% | -2.8% | 6.2 | -20.6% / +8.8% | 24% |
Reaction by regime & calendar
Reaction by report weekday
| Bucket | N | Mean | Median | Std | Win% |
|---|---|---|---|---|---|
| Thursday | 13 | +2.9% | +1.8% | 4.5 | 85% |
| Tuesday | 17 | +0.4% | -0.1% | 4.3 | 47% |
| Wednesday | 15 | -0.6% | -0.8% | 4.8 | 47% |
| Monday n<10 | 1 | -9.2% | -9.2% | 0.0 | 0% |
Reaction by NVDA 20-day regime
| Bucket | N | Mean | Median | Std | Win% |
|---|---|---|---|---|---|
| Strong Down n<10 | 5 | +3.6% | +4.8% | 2.6 | 80% |
| Mild Up | 10 | +1.1% | +2.4% | 5.1 | 70% |
| Strong Up | 16 | +0.2% | -0.7% | 4.4 | 44% |
| Sideways n<10 | 9 | -0.3% | +0.3% | 6.4 | 56% |
| Mild Down n<10 | 6 | -0.7% | +0.8% | 3.2 | 50% |
Reaction by VIX level
| Bucket | N | Mean | Median | Std | Win% |
|---|---|---|---|---|---|
| Low (<15) | 17 | +1.6% | +1.8% | 4.6 | 65% |
| High (>25) n<10 | 6 | +0.3% | +1.9% | 5.0 | 67% |
| Medium (15-25) | 23 | -0.2% | -0.1% | 4.9 | 48% |
Drift T-20 by NVDA regime
| Bucket | N | Mean | Median | Std | Win% |
|---|---|---|---|---|---|
| Strong Up | 16 | +7.2% | +6.7% | 3.8 | 100% |
| Mild Up | 10 | +4.0% | +5.1% | 2.8 | 80% |
| Mild Down n<10 | 6 | +1.7% | +2.4% | 3.5 | 83% |
| Sideways n<10 | 9 | +1.3% | +2.9% | 3.4 | 56% |
| Strong Down n<10 | 5 | -10.9% | -10.2% | 3.1 | 0% |
Documented pre-announcements
No documented pre-announcements in the registry.
Expected move vs actual (our nightly ATM data)
| Report date | Expected move | Actual reaction | Gap | Actual / EM |
|---|---|---|---|---|
| 2026-04-29 | 6.7% | -3.9% | -3.2% | 0.58x |
| 2026-01-28 | 5.6% | -10.0% | -8.7% | 1.79x |
Only cycles inside our own options-database coverage window are shown — we do not fabricate historical implied volatility. Coverage grows each quarter.
Options strategy P&L — priced from our own chains
No earnings cycles inside our chain coverage window yet — this section fills in automatically as coverage grows.
Every earnings cycle
| Report | Pre | Drift20 | Gap | React | +5d | +20d | MFE | MAE | HV20 | NVDA / VIX | Surprise |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-04-29 Wednesday | +14.7% | -3.2% | -3.9% | +1.5% | +4.9% | +1.9% | -6.2% | 29% | Strong Up / Medium (15-25) | +5% | |
| 2026-01-28 Wednesday | -1.1% | -8.7% | -10.0% | -4.5% | -7.1% | -8.1% | -20.6% | 23% | Sideways / Medium (15-25) | +6% | |
| 2025-10-29 Wednesday | +4.2% | -2.0% | -2.9% | -3.5% | -7.5% | -1.2% | -14.0% | 15% | Strong Up / Medium (15-25) | +13% | |
| 2025-07-30 Wednesday | +4.3% | +8.2% | +4.0% | -1.6% | -4.9% | +8.2% | -2.7% | 10% | Strong Up / Medium (15-25) | +8% | |
| 2025-04-30 Wednesday | 1 | +3.4% | +9.1% | +7.6% | +1.9% | +8.0% | +17.2% | +7.5% | 46% | Sideways / Medium (15-25) | +7% |
| 2025-01-29 Wednesday | +2.7% | -5.3% | -6.2% | -0.4% | -5.2% | -4.4% | -11.2% | 24% | Mild Down / Medium (15-25) | +3% | |
| 2024-10-30 Wednesday | +3.7% | -4.0% | -6.0% | +3.4% | +4.3% | -0.6% | -6.2% | 12% | Strong Up / Medium (15-25) | +6% | |
| 2024-07-30 Tuesday | -7.4% | -0.6% | -1.1% | -4.5% | -0.9% | +1.1% | -8.8% | 22% | Strong Down / Medium (15-25) | +0% | |
| 2024-04-25 Thursday | -5.3% | +3.3% | +1.8% | -2.1% | +5.3% | +8.9% | -2.5% | 18% | Mild Down / Medium (15-25) | +3% | |
| 2024-01-30 Tuesday | +8.7% | -0.4% | -2.7% | +2.0% | +2.7% | +3.0% | -2.8% | 13% | Strong Up / Low (<15) | +6% | |
| 2023-10-24 Tuesday | +5.9% | +4.4% | +3.1% | -0.8% | +9.7% | +14.9% | -1.1% | 19% | Mild Up / Medium (15-25) | +13% | |
| 2023-07-25 Tuesday | +6.8% | -2.7% | -3.8% | -0.4% | -4.3% | -1.8% | -11.1% | 23% | Strong Up / Low (<15) | +6% | |
| 2023-04-25 Tuesday | -0.3% | +7.7% | +7.2% | +3.4% | +7.0% | +17.4% | +6.3% | 21% | Sideways / Medium (15-25) | +10% | |
| 2023-01-24 Tuesday | +1.6% | -3.1% | -0.6% | +3.0% | +4.8% | +14.3% | -4.6% | 30% | Strong Up / Medium (15-25) | +0% | |
| 2022-10-25 Tuesday | +6.0% | -7.8% | -7.7% | -1.4% | +6.2% | -1.1% | -14.8% | 38% | Mild Up / High (>25) | +2% | |
| 2022-07-26 Tuesday | -4.9% | +3.7% | +6.7% | +2.3% | +3.1% | +16.8% | +2.8% | 27% | Sideways / Medium (15-25) | -3% | |
| 2022-04-26 Tuesday | -13.0% | +4.4% | +4.8% | -0.5% | -8.1% | +7.7% | -8.6% | 32% | Strong Down / High (>25) | +1% | |
| 2022-01-25 Tuesday | -15.8% | +6.8% | +2.9% | +4.1% | -5.3% | +9.2% | -2.7% | 24% | Strong Down / High (>25) | +7% | |
| 2021-10-26 Tuesday | +9.4% | +1.9% | +4.2% | +3.1% | +4.7% | +13.0% | +1.9% | 17% | Strong Up / Medium (15-25) | +9% | |
| 2021-07-27 Tuesday | +6.6% | +0.9% | -0.1% | +0.3% | +5.9% | +6.9% | -1.0% | 14% | Mild Down / Medium (15-25) | +13% | |
| 2021-04-27 Tuesday | +11.4% | -2.2% | -2.8% | -2.7% | -0.9% | -2.1% | -9.1% | 19% | Strong Up / Medium (15-25) | +10% | |
| 2021-01-26 Tuesday | +4.3% | +2.4% | +0.2% | +2.8% | +0.9% | +5.9% | -1.3% | 24% | Mild Up / Medium (15-25) | +24% | |
| 2020-10-27 Tuesday | +2.9% | -2.6% | -5.0% | +1.9% | +5.8% | +7.0% | -6.4% | 26% | Sideways / High (>25) | +18% | |
| 2020-07-22 Wednesday | +4.9% | -2.1% | -4.3% | +0.8% | +3.8% | +2.8% | -6.7% | 28% | Strong Up / Medium (15-25) | +6% | |
| 2020-04-29 Wednesday | +12.5% | +1.4% | +1.0% | +1.9% | +1.5% | +5.7% | -2.0% | 45% | Strong Up / High (>25) | +10% | |
| 2020-01-29 Wednesday | +6.6% | +3.6% | +2.8% | +4.1% | -8.2% | +13.5% | -5.7% | 18% | Mild Up / Medium (15-25) | +14% | |
| 2019-10-23 Wednesday | -1.5% | +1.6% | +2.0% | +3.3% | +7.3% | +10.3% | +1.0% | 18% | Mild Up / Low (<15) | +11% | |
| 2019-07-18 Thursday | +0.5% | +2.8% | +0.1% | +2.6% | -1.8% | +3.9% | -4.1% | 15% | Strong Up / Low (<15) | +13% | |
| 2019-04-24 Wednesday | +6.0% | +4.0% | +3.3% | -1.0% | -0.8% | +5.1% | -1.6% | 10% | Mild Up / Low (<15) | +14% | |
| 2019-01-30 Wednesday | +4.7% | -2.4% | -1.8% | +1.5% | +7.7% | +6.9% | -3.8% | 30% | Sideways / Medium (15-25) | +1% | |
| 2018-10-24 Wednesday | -10.2% | +4.1% | +5.8% | -1.4% | -4.4% | +9.7% | -2.5% | 35% | Strong Down / High (>25) | +18% | |
| 2018-07-19 Thursday | +2.5% | +3.5% | +1.8% | +3.1% | +1.7% | +6.5% | +0.3% | 17% | Mild Down / Low (<15) | +5% | |
| 2018-04-26 Thursday | +5.5% | +3.5% | +1.6% | -1.8% | +3.0% | +5.4% | -1.9% | 27% | Sideways / Medium (15-25) | +12% | |
| 2018-01-31 Wednesday | +10.5% | -0.2% | -0.8% | -4.9% | -1.0% | +1.4% | -11.8% | 16% | Strong Up / Low (<15) | +11% | |
| 2017-10-26 Thursday | +6.6% | +7.1% | +6.4% | +0.3% | -0.2% | +9.4% | +4.9% | 8% | Strong Up / Low (<15) | +15% | |
| 2017-07-20 Thursday | +5.6% | -1.0% | -0.6% | -0.8% | -1.4% | +0.4% | -4.0% | 17% | Mild Up / Low (<15) | +39% | |
| 2017-04-27 Thursday | +4.3% | +0.9% | +0.3% | +0.5% | +2.3% | +2.9% | -1.1% | 9% | Sideways / Low (<15) | +5% | |
| 2017-01-26 Thursday | +1.6% | +1.7% | +2.4% | -4.0% | -1.2% | +2.5% | -2.4% | 10% | Mild Down / Low (<15) | +7% | |
| 2016-10-20 Thursday | -1.0% | +5.3% | +4.2% | +0.7% | +2.3% | +7.2% | +0.1% | 12% | Mild Up / Low (<15) | +11% | |
| 2016-07-19 Tuesday | +6.0% | +5.8% | +5.3% | +1.5% | +3.4% | +10.2% | +4.6% | 25% | Strong Up / Low (<15) | +18% | |
| 2016-04-21 Thursday | +3.4% | -6.9% | -7.2% | -3.6% | -2.1% | -6.0% | -11.5% | 15% | Mild Up / Low (<15) | -3% | |
| 2016-01-28 Thursday | -7.9% | +5.1% | +5.8% | -5.6% | -6.2% | +5.8% | -7.4% | 29% | Strong Down / Medium (15-25) | +10% | |
| 2015-10-22 Thursday | +9.4% | +8.9% | +10.1% | +0.9% | +2.7% | +14.6% | +8.8% | 16% | Strong Up / Low (<15) | +14% | |
| 2015-07-21 Tuesday | +2.3% | -3.9% | -3.7% | -0.4% | +4.5% | +2.4% | -5.3% | 14% | Mild Down / Low (<15) | +9% | |
| 2015-04-23 Thursday | +4.5% | +5.3% | +10.4% | +1.6% | -0.3% | +14.3% | +5.3% | 18% | Mild Up / Low (<15) | +17% | |
| 2015-01-26 Monday | -2.4% | -8.6% | -9.2% | -3.2% | +4.1% | -5.1% | -14.4% | 20% | Sideways / Medium (15-25) | +4% |
Methodology: reaction day = first trading day after the report (AMC assumed). Regimes are 20-trading-day returns (NVDA/SPY/SOX) and VIX close on the report date. Historical implied volatility before our options-DB coverage window (Nov 2025) is NOT reconstructed — realized volatility (HV20) is shown instead. Options strategy P&L and IV crush are priced from OUR OWN stored option chains (one row per contract per pull) for every cycle inside coverage; both sections grow automatically each quarter. Buckets with n<10 are exploratory. Correlation is not causation; small samples dominate the pre-announcement analysis. Pre-announcement registry: screeners/earnings_analysis/preannouncements_MSFT.json.
Automated, data-driven · educational only · not financial advice.