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), orlm(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.
PerformanceAnalyticsbut there are two functionsCAPM.alphaandCAPM.jensenAlphawhich provide two different solutions. The first function obtains its values from the regressionlm(), while the second formula obtains its values from the mathematical regression function (above). Do you know the difference? – Mataunited17 Jul 31 '18 at 10:02CAPM.alphais the return contribution to an asset or portfolio, which is unexplained from the CAPM and therefore not affected by the exposure towards market risk. If you would like to test the CAPM use this value, which should be indifferent from zero (see above; butCAPM.alphadoes not provide any test statistic).CAPM.jensenAlphawill provide a time series of returns in the meaning of a tracking error. For each time step, it is calculated as the expected ret. (e.g. from the CAPM) minus the actual asset ret. This alpha provides a test for the investors capability of "beating the market". – skoestlmeier Jul 31 '18 at 10:52CAPM.jensenAlpha? I've read different approaches both online and in the literature. – Mataunited17 Jul 31 '18 at 11:54t.test(alpha_timeseries, method = "two-sided", mu = 0)you get the t-value. If its significant, you reject the Null-Hypothesis and can assume, that the investment strategy outperforms your benchmark. Additionally you may correct standard errors for autocorrelation or heteroscedasticity applying Newey/West(1987) adjustment (in R with the sandwich and lmtest package). In this case, apply an intercept only modelreg <- lm(alpha_timeseries~1)andcoeftest(reg, NeweyWest(reg)). – skoestlmeier Jul 31 '18 at 12:24