Testing CAPM Alpha with an Excess-Return Regression
Summary
The document clarifies how to test whether a strategy’s CAPM alpha differs statistically from zero. The appropriate time-series regression uses the strategy’s excess return as the dependent variable and the market’s excess return as the predictor, with an intercept. In R, the formula interface includes an intercept by default, so regressing strategy excess returns on market excess returns estimates both alpha and beta; a separate alpha term should not be manually added as a predictor. The intercept’s standard error, t-statistic, and p-value provide the test of alpha significance under the regression assumptions.
An example using Cisco and monthly data reports a positive intercept whose t-statistic is not statistically significant, while the market coefficient is significant. This example illustrates interpreting the regression output, not evidence about the user’s trading strategy. The result depends on correctly aligned returns and risk-free rates and on the usual inference assumptions; the short exchange does not discuss robust errors, serial dependence, or other model checks. It also distinguishes testing alpha from comparing realized strategy returns directly with market excess returns.
Key ideas
- The CAPM time-series regression uses strategy excess returns as the response and market excess returns as the predictor.
- R’s regression formula includes an intercept by default, and that intercept estimates alpha.
- Alpha significance is assessed from the intercept’s standard error, t-statistic, and p-value.
- The example reports an intercept not statistically different from zero and a significant market beta.
- Correct time alignment and suitable regression inference matter, while the example does not cover robust-error methods.
Tags
Full text
# Testing the statistical significance of alphas in the CAPM
# Testing the statistical significance of alphas in the CAPM
I am trying to test the statistical significance of the alphas in my trading strategy.
However, I do not understand the difference between the alphas generated in R.
To test the statistical significance you run the regression
$$ R_{pt} - r_f= \alpha_P + \beta_P (R_{Mt}-r_f)+e_{Pt} $$
I interpret this as running the excess returns of the strategy on the l.h.s, and the returns predicted by the CAPM/market on the r.h.s., which is:
`lm(strategy - rf ~ alpha + beta*(market-rf)` (`lm()` is the regression function in R)
I use the package `PerformanceAnalytics` and function `CAPM.alpha()` which get the same alpha as when I do `summary((lm(strategy -rf ~ market - rf))`, where `market` is simply the historical returns from the market.
So, which is the right method to test for the statistical significance (t-test, p-value etc.) of the alpha?
- `lm(strategy - rf ~ alpha + beta*(market-rf)` (CAPM on rhs), or
- `lm(strategy - rf ~ market - rf)`
I. $R_{pt} - r_f= \alpha_P + \beta_P (R_{Mt}-r_f)+e_{Pt}$
II. $R_{pt} - r_f = R_{Mt} - r_f$
The former method is statistically significant, while the latter is not.
## Answer by skoestlmeier (score 2, accepted)
https://quant.stackexchange.com/a/40981
A time-series regression with properly time indices for testing the CAPM would be $$ R_{i,t}-R_{t}^f = a_i + \beta_i(R_{t}^m-R_{t}^f)+\epsilon_{i,t} $$
You may look at this answer for a deeper explanation of the above regression.
You have to consider how regression in R is implemented. As stated in the manual `?lm`,
> A formula has an implied intercept term.
So your properly regression would be `lm(strategy - rf ~ market - rf)`, as it already implies an intercept term, i.e. $\alpha_i$ in the above regression. The CAPM implies, that $\alpha_i$ would be zero for any asset or portfolio of stocks. In a short example with the Cisco stock and monthly data for five years, i run the regression above and get the following output:
```
summary(lm(capm$CiscoExcessRet ~ capm$MarketExcessRet)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.005569 0.006097 0.913 0.362
capm$MarketExcessRet 1.540705 0.124895 12.336 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
```
As you can see, $\beta_i$ as the coefficient of the market risk premia for Cisco is 1.54 and highly statistically significant. The intercept is the $\alpha_i$ for Cisco and it's value of 0.0056 is not statistically different from zero, as its t-value is only 0.913. In summary, the implications of the CAPM are holding for this example.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.