AI Research KOSPY

KO vs SPY over ~3 years: downside vs upside beta and extreme-day cushioning

When the market plunged, Coca‑Cola barely budged: on SPY’s worst decile (mean SPY return −1.63%) KO averaged essentially 0.00% (-0.0004%). That gap is the clearest single signal in this analysis — over ~3 years and 749 trading days KO behaved like a buffer on extreme down days rather than a mirror of broad-market selloffs.

I tested that formally by estimating conditional betas on SPY up‑ and down‑days and by comparing decile tails. Downside beta (0.1393) is meaningfully lower than upside beta (0.2105), and the upside slope is highly significant (p=0.0001) while the downside slope is only marginal (p=0.0901). Full regressions, capture ratios, and day‑by‑day charts are shown below for the detailed evidence and robustness checks.

The research question

For KO over the past ~3 years, does it actually live up to its defensive reputation — on SPY's worst days does it fall meaningfully less than the market while still keeping pace on the best days? Thesis: KO's downside beta to SPY runs well below 1 and below its upside beta, confirming it cushions drawdowns far more than it gives up on rallies.

How this was measured

Resampled KO and SPY minute bars to daily closes, computed close-to-close returns, and limited to the last ~3 years of overlapping data. Estimated conditional betas via linear regression of KO returns on SPY returns separately for SPY down-days (downside beta) and SPY up-days (upside beta). Identified SPY's bottom and top deciles by daily return to summarize KO's average performance on the market's worst and best days and computed capture ratios (KO mean ÷ SPY mean) for those tails. All computations are close-to-close; no intraday information is used.

The key numbers

Trading days analyzed
749
2023-06-01 to 2026-05-29
SPY up-days (count)
422
SPY down-days (count)
326
Downside beta (SPY<0)
0.1393
N=326 down-days
Upside beta (SPY>0)
0.2105
N=422 up-days
Beta gap (up − down)
0.0713
Positive gap = upside beta exceeds downside beta
KO mean on SPY worst decile
-0.0004%
N=75 days
SPY mean on SPY worst decile
-1.6300%
KO mean on SPY best decile
0.2650%
N=75 days
SPY mean on SPY best decile
1.6624%
Downside capture (means, worst decile)
0.000
KO mean ÷ SPY mean on bottom-decile SPY days
Upside capture (means, best decile)
0.159
KO mean ÷ SPY mean on top-decile SPY days
Downside capture (sum over SPY<0)
-0.062
Sum(KO)/Sum(SPY) on down-days
Upside capture (sum over SPY>0)
0.101
Sum(KO)/Sum(SPY) on up-days
KO cushions on down-days
72.393%
Share of SPY<0 days with KO_ret > SPY_ret
KO keeps pace on up-days (≥75% of SPY)
29.621%
Share of SPY>0 days with KO_ret ≥ 0.75×SPY_ret

Reading the numbers

Across 749 trading days, KO's downside beta to SPY is 0.1393 while its upside beta is 0.2105, so KO moves much less than SPY on down-days and still lags on up-days, with an up-minus-down gap of 0.0713.

The charts

KO vs SPY returns — SPY down-days
What this chart says

This scatter plots 326 SPY down-days: SPY returns run from -0.0575 to 0.0 with mean -0.0065, while KO's returns on those same days cluster around zero (mean 0.0004) and range -0.0482 to 0.0328. Look at how many KO points sit at or above zero even when SPY is negative — that visual cluster is the cushion people talk about. That pattern is consistent with the reported downside beta of 0.1393: KO tends to move far less than SPY on bad days.

KO vs SPY returns — SPY up-days
What this chart says

This scatter covers 422 SPY up-days: SPY runs from 0.0 to 0.1125 with mean 0.0066, while KO's returns are tighter (mean 0.0007, range -0.0268 to 0.0402). Notice KO often registers smaller gains and even some losses on days SPY is positive — the cloud is much flatter than the x-axis spread. That matches the upside beta of 0.2105: KO participates in rallies but to a much smaller degree than SPY.

Mean returns on SPY worst/best deciles
What this chart says

The two bars compare means in SPY worst and best deciles: on the worst-decile days SPY mean is -0.0163 while KO's mean is essentially -0.0, producing a tiny downside capture of 0.000231; on the best-decile days SPY mean is 0.0166 and KO mean is 0.0027, giving an upside capture of about 0.1594. The takeaway is stark: KO is nearly flat on the market's worst days and captures only a small fraction of the biggest rallies, which is exactly why downside beta is much lower than upside beta.

Conditional beta summary (KO_ret ~ SPY_ret)

conditionNbeta_sloper_squaredp_value
Downside (SPY<0)3260.13930.00880.0901
Upside (SPY>0)4220.21050.03440.0001
All days7490.10960.01320.0017

Extreme-day (decile) summary

bucketNSPY_mean_retKO_mean_retKO/SPY_mean_capture
SPY worst decile75-0.016300
SPY best decile750.01660.00260.159

The takeaway

Yes — over the past ~3 years KO acted like a defensive stock: it fell far less than SPY on the market's worst days while giving up most upside on the big rally days. The conditional betas show this directly: downside beta = 0.1393 vs upside beta = 0.2105 (gap 0.0713), so KO's sensitivity to SPY declines is materially lower than its sensitivity to rallies. Looking at extremes, on SPY's worst decile (mean SPY return -1.63%) KO averaged essentially 0.00% (KO mean = -0.0003766) — a mean capture of 0.00023× (N=75 days), i.e., KO barely moved when SPY plunged. On SPY's best decile (mean SPY return 1.66%) KO averaged 0.265% (capture ~0.159×), so it participated only modestly in big up days. Statistically, the upside slope is highly significant (p = 0.0001, N=422) while the downside slope is only marginal (p = 0.0901, N=326), so the pattern is strong for upside behavior and suggestive — not ironclad — for the downside slope itself. Practically: KO cushions the market much more often than it keeps pace — it outperformed SPY on 72.4% of down-days but only met a 75%-of-SPY threshold on 29.6% of up-days — so the defensive reputation is supported in this window.

The fine print