Market Models: The Time Horizon

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.

Five Stocks and Two ETFs

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.

Assessing the Regression Residuals

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.