We will be tracking the movements of equities [daily percentage changes] as a function of movements in the S and P 500. The beta reported by Google Finance, Yahoo! Finance and others are just the parameters of this regression. That said, each site may do it differently.
Statistic | N | Mean | St. Dev. | Min | Max |
ALXN.Adj.Close | 58 | 0.003 | 0.025 | -0.055 | 0.052 |
CAH.Adj.Close | 58 | 0.001 | 0.016 | -0.049 | 0.037 |
MAC.Adj.Close | 58 | -0.001 | 0.015 | -0.036 | 0.062 |
ATI.Adj.Close | 58 | 0.007 | 0.041 | -0.076 | 0.132 |
HRL.Adj.Close | 58 | -0.002 | 0.015 | -0.037 | 0.036 |
X.GSPC.Adj.Close | 58 | 0.0003 | 0.014 | -0.038 | 0.041 |
SPY.Adj.Close | 58 | 0.0002 | 0.014 | -0.038 | 0.043 |
SH.Adj.Close | 58 | 0.0002 | 0.014 | -0.041 | 0.040 |
With these summaries in mind, here is the full dataset, first as a scatterplot and then as actual numbers.
ALXN.Adj.Close | CAH.Adj.Close | MAC.Adj.Close | ATI.Adj.Close | HRL.Adj.Close | X.GSPC.Adj.Close | SPY.Adj.Close | SH.Adj.Close | |
2015-10-22 | -0.026 | -0.030 | -0.001 | -0.027 | 0.002 | -0.011 | -0.011 | 0.012 |
2015-10-21 | -0.039 | 0.004 | -0.007 | -0.040 | -0.027 | -0.016 | -0.016 | 0.018 |
2015-10-20 | -0.008 | 0.009 | -0.002 | 0.102 | -0.010 | 0.006 | 0.006 | -0.007 |
2015-10-19 | 0.019 | 0.019 | 0.008 | 0.132 | 0.006 | 0.001 | 0.001 | -0.001 |
2015-10-16 | -0.009 | -0.001 | -0.009 | 0.027 | -0.006 | -0.0003 | -0.0002 | 0.002 |
2015-10-15 | 0.002 | -0.012 | -0.017 | 0.043 | -0.015 | -0.005 | -0.005 | 0.004 |
2015-10-14 | -0.052 | -0.007 | -0.017 | -0.035 | -0.007 | -0.015 | -0.015 | 0.015 |
2015-10-13 | 0.004 | 0.019 | 0.0004 | 0.025 | 0.018 | 0.005 | 0.004 | -0.005 |
2015-10-12 | 0.043 | 0 | 0.003 | -0.004 | 0.008 | 0.007 | 0.007 | -0.007 |
2015-10-09 | 0.008 | -0.018 | -0.007 | 0.037 | -0.015 | -0.001 | -0.001 | 0.001 |
2015-10-08 | 0.020 | -0.012 | -0.002 | -0.016 | -0.004 | -0.001 | -0.001 | 0.001 |
2015-10-07 | 0.003 | -0.002 | -0.005 | -0.039 | -0.017 | -0.009 | -0.009 | 0.009 |
2015-10-06 | -0.029 | 0.007 | -0.012 | -0.039 | -0.004 | -0.008 | -0.008 | 0.009 |
2015-10-05 | 0.021 | 0.018 | 0.008 | -0.021 | 0.024 | 0.004 | 0.003 | -0.003 |
2015-10-02 | 0.016 | -0.012 | -0.025 | -0.062 | -0.018 | -0.018 | -0.018 | 0.018 |
2015-10-01 | -0.050 | -0.019 | -0.002 | -0.070 | -0.015 | -0.014 | -0.015 | 0.015 |
2015-09-30 | -0.009 | -0.004 | -0.003 | -0.016 | 0.002 | -0.002 | -0.003 | 0.001 |
2015-09-29 | -0.055 | -0.001 | -0.002 | -0.006 | -0.024 | -0.019 | -0.018 | 0.020 |
2015-09-28 | -0.015 | 0.0002 | -0.014 | 0.014 | -0.005 | -0.001 | -0.001 | 0.0004 |
2015-09-25 | 0.025 | 0.031 | 0.019 | 0.062 | 0.012 | 0.026 | 0.026 | -0.024 |
2015-09-24 | 0.052 | 0.024 | -0.001 | 0.054 | -0.016 | 0.0005 | 0.0003 | 0 |
2015-09-23 | 0.016 | 0.007 | 0.012 | -0.036 | -0.008 | 0.003 | 0.003 | -0.003 |
2015-09-22 | -0.002 | -0.007 | -0.006 | 0.051 | -0.006 | 0.002 | 0.002 | -0.002 |
2015-09-21 | 0.008 | 0.018 | 0.015 | 0.041 | 0.015 | 0.012 | 0.013 | -0.013 |
2015-09-18 | 0.038 | 0.008 | -0.014 | 0.023 | -0.002 | -0.005 | -0.005 | 0.005 |
2015-09-17 | 0.008 | 0.014 | -0.014 | 0.060 | 0.018 | 0.016 | 0.017 | -0.017 |
2015-09-16 | -0.001 | 0.007 | -0.002 | 0.010 | 0.010 | 0.003 | 0.002 | -0.002 |
2015-09-15 | 0.007 | -0.003 | -0.014 | -0.019 | -0.013 | -0.009 | -0.008 | 0.008 |
2015-09-14 | -0.001 | -0.009 | -0.009 | -0.039 | -0.010 | -0.013 | -0.012 | 0.014 |
2015-09-11 | 0.019 | 0.008 | -0.004 | 0.036 | 0.005 | 0.004 | 0.004 | -0.005 |
2015-09-10 | -0.002 | -0.024 | -0.021 | 0.005 | -0.012 | -0.004 | -0.005 | 0.004 |
2015-09-09 | 0.001 | -0.021 | -0.001 | -0.006 | 0.001 | -0.005 | -0.006 | 0.007 |
2015-09-08 | 0.030 | 0.012 | 0.021 | 0.025 | 0.017 | 0.014 | 0.014 | -0.014 |
2015-09-04 | -0.028 | -0.021 | -0.006 | -0.029 | -0.023 | -0.024 | -0.025 | 0.027 |
2015-09-03 | 0.019 | 0.007 | 0.023 | 0.009 | 0.008 | 0.016 | 0.016 | -0.015 |
2015-09-02 | 0.005 | 0.006 | 0.006 | 0.039 | -0.009 | -0.001 | -0.001 | 0.001 |
2015-09-01 | -0.031 | -0.017 | -0.018 | -0.012 | -0.016 | -0.018 | -0.018 | 0.021 |
2015-08-31 | 0.008 | 0.025 | 0.024 | 0.039 | 0.024 | 0.030 | 0.029 | -0.031 |
2015-08-28 | 0.039 | 0.014 | 0.018 | 0.002 | 0.007 | 0.008 | 0.009 | -0.009 |
2015-08-27 | 0.005 | 0.004 | -0.0003 | -0.016 | -0.002 | -0.001 | -0.0004 | 0.0005 |
2015-08-26 | -0.035 | -0.002 | -0.027 | -0.076 | -0.015 | -0.024 | -0.022 | 0.026 |
2015-08-25 | -0.047 | -0.049 | -0.036 | -0.037 | -0.028 | -0.038 | -0.038 | 0.040 |
2015-08-24 | 0.009 | -0.006 | 0.017 | 0.020 | 0.009 | 0.014 | 0.012 | -0.010 |
2015-08-21 | 0.042 | 0.021 | 0.062 | 0.019 | 0.035 | 0.041 | 0.043 | -0.041 |
2015-08-20 | 0.028 | 0.021 | 0.023 | 0.047 | 0.036 | 0.033 | 0.032 | -0.031 |
2015-08-19 | 0.035 | 0.037 | 0.008 | 0.024 | -0.037 | 0.022 | 0.021 | -0.021 |
2015-08-18 | 0.013 | -0.006 | -0.0005 | 0.033 | -0.012 | 0.008 | 0.008 | -0.007 |
2015-08-17 | 0.020 | -0.005 | -0.006 | 0.015 | 0.014 | 0.003 | 0.003 | -0.003 |
2015-08-14 | -0.024 | -0.001 | -0.010 | 0.019 | -0.002 | -0.005 | -0.006 | 0.005 |
2015-08-13 | 0.012 | -0.001 | -0.0004 | -0.013 | -0.012 | -0.004 | -0.003 | 0.004 |
2015-08-12 | 0.012 | 0.010 | -0.005 | 0.028 | 0.006 | 0.001 | 0.001 | -0.001 |
2015-08-11 | -0.025 | 0.010 | -0.002 | 0.028 | -0.007 | -0.001 | -0.001 | 0.001 |
2015-08-10 | 0.022 | -0.002 | 0.0003 | 0.072 | 0.007 | 0.010 | 0.009 | -0.009 |
2015-08-07 | -0.004 | -0.008 | 0.006 | -0.071 | -0.010 | -0.013 | -0.013 | 0.012 |
2015-08-06 | 0.001 | -0.004 | -0.004 | 0.028 | 0.001 | 0.003 | 0.002 | -0.003 |
2015-08-05 | 0.043 | 0.018 | -0.003 | -0.024 | 0.009 | 0.008 | 0.008 | -0.008 |
2015-08-04 | -0.004 | -0.006 | -0.013 | -0.022 | -0.008 | -0.003 | -0.004 | 0.004 |
2015-08-03 | -0.007 | 0.001 | 0.003 | 0.010 | -0.014 | 0.002 | 0.002 | -0.002 |
The market model starts with the following equation…
\[ \% chg. in Equity = \alpha + \beta*(\% chg. in SP 500) + \epsilon \]
stargazer(mod.1,mod.2,mod.3,mod.4,mod.5,mod.6,mod.7, type="html", column.sep.width = "20pt")
Dependent variable: | |||||||
ALXN.Adj.Close | ATI.Adj.Close | CAH.Adj.Close | HRL.Adj.Close | MAC.Adj.Close | SPY.Adj.Close | SH.Adj.Close | |
(1) | (2) | (3) | (4) | (5) | (6) | (7) | |
X.GSPC.Adj.Close | 1.223*** | 1.697*** | 0.796*** | 0.762*** | 0.853*** | 1.000*** | -1.016*** |
(0.175) | (0.317) | (0.101) | (0.100) | (0.087) | (0.005) | (0.009) | |
Constant | 0.002 | 0.006 | 0.001 | -0.003* | -0.001 | -0.0001 | 0.001*** |
(0.002) | (0.004) | (0.001) | (0.001) | (0.001) | (0.0001) | (0.0001) | |
Observations | 58 | 58 | 58 | 58 | 58 | 58 | 58 |
R2 | 0.466 | 0.339 | 0.526 | 0.508 | 0.632 | 0.999 | 0.996 |
Adjusted R2 | 0.456 | 0.327 | 0.518 | 0.499 | 0.625 | 0.999 | 0.996 |
Residual Std. Error (df = 56) | 0.019 | 0.034 | 0.011 | 0.011 | 0.009 | 0.001 | 0.001 |
F Statistic (df = 1; 56) | 48.837*** | 28.748*** | 62.171*** | 57.820*** | 96.012*** | 39,549.030*** | 12,891.810*** |
Note: | p<0.1; p<0.05; p<0.01 |
For example, for ALXN (Alexion Pharmaceuticals), we can write:
\[ \% chg. in ALXN = 0.002 + 1.223*\% chg. in SP 500 + \epsilon \]
To facilitate conclusions – inferences – concerning the distribution of slopes and intercepts, we need examine the regression residuals. In the R Commander, after having estimated a regression model and having it active in the model tab, we go to Models and the Add observation statistics to data and add the residuals. After having done that, I present the plots and results for each regression model in turn.
shapiro.test(mod.1$residuals)
##
## Shapiro-Wilk normality test
##
## data: mod.1$residuals
## W = 0.98083, p-value = 0.488
shapiro.test(mod.2$residuals)
##
## Shapiro-Wilk normality test
##
## data: mod.2$residuals
## W = 0.94371, p-value = 0.009447
shapiro.test(mod.3$residuals)
##
## Shapiro-Wilk normality test
##
## data: mod.3$residuals
## W = 0.9838, p-value = 0.6303
shapiro.test(mod.4$residuals)
##
## Shapiro-Wilk normality test
##
## data: mod.4$residuals
## W = 0.87186, p-value = 1.918e-05
shapiro.test(mod.5$residuals)
##
## Shapiro-Wilk normality test
##
## data: mod.5$residuals
## W = 0.96939, p-value = 0.1498
shapiro.test(mod.6$residuals)
##
## Shapiro-Wilk normality test
##
## data: mod.6$residuals
## W = 0.97336, p-value = 0.2302
shapiro.test(mod.7$residuals)
##
## Shapiro-Wilk normality test
##
## data: mod.7$residuals
## W = 0.9344, p-value = 0.003719
From this evidence, Models 2, 4, and 7 [the results for ATI, HRL, and SH] do not conform on this evidence. What do those graphs look like?
library(car)
par(mfrow=c(3,2))
qqPlot(mod.2)
plot(density(mod.2$residuals), xlab="ATI Residuals")
qqPlot(mod.4)
plot(density(mod.4$residuals), xlab="HRL Residuals")
qqPlot(mod.7)
plot(density(mod.7$residuals), xlab="SH Residuals")
In each case, there are some outlying observations that are outside of the expected boundaries. First, what does this mean?
The normal assumption for the errors is implausible. The line is still the solution to the best fitting line and it is the best characterization of our problem. But we cannot use the estimates to infer things: the probability distributions of the slopes and intercepts or the distributions of predictions [either means or the range of possibilities]. Later on, we will find out that R makes it easy to at least do a bit more with this. But, for now, we must simply leave those three results to the wayside and interpret those that conform to their assumptions. The following table presents the results along with 95 percent confidence intervals for the parameters.
stargazer(mod.1,mod.3,mod.5,mod.6, type="html", column.sep.width = "20pt", ci=TRUE)
Dependent variable: | ||||
ALXN.Adj.Close | CAH.Adj.Close | MAC.Adj.Close | SPY.Adj.Close | |
(1) | (2) | (3) | (4) | |
X.GSPC.Adj.Close | 1.223*** | 0.796*** | 0.853*** | 1.000*** |
(0.880, 1.566) | (0.598, 0.994) | (0.682, 1.023) | (0.990, 1.010) | |
Constant | 0.002 | 0.001 | -0.001 | -0.0001 |
(-0.003, 0.007) | (-0.002, 0.004) | (-0.004, 0.001) | (-0.0002, 0.00004) | |
Observations | 58 | 58 | 58 | 58 |
R2 | 0.466 | 0.526 | 0.632 | 0.999 |
Adjusted R2 | 0.456 | 0.518 | 0.625 | 0.999 |
Residual Std. Error (df = 56) | 0.019 | 0.011 | 0.009 | 0.001 |
F Statistic (df = 1; 56) | 48.837*** | 62.171*** | 96.012*** | 39,549.030*** |
Note: | p<0.1; p<0.05; p<0.01 |
Now, let us return to the initial questions.
Let us answer each in turn.
The regression slope’s 95 percent confidence interval gives us the percent change in the equity for an equivalent percent change in the S and P. If the confidence interval includes one, we cannot rule out the prospect that the equity move in exactly the same fashion as the S and P [both sign and magnitude]. Were zero included in an interval, it would mean that changes in the S and P are (linearly) independent of changes in the equity. The equity is unaffected by movements in the S and P. Were the confidence interval entirely negative, changes in the S and P are inverted for the equity in question. We have an example of this as SH but the residuals were non-normal.
The regression intercept’s 95 percent confidence interval gives us the average percent change in the equity were the S and P unchanged. If the confidence interval includes zero, we neither profit nor lose when the S and P is unchanged, on average. If the confidence interval is different from one, then we either lose or gain, on average, if the S and P is unchanged. Investors seek positive alpha [positive returns, even if the market is unchanged].
But neither of the aforementioned questions can be answered without attention to the third…
This varies a great deal among the examples [and among the temporal periods]. For the real equities that we examine; it ranges from 46.6 to 63.2 percent. These are all fairly high. The ETF designed to precisely mirror the S and P is almost perfect. It is off, on average, by .1 percentage points and 99.9 percent of the variance in the ETF is explained by the S and P. The only difference is presumably charges for fund management [which cannot be perfectly zero].
The residual standard error captures something very similar, though inversely. As the standard error of residuals increases, the fit is worse [there is more error]. Thus, as explained variance increases, the residual standard error must get smaller. If we compare these, the result is the same.