TSM pre-earnings realized-volatility profile vs earnings-day and day-after (last ~3 years)
The intuitive "volatility ramps into earnings" story doesn't hold up for TSM. We looked at realized daily range (high–low / close) around 112 quarterly events and compared the two-week pre-window to the earnings day and the session after.
The two-week pre-window mean is about 8.30%, essentially the same as the non-event baseline (8.73%), while the earnings-day and day-after averages drop to 6.56% and 4.10% respectively. Those declines are statistically robust (t0 vs pre p ≈ 0.0023; t+1 vs pre p ≈ 4.9e-08). The pattern points to volatility as a reaction concentrated on the report and the following session, not a gradual build; the full calculations and charts follow below.
For TSM over the past ~3 years, does its realized volatility — daily high-low range — actually build through the two weeks leading into each quarterly report, or does it sit near baseline until the print and only detonate on earnings day and the session right after? Thesis: pre-earnings range runs flat-to-normal while the turbulence concentrates on the report day and the following session, so the 'uncertainty ramps into the event' belief is backwards — the volatility is the reaction, not the anticipation.
How this was measured
Minute bars were resampled to daily OHLCV. Realized volatility per day was computed as the high–low range divided by the close. For each quarterly earnings reported_date, the first trading day on-or-after that date was taken as t0 (earnings day). For each event, realized volatility was collected for offsets t-10 through t-1 (two trading weeks before), t0 (event day), and t+1 (the following session). Offsets were then aggregated across events to compute mean, std, and counts by offset. Welch two-sample t-tests compare t0 and t+1 against the pooled pre-window distribution. A baseline mean was also computed from non-event-window days to contextualize levels.
The key numbers
Reading the numbers
Across 112 earnings events, the two-week pre-window mean realized volatility is about 8.30% while earnings-day and the day-after are about 6.56% and 4.10% respectively. The pre-window sits near the baseline mean (8.73%), so volatility does not, on average, ratchet up into the print.
The charts
This bar chart lays out mean daily high-low range from t-10 through t+1. There is no steady upward slope into t0 — pre-window values bounce between roughly 6.8% and 9.9% with isolated bumps at t-8 (9.17%), t-3 (9.85%) and t-1 (9.33%). Earnings-day (t+0) is 6.56%, and the following session (t+1) drops to 4.10%, so the average picture is not a creeping build into the print but a decline through the event window.
The box plots show the distributions behind those means: pre-window mean 8.3% with a wide spread (min 1.41%, max 42.88%), t0 mean 6.56% (min 2.72%, max 24.28%), and t+1 mean 4.10% with an extreme high outlier at 56.4%. The centers of the boxes shift downward from pre to t0 to t+1, and the differences are statistically significant (Welch p=0.0023 for t0 vs pre and p≈0 for t+1 vs pre). In short, typical realized-range volatility is not ramping into earnings and instead is lower on average at the print and the day after, apart from occasional outliers.
Per-offset realized-volatility summary
| offset | N | mean_rv | std_rv |
|---|---|---|---|
| t-10 | 11 | 0.0676 | 0.0307 |
| t-9 | 11 | 0.0701 | 0.023 |
| t-8 | 12 | 0.0917 | 0.0386 |
| t-7 | 12 | 0.0861 | 0.0453 |
| t-6 | 12 | 0.0871 | 0.0527 |
| t-5 | 12 | 0.0706 | 0.0395 |
| t-4 | 12 | 0.0759 | 0.031 |
| t-3 | 12 | 0.0985 | 0.1071 |
| t-2 | 12 | 0.0866 | 0.0545 |
| t-1 | 12 | 0.0933 | 0.0939 |
| t+0 | 112 | 0.0656 | 0.0204 |
| t+1 | 112 | 0.041 | 0.0559 |
The takeaway
Short answer: no — TSM's daily high–low range does not steadily build in the two weeks before earnings. The two-week pre-window mean RV is about 8.30%, while the earnings day averages 6.56% and the session after 4.10%. The pre-window level is essentially the same as the non-event baseline (8.73%), so we see no ramp into the print; instead volatility is lower on the report day and especially the day after. These differences are statistically robust across 112 events: t0 vs pre-window yields p≈0.0023 (only about a 2-in-1,000 chance this is luck) and t+1 vs pre-window yields p≈4.9e-08 (effectively zero chance this is random). Practical takeaway: the realized-range move looks reactionary, not anticipatory — don’t expect a steadily rising high–low range in the two weeks before TSM earnings.
The fine print
- Data covers 2023-06-30 to 2026-06-30 (~36 months) — limited sample window.
- t0 is the first trading day on/after reported_date; after-hours releases map to the next session.
- RV is measured as high–low divided by close; other volatility estimators could change magnitudes.
- Per-offset sample counts are small for single days (preview rows show some offsets with N≈11), so individual-day noise can be high.