Capital Market Theory - CAPM and the Efficient Frontier › Estimating Beta in Practice
Quantitative FinanceAll chapters Capital Market Theory - CAPM and the Efficient Frontier › Estimating Beta in PracticeOne section · Sections in this chapter9 / 14 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
While beta is defined theoretically as a population parameter, you must estimate it from historical data. The standard approach uses regression analysis, as covered in our chapter on Regression Analysis for Financial Relationships. Understanding the practical aspects of beta estimation is essential because the choices made in estimation significantly affect the resulting beta values and their usefulness for forward-looking decisions.
The market model regresses an asset's excess returns on market excess returns:
where:
- : excess return of asset at time
- : intercept (estimated alpha)
- : slope coefficient (estimated beta)
- : excess return of the market at time
- : residual error term at time
This regression directly implements the CAPM relationship. The slope coefficient estimates the asset's systematic risk, capturing how the asset's excess return responds to changes in the market's excess return. The intercept estimates the asset's alpha, though interpreting this requires caution since estimation error can make alpha appear nonzero even when the true alpha is zero.
The slope coefficient estimates the asset's systematic risk. Several practical considerations affect beta estimation:
-
Estimation period: Longer periods provide more data but may include structural changes in the company. Common choices range from 2 to 5 years of monthly data or 1 to 2 years of weekly data. A company that undergoes a major acquisition or changes its business model may have a fundamentally different beta after the event than before, making historical estimates misleading.
-
Return frequency: Daily returns provide more observations but can be noisy due to bid-ask bounce and non-synchronous trading. Monthly returns are smoother but offer fewer observations. The choice involves a tradeoff between statistical precision (favoring more observations) and data quality (favoring less noisy observations).
-
Market proxy: The true market portfolio is unobservable, so practitioners use broad indices like the S&P 500, Russell 3000, or MSCI World. The choice affects beta estimates because different indices have different compositions and return characteristics. An international company's beta relative to the S&P 500 may differ from its beta relative to a global index.
-
Adjusted beta: Raw betas tend to be noisy and exhibit mean reversion toward 1.0. Companies with extreme betas tend to become more average over time as they mature or as market conditions change. Bloomberg and other providers often report adjusted betas using the Blume adjustment:
where:
- : forecasted beta for the next period
- : historical regression beta
- : beta of the market (mean reversion target)
This adjustment shrinks extreme betas toward the market average, which reflects the empirical observation that betas tend to converge toward 1.0 over time. The specific weights of two-thirds and one-third were determined empirically by Marshall Blume and represent an average rate of mean reversion across stocks.
We can visualize the effect of the Blume adjustment on a range of raw beta values to understand how it dampens extreme estimates.

import numpy as np
from scipy import stats
# Estimate beta using simulated data (mimicking real regression)
np.random.seed(101)
# Simulate 3 years of monthly returns
n_months = 36
market_monthly = np.random.normal(
0.008, 0.045, n_months
) # ~10% annual return, ~15% vol
rf_monthly = 0.003 # ~3.6% annual
# Simulate a stock with true beta of 1.3
true_beta = 1.3
true_alpha = 0.0 # 0% alpha (consistent with CAPM)
idio_vol = 0.03
# Generate returns using Jensen's Alpha model: Ri = Rf + alpha + beta*(Rm - Rf) + epsilon
stock_monthly = (
rf_monthly
+ true_alpha
+ true_beta * (market_monthly - rf_monthly)
+ np.random.normal(0, idio_vol, n_months)
)
# Excess returns
market_excess = market_monthly - rf_monthly
stock_excess = stock_monthly - rf_monthly
# OLS regression
slope, intercept, r_value, p_value, std_err = stats.linregress(
market_excess, stock_excess
)
estimated_beta = slope
estimated_alpha = intercept
r_squared = r_value**2
# Confidence interval for beta
t_critical = stats.t.ppf(0.975, n_months - 2) # 95% confidence
beta_ci_lower = estimated_beta - t_critical * std_err
beta_ci_upper = estimated_beta + t_critical * std_errThe following output summarizes the regression results, including the estimated beta and its confidence interval.
Beta Estimation Results ============================================= Estimation period: 36 months True beta: 1.30 Estimated beta: 1.418 Standard error: 0.107 95% Confidence interval: [1.200, 1.636] Estimated alpha (monthly): 0.0060 (7.16% annualized) R-squared: 0.837
The regression output compares the estimated parameters to the true values from our simulation. The estimated beta gives a point estimate of systematic risk, while the confidence interval defines the range where the true parameter likely lies. Notice that even with 36 months of data, the confidence interval is fairly wide, which reflects the inherent uncertainty in beta estimation. The near-zero alpha confirms that the asset was priced according to CAPM in our simulation, though in practice alpha estimates often differ from zero due to estimation error or mispricing.

The R-squared value indicates how much of the stock's variance is explained by market movements. A higher R-squared suggests more systematic risk relative to idiosyncratic risk. For well-diversified portfolios, R-squared approaches 1.0 because idiosyncratic risks cancel out. For individual stocks, values typically range from 0.2 to 0.5, indicating that most of a single stock's volatility comes from firm-specific factors rather than market movements. This observation reinforces why diversification matters: individual stocks are driven largely by idiosyncratic factors that can be eliminated through portfolio construction.