I ran a beta on a mid-cap name a while back, got something like 1.8, and quoted it in a note without thinking twice. A friend who does this for a living pulled the same ticker on his terminal and got 1.5. Same stock, same rough window, and the numbers did not agree. I assumed one of us had a data problem. Neither of us did. He was looking at an adjusted beta and I was looking at the raw regression output, and that gap is the whole subject of this post.
Once you know why the two disagree, you stop treating the raw number as the answer and start treating it as an input.
What the raw number actually is
Beta is the slope you get when you regress an asset's returns on the market's returns. High slope means the asset tends to move more than the market, low slope means less. Simple enough, and every charting tool will hand you that slope.
The problem is that the slope is an estimate, not a measured constant. You are fitting a line to a cloud of noisy points over some finite window, so the number you get back carries estimation error baked in. A raw beta of 1.8 does not mean the true beta is 1.8. It means your best guess given the sample is 1.8, and that guess sits inside a fairly wide band of plausible values.
Here is the part that took me a while to internalize. When you sort a big universe of stocks by their estimated beta and then re-measure the same names in a later window, the high estimates tend to come down and the low estimates tend to drift up. Both groups move toward one. Some of that is real economic behavior, companies mature and their sensitivity to the market changes, but a big chunk of it is pure statistics. The names that measured highest are disproportionately the ones that got a lucky push from noise in that first window, and noise does not repeat. So the extreme estimates are, on average, too extreme.
The Blume adjustment
Marshall Blume documented this reversion decades ago, and the fix that carries his name is about as simple as a fix gets. You shrink the raw estimate toward the market beta of one. The classic form weights the raw number at roughly two thirds and the market at roughly one third:
adjusted beta = 0.67 times raw beta + 0.33 times 1.0
Run a raw 1.8 through that and you land near 1.5, which is more or less the gap my friend and I were staring at. Bloomberg's default adjusted beta uses this same two-thirds one-third blend, so if you have ever pulled a beta off a terminal and wondered why it looked tamer than your own regression, this is why. It was pre-shrunk before it reached you.
The weights are not sacred. They came from fitting how much betas actually reverted in the data Blume worked with, and you can estimate your own from your own universe if you care to. But the two thirds one third split turns out to be a decent all-purpose default, which is a large part of why it became the convention.
The cleaner way to think about why shrinking helps is Bayesian. Your prior belief, before you look at any data, is that a random asset has a beta somewhere around one, because that is roughly the average across the market by construction. Then you observe a noisy sample and update. If the sample is small or noisy, you should not move far from your prior. If the sample is large and clean, you can trust the data more and move most of the way toward it.
Shrinking the raw estimate toward one is exactly that update. You are combining a weak prior centered on the market with a noisy observation, and the weight you put on each depends on how much you trust the observation. The Blume weights are a fixed, rough version of that trade-off. The payoff is that the adjusted number is usually a better forecast of next period's realized beta than the raw number is, which is what you actually want, since nobody cares what beta was, they care what it will be.
A quick way to sanity-check the idea for yourself:
- Estimate raw betas for a universe across one window.
- Apply the Blume shrink to get adjusted betas.
- Re-measure realized betas in the next window.
- Compare the raw estimates and the adjusted estimates against those realized values. The adjusted set typically sits closer, especially out at the extremes.
You will not always win on every single name. Shrinkage is a bet that pays off on average across a group, and any individual stock can genuinely have a beta far from one and stay there. But betting against reversion name by name is a bad habit.
Where crypto makes this loud
Everything above gets more pronounced as the raw estimate gets noisier, and crypto betas are about as noisy as it gets. Short usable histories, brutal volatility, thin and jumpy correlations to whatever benchmark you pick, and the constant question of what the market even is for a given token. All of that fattens the estimation error, and fatter error means more of your extreme readings are noise rather than signal.
So when a raw regression tells you some token has a beta of 3 against its reference index, treat that with real suspicion. A meaningful slice of that 3 is probably measurement error that will not survive into the next window. Shrinking it toward one is not being timid, it is refusing to forecast off a number you have no business trusting at face value.
A couple of practical guardrails I use before quoting any crypto beta:
- Check the window length and the return frequency. A beta from a short daily window will swing wildly, and stitching in a longer window or coarser frequency calms it down before you even adjust.
- Look at the R-squared of the regression, not just the slope. A high slope with a low R-squared means the market barely explains the asset, so the slope is mostly noise and deserves heavy shrinking. Low explanatory power is the tell that the raw number is fragile.
The failure mode to avoid is sizing a hedge or a risk budget straight off a raw crypto beta because it happened to be the number your tool printed. You end up over-hedging the names whose betas were inflated by luck and under-hedging the ones that were deflated, and the errors are largest exactly where you were most confident.
What I actually do with it
My rule of thumb is boring. If I am going to use a beta as a forecast, for hedging, for a cost-of-capital input, for scaling exposure, I shrink it. If I am just describing what a name did historically, the raw number is fine and honestly more truthful for that purpose. The mistake is using a historical description as if it were a forward estimate, and the Blume adjustment is the cheapest available correction for that mistake.
None of this makes beta a great tool. It is a single noisy number standing in for a messy relationship, and shrinking it does not fix that. It just stops you from quoting the noisiest possible version of it. When my friend's 1.5 and my 1.8 disagreed, the honest answer was that the truth was probably closer to his, and the extra step it took him to get there was one line of arithmetic I had skipped.