Since the CAPM relates average asset returns to market beta,it is natural to test the relation by running a cross sectional regression to fit a line through a scatter plot of average excess returns against beta. Proposed by Lintner (1965), the two pass regression starts with a time series regression of excess asset returns on excess market returns and proceeds with a cross-sectional regression of average excess returns against the estimated betas obtained previously. The previous post has summarised, among other things, some of the properties of the time series regression. This post will use the estimated betas and residual variances from previous time series regressions as inputs to 4 versions of the following generic cross-sectional regression :
The first model suppresses the intercept and residual variance term leaving previously estimated betas as the only independent variable. The second model add an intercept term. The third model suppresses the intercept term but includes both beta and residual variances on the right hand side. The fourth and final model includes all the terms expressed in the formula above.
#cross section regression avg.ex.ret avg.exm.ret betas resid.sd <-matrix(unlist(lapply(ts.list$resid,sd)),ncol=1) cross.fit4 cross.fit2 cross.fit1 cross.fit3 annot rowtitle tab.1 tab.2 tab.3 tab.4 tab windows() layout(matrix(c(1,2,2,2,2,2,2),byrow=T,nrow=7,ncol=1)) par(mai=c(0,0.32,0.4,0)) TableMaker(row.h=1,apply(tab,2,rev),annot,strip=F,strip.col=c('red','green'),col.cut=0,alpha=0.6,border.col='lightgrey',text.col='black',header.bcol='gold',header.tcol='black',title='Security Market Line') par(mai=c(0.7,0.55,0,0.2)) plot(col=rainbow(length(betas)),pch=16,x=betas,y=avg.ex.ret,cex.lab=0.7,cex.axis=0.8,lwd=1,cex=0.75,cex.main=0.85,xlab='Betas',ylab='Mean Excess Return') points(x=betas,y=avg.ex.ret,cex=0.2,col='white') text(x=betas,y=avg.ex.ret,cex=0.6,col='black',colnames(monthly.ret),pos=2) abline(cross.fit1,col='red',lwd=1.5) abline(cross.fit2,col='blue',lwd=1.5) legend(ncol=2,'topright',fill=c('red','blue'),legend=c('No intercept','With intercept'),bg='white',bty='n',cex=0.75)
The plot shows the security market line for the first and second models fitted though a scatter of 351 risky assets in the average-return/beta space.A table of coefficient estimates is also given. It appears that the first and third models do a reasonable job of explaining the data,providing an R-squared above 70% in each case. If the CAPM is correct, the estimated regression coefficients should be equal to :
With the exception of gamma1 in the fourth model, all the results depicted in the table are statistically significant, implying that the CAPM conditions above fail to hold.
Standard tests of the CAPM considered so far suffer from a set of well understood econometric deficiencies which can be easily found on the internet and are summarised below for convenience and guidance.
[Econometric Issues in Tests]
:: Errors in the cross section regressions are likely to be heteroskedastic and correlated across assets. OLS coefficients remain unbiased but become inefficient.
- Use feasible GLS
- USE conventional OLS but adjust for standard errors
- Fama and MacBeth (1973) procedure
:: Error in variables problem. The Betas used as independent variables in cross section regressions are themselves estimates of true Betas. Measurement error may lead to wrongful rejection of CAPM.
- Group data into portfolios
- Instrumental variables
- Adjust estimates for the bias
:: Betas in the time series regression are likely to change over time.
- Form portfolios around stationary characteristics
The sandwich package was used to re-estimate the cross sectional CAPM relation accounting for the requisite adjustments to heteroskedasticity and autocorrelation in the error term. Oddly enough, the parameter estimates did not show any marked differences so I shall omit them here. The next section of the Asset Pricing series will look at the Black Jensen Scholes (portfolio grouping method) and the Fama and MacBeth methodology.