Guns, the sale of guns, and gun control have always been a major part of the American political landscape. The issue of gun control has recently made national headlines with the Marjory Stoneman Douglas High School shooting in Parkland, Florida on February 14, 2018, which left 17 dead and 14 injured (Sullivan, Schmidt, and Fahrenthold 2018). Other recent shootings, such as the Las Vegas Route 91 Music Festival shooting on October 1, 2017 that left 58 dead and 851 injured, have triggered similar headlines and discussions about gun control (LVMPD 2017).
In the wake of mass shootings, the price of gun stocks usually rally (Imbert 2018), meaning that gun stocks see a quick rise in prices. In the wake of the Marjory Stoneman Douglas High School shooting, for instance, Sturm Ruger ($RGR) rose by 2.8% and Smith & Wesson’s parent company American Outdoor Brands ($AOBC) rose by 5.6% by the end of trading on February 14 (ibid.). The fear of stronger gun laws in the wake of mass shootings encourages gunowners to stockpile guns.
On the other hand, the National Rifle Association (NRA) has (in)famously lobbied both federal and state politicians to prevent gun control laws from being passed. In political science, the NRA is considered one of the top three most powerful lobbying groups in Washington, D.C. (Wilson, DiIulio, and Bose 2010). Even in the wake of the Sandy Hook Elementary School shooting on December 14, 2012, which left 20 young children and 7 adults dead, the NRA fought back against Barack Obama’s call for legislation on guns and refused to endorse any type of restrictions against assault-style guns or to endorse any types of restrictions on gun ownership (“Connecticut Department of Emergency Services and Public Protection Sandy Hook Elementary School Shooting Reports” 2013).
Because Democratic politicians are generally pro-gun control legislation and Republican politicians are generally anti-gun control legislation, it would seem logical that gun companies should flourish under Republican presidents. Yet, Remington Arms filed for Chapter 11 bankruptcy protection in February 2018, citing falling sales during Trump’s presidency and the mounting lawsuits after it was discovered that the Bushmaster AR-15 rifle was used in the Sandy Hook Elementary School shooting (AP 2018). In fact, gun companies have performed far worse under Donald Trump than under Barack Obama. NBC found that background checks, a barometer for gun sales, fell faster in 2017 than any other year since 1998, the year that the FBI began tracking background checks (ibid.). Sturm Ruger and American Outdoor Brands, both publicly traded, have also had their stocks fall precipitously since Trump’s election.
The hypothesis is that gun owners do not rush to stockpile guns when there is a Republican president, because there is no threat of gun control legislation being pushed through the government. However, when there is a Democratic president, there is a rush to stockpile guns because there is a higher chance of gun control legislation being pushed through, such as Bill Clinton’s ban on assault weapons under the Federal Assault Weapons Ban in 1994 (“H.R.3355 - Violent Crime Control and Law Enforcement Act of 1994” 1994). Perhaps for this reason, Obama was described by Brian W. Ruttenbur, an analyst at BB&T Capital Markets, as “the best salesman for firearms” (Aisch and Keller 2016).
In the above section, there are two proposed drivers of increased gun purchases: fear of gun control legislation being enacted in the aftermath of a mass shooting, and fear of a Democratic president pushing gun control legislation. Of course, these factors may not be independent—the increase in gun purchases in the aftermath of a mass shooting may be amplified in the face of a Democratic president. Thus, this project seeks to answer the following research question: what is the association of the performance of gun stocks with the party of the president and/or the recent occurrence of a mass shooting? There are three hypotheses:
Hypothesis 1: The (closing) price of gun stocks increase when there is a Democratic president.
Hypothesis 2: The (closing) price of gun stocks increase in the immediate aftermath of a mass shooting.
Hypothesis 3: The (closing) price of gun stocks increase even further in the immediate aftermath of a mass shooting under a Democratic president.
To answer our question, we look at the stock of American Outdoor Brand Corporation ($AOBC), a “family-friendly” name that Smith & Wesson adopted in 2017. Smith & Wesson itself was founded in 1852, but the stock only went public on December 12, 2002. I chose to analyze AOBC over other gun stocks, such as Sturm, Ruger, and Co. ($RGR) or Vista Outdoor Inc. ($VSTO) for several reasons. VSTO was ruled out because it only went public in 2015, which meant that the data was not sufficient. RGR, on the other hand, has been public since the 1960s, but was only formally listed on the NYSE since 1990. RGR has a unique dividend structure that causes significant differences between their adjusted closing prices and listed closing prices; thus, it was not clear which type of closing price should be used and what justifies it. A larger project would include a much more formal analysis of RGR; however, for this project, I choose to focus on AOBC.
I use daily closing prices for AOBC; the adjusted closing prices are exactly the same each day. I also use the corresponding closing price of the Dow Jones Industrial Average (DJIA) in this analysis to control for overall market performance.
For the party of the president, I mark the variable party as 0 for a Republican president and 1 for a Democratic president. I denote the party of the president based on the day they were elected as president, not the day they took office. Because markets are fundamentally forward looking, traders trade on the basis of the prospect of a Democratic or Republican president. Thus, the party variable was marked as 1 starting on November 5, 2008, the day after Obama was elected president. Likewise, party was marked as 0 starting on November 9, 2008, the day after Trump was elected president.
To indicate mass shootings, I include an indicator variable named recent_mass_shootings. I marked the day that a mass shooting occurred and the two weeks after the shooting as the “recent mass shooting” period. This is a period typically marked by headlines about the shooting, discussions about gun control, etc., with the discussion tapering off after two weeks. The choice of two weeks is simply a heuristic choice; some discussions about gun violence end more quickly, while others persist longer. The mass shootings I used are those that are those in the top twenty deadliest shootings in U.S. history. Specifically, I used the Las Vegas shooting in 2017, the Orlando nightclub shooting in 2016, the Virginia Tech shooting in 2007, the Sandy Hook Elementary School shooting in 2012, the Sutherland Springs church shooting in 2017, the Stoneman Douglas High School shooting in 2018, the San Bernardino attack in 2015, the Binghampton shootings in 2009, the Fort Hood shooting in 2009, the Washington Navy Yard shooting in 2013, the Aurora shooting in 2012, the Red Lake shootings in 2005, and the Umpqua Community College shooting in 2015 (“Mass Shootings in the United States: Deadliest Shootings” 2018). There is heterogeneity in the types of shooting that took place and the subsequent public response to them. For example, the reaction to the Sandy Hook Elementary School shooting was very different than the reaction to the Fort Hood shooting, which took place on a military base. Thus, this is nowhere close to being a perfect indicator variable about recent mass shootings; what they do share in common, however, is that these shootings all made national headlines.
With all this said, we dive into our data. Below is a graph indicating the closing prices of AOBC and DJIA.
AOBC and DJIA seem to follow somewhat similar paths, except there is a major dropoff for AOBC starting at the end of 2016 (when Trump was elected!). Clearly, this data is not stationary. To induce stationarity, we difference the data such that \(\Delta y_n = y_n - y_{n-1}\).
Now, the trend is mean stationary around zero; however, the covariance in the differenced daily closing price of AOBC between any two given points may not be the same, which would violate one of the definitions of weak stationarity (Ionides 2018). Instead, using a logarithmic transformation of the stock prices first, which is a standard transformation with financial stock data, and then taking differences may help alleviate this issue.
As these graphs indicate, the issue of covariance stability is now largely resolved, particularly for AOBC.1 We can also look at the plot of an estimate of the autocorrelation function (ACF). The estimated ACF plots show that there is an exponential decay in the estimated autocorrelation, further indicating stationarity.
Lastly, we want to investigate if there is seasonality. Although it is well-known that there is no seasonality in the Dow Jones Industry Average, it is not as clear if there are seasons to gun stock companies, because of hunting seasons. As the periodograms indicate below, however, seasonality is not an issue.
Our first model analyzes the association between AOBC’s closing price (in the form of differenced log daily closing prices) and the president’s party. To do this, I fit a linear regression model with ARMA noise.
Because I substantively want to include the indicator variable of the president’s party and control for market performance through DJIA, I do not model select on regressors. Instead, I use Akaike’s information criterion (AIC) to select the best ARMA model to model the noise (Ionides 2018). To do this, I create a table of AIC values with an autoregressive order up to \(p = 5\) and a moving average order up to \(q = 5\), with any value beyond this resulting in possible overfitting.
MA0 | MA1 | MA2 | MA3 | MA4 | MA5 | |
---|---|---|---|---|---|---|
AR0 | -14940.18 | -14938.97 | -14938.06 | -14939.12 | -14937.55 | -14935.62 |
AR1 | -14939.00 | -14938.72 | -14937.40 | -14937.44 | -14935.55 | -14934.89 |
AR2 | -14938.13 | -14937.23 | -14942.39 | -14936.83 | -14934.97 | -14938.61 |
AR3 | -14939.18 | -14937.57 | -14936.73 | -14942.68 | -14938.75 | -14939.63 |
AR4 | -14937.72 | -14935.68 | -14938.78 | -14937.15 | -14930.76 | -14929.10 |
AR5 | -14935.75 | -14933.72 | -14938.62 | -14931.05 | -14929.20 | -14946.07 |
The models to consider here are ARMA(0,0), ARMA(2,2), and ARMA(5,5). I rule out using ARMA(5,5) out of fears of overfitting. To determine whether to use ARMA(0,0) or ARMA(2,2) to model noise, I employ a likelihood ratio test, which can be determined from the AIC values using the following formula. \[2l^{<1>} - 2l^{<0>} = AIC_0 - AIC_1 - 2\times(k_0 - k_1) \sim \chi^2_{k_1 - k_0} \tag{1}\] Here, \(AIC_1\) and \(AIC_0\) represent the alternative and null models AIC values, respectively, and \(k_1\) and \(k_0\) represent the number of parameters in the alternative and null models, respectively. The above is derived from the equation of AIC, which is \(-2 \times l(\theta^*) + 2k\) (Ionides 2018). Thus, calculating this using the AIC values above, we get the following.
lr = -14940.18 - (-14942.39) - 2*(2 - 6);
print(pchisq(lr, df = 4));
## [1] 0.962965
Thus, with a p-value of 0.96, I choose to model the noise using an ARMA(0,0) model.
Thus, according to the model selection process in the previous section, my model is simply \[\Delta(log(\text{AOBC Closing Price}))_t = \alpha + \beta_1(\Delta(log(\text{DJIA Closing Price})_t) + \beta_2(\text{Party}_t) + \varepsilon_t\] where \(\varepsilon_t \sim N(0,\sigma^2)\). Fitting the model, we get the following results.
##
## Call:
## lm(formula = diffed_aobc_Close_log ~ diffed_djia_Close_log +
## party)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.49936 -0.01446 -0.00081 0.01424 0.25897
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.0006156 0.0008085 -0.761 0.446
## diffed_djia_Close_log 0.9576080 0.0517573 18.502 <2e-16 ***
## party 0.0014504 0.0011146 1.301 0.193
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03446 on 3831 degrees of freedom
## Multiple R-squared: 0.08245, Adjusted R-squared: 0.08197
## F-statistic: 172.1 on 2 and 3831 DF, p-value: < 2.2e-16
From these results, it is clear that party has no significant association with the differenced log daily closing prices of the party, although the sign is positive (recall that party is coded as 1 for a Democratic president).
To see if my model above meets the linear regression with ARMA noise assumptions, I look at the an estimation of the autocorrelation of the residuals to see if it behaves like Gaussian white noise, the QQ plot of the residuals to examine normality, a plot of the residuals against the dates to see if there are any signs of heteroskedasticity, and a periodogram of the residuals to see if there is seasonality within the residuals.
Overall, the assumptions of the model are mostly met: there does not seem to be autocorrelation between the residuals, with exceptions at lags 18 and 27, there does not seem to be much evidence of heteroskedasticity, and there is no seasonality in the residuals. The major violation is that the residuals are very heavy-tailed compared to the normal distribution. For this reason, the standard errors in the previous results are not valid. To fix this issue, I use a fixed block bootstrap.
The fundamental issue with an ordinary bootstrap approach is that it destroys any autocorrelation that may exist between datapoints. Thus, to get around this issue, a block bootstrap can be used on time series data. In short, what the fixed block bootstrap does is that it samples blocks of length \(l\) from the time series until a time series of the original length is built (Shalizi 2017). Shalizi suggests blocks of length \(m = n/k\), where \(k = O(n^{1/3})\), which he argues is optimal in the sense that larger sample sizes yield longer blocks, capturing more dependence (ibid.). For my purposes, I choose \(k = n^{1/3}\), which yields a block length of \(m = 245\) when \(n = 3835\). To save space, I obtain bootstrapped 95% confidence intervals for only the party variable’s coefficient.
require(boot);
diffed_df_log_party = cbind(diffed_aobc_Close_log, diffed_djia_Close_log, party);
blockboot_log_party = function(data){
return(coefficients(lm(data[,1] ~ data[,2] + data[,3])));
}
set.seed(10003);
boot_log_party = tsboot(diffed_df_log_party, blockboot_log_party, R = 10000, l = 245, sim = "fixed");
print(noquote( paste("(", quantile(boot_log_party$t[,3], 0.025, na.rm = TRUE), ", ", quantile(boot_log_party$t[,3], 0.975, na.rm = TRUE), ")") ));
## [1] ( -0.00120935430526759 , 0.00417072721284201 )
Thus, I obtain a bootstrapped 95% confidence interval, using percentiles over the bootstrap replicates, of \((-0.001209, 0.004170)\), which confirms that the party of the president is not statistically significantly associated with an increase in the logged closing prices of AOBC.
Our second model analyzes the association of AOBC’s closing price (in the form of differenced log daily closing prices) with the occurrence of a mass shooting, as defined in the Data Preparation section. To do this, I fit a linear regression model with ARMA noise.
Using the same approach as Model 1, I first find the AIC values of linear regression models with ARMA noise up to orders \(p = 5\) and \(q = 5\).
MA0 | MA1 | MA2 | MA3 | MA4 | MA5 | |
---|---|---|---|---|---|---|
AR0 | -14939.38 | -14938.15 | -14937.28 | -14938.27 | -14936.67 | -14934.72 |
AR1 | -14938.17 | -14937.92 | -14936.62 | -14936.57 | -14934.67 | -14934.02 |
AR2 | -14937.35 | -14936.46 | -14941.62 | -14936.05 | -14934.17 | -14937.74 |
AR3 | -14938.33 | -14936.69 | -14935.89 | -14941.41 | -14939.37 | -14934.08 |
AR4 | -14936.84 | -14934.79 | -14934.14 | -14936.37 | -14930.32 | -14928.23 |
AR5 | -14934.86 | -14932.88 | -14937.73 | -14930.23 | -14928.37 | -14951.04 |
The models to consider here are, again, ARMA(0,0), ARMA(2,2), and ARMA(5,5). Again, I rule out using ARMA(5,5) out of fears of overfitting. To determine whether to use ARMA(0,0) or ARMA(2,2) to model noise, I use equation (1).
lr = -14939.38 - (-14941.62) - 2*(2 - 6);
print(pchisq(lr, df = 4));
## [1] 0.9634267
With a p-value of 0.96, I model the noise using an ARMA(0,0) model.
Thus, according to the model selection process in the previous section, my model is simply \[\Delta(log(\text{AOBC Closing Price}))_t = \alpha + \beta_1(\Delta(log(\text{DJIA Closing Price})_t) + \beta_2(\text{Recent Mass Shooting }_t) + \varepsilon_t\] where \(\varepsilon_t \sim N(0,\sigma^2)\). Fitting the model, we get the following results.
##
## Call:
## lm(formula = diffed_aobc_Close_log ~ diffed_djia_Close_log +
## recent_mass_shooting)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.50003 -0.01437 -0.00061 0.01439 0.25833
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.218e-05 5.678e-04 0.074 0.941
## diffed_djia_Close_log 9.567e-01 5.178e-02 18.478 <2e-16 ***
## recent_mass_shooting 2.734e-03 2.890e-03 0.946 0.344
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03446 on 3831 degrees of freedom
## Multiple R-squared: 0.08226, Adjusted R-squared: 0.08178
## F-statistic: 171.7 on 2 and 3831 DF, p-value: < 2.2e-16
From these results, it is clear that the recent occurrence of a mass shooting has no significant association with the differenced log daily closing prices of the party, although the sign is positive.
I look at the same set of model diagnostics as Model 1 too see if the model above violates any of our model assumptions.
Again, the assumptions of the model are mostly met: there does not seem to be autocorrelation between the residuals, with exceptions at lags 18 and 27, there does not seem to be much evidence of heteroskedasticity, and there is no seasonality in the residuals. Again, the major violation is that the residuals are very heavy-tailed compared to the normal distribution. For this reason, the standard errors in the previous results are not valid. To fix this issue, I use a fixed block bootstrap.
I use a fixed block bootstrap as described in the section on fixed block bootstrap for Model 1, with the same block length of \(l = 245\), to obtain 95% confidence intervals. Again, to save space, I only obtain the bootstrapped 95% confidence interval for the recent mass shootings coefficient.
require(boot);
diffed_df_log_ms = cbind(diffed_aobc_Close_log, diffed_djia_Close_log, recent_mass_shooting);
blockboot_log_ms = function(data){
return(coefficients(lm(data[,1] ~ data[,2] + data[,3])));
}
set.seed(92603);
boot_log_ms = tsboot(diffed_df_log_ms, blockboot_log_ms, R = 10000, l = 245, sim = "fixed");
print(noquote( paste("(", quantile(boot_log_ms$t[,3], 0.025, na.rm = TRUE), ", ", quantile(boot_log_ms$t[,3], 0.975, na.rm = TRUE), ")") ));
## [1] ( -0.00617920912693475 , 0.0114728863241353 )
The bootstrapped 95% confidence interval, using percentiles over the bootstrapped replicates, is \((-0.006179, 0.011472)\). This confirms that the recent occurrence of a mass shooting does not have an association with the log closing price of AOBC.
Note that we have to remove the NA values produced by the bootstrap because the recent_mass_shooting indicator variable is relatively sparse compared to the time series data. Thus, there are a few iterations where no observations from recent_mass_shooting is picked up. This is a drawback of the fixed block bootstrapping approach. A more advanced version of the block bootstrap could be implemented to solve this problem.
The third and last model we look at combines the two previous model by analyzing the association between AOBC’s closing price (in the form of differenced log daily closing prices), the president’s party, and the occurrence of mass shootings. To do this, I again fit a linear regression model with ARMA noise. This time, I use the party indicator variable, the recent mass shootings indicator variable, and an interaction term between these two variables.
Model selection follows the same procedure as described in the previous two models. I first obtain AIC values for linear regression models with ARMA noise for orders up to \(p=5\) and \(q=5\).
MA0 | MA1 | MA2 | MA3 | MA4 | MA5 | |
---|---|---|---|---|---|---|
AR0 | -14943.51 | -14942.50 | -14941.42 | -14942.91 | -14941.43 | -14939.49 |
AR1 | -14942.53 | -14942.27 | -14940.80 | -14941.30 | -14939.42 | -14938.78 |
AR2 | -14941.51 | -14940.80 | -14945.78 | -14940.72 | -14938.83 | -14942.52 |
AR3 | -14942.97 | -14941.45 | -14940.92 | -14945.62 | -14943.63 | -14943.80 |
AR4 | -14941.64 | -14939.60 | -14939.12 | -14937.05 | -14934.72 | -14937.51 |
AR5 | -14939.67 | -14937.69 | -14942.55 | -14935.00 | -14939.09 | -14955.61 |
Again, we reject ARMA(5,5) because of concerns regarding overfitting. We can compare ARMA(0,0) and ARMA(2,2) using a likelihood ratio test. Using Equation (1) again, and using ARMA(0,0) as the null model and ARMA(2,2) as the alternative model, we calculate the p-value as follows.
lr = -14943.51 - (-14945.78) - 2*(4 - 8);
print(pchisq(lr, df = 4));
## [1] 0.9638829
We obtain a p-value of 0.964, meaning that I will model the noise with an ARMA(0,0) model. It is also important to note that there are some severe numerical issues with the calculation of the AIC above—notice that jumping ARMA(2,2) to ARMA(3,2) yielded an increase of approximately 5 in the AIC, which is not possible. Moreover, there was a warning indicating that NaNs were produced, further indicating the numerical issues with the procedure above.
where \(\varepsilon_t \sim N(0,\sigma^2)\). Fitting the model, we get the following results.
##
## Call:
## lm(formula = diffed_aobc_Close_log ~ diffed_djia_Close_log +
## party + recent_mass_shooting + partyxrecent_mass_shooting)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.49959 -0.01427 -0.00062 0.01415 0.25879
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.0004035 0.0008197 -0.492 0.6226
## diffed_djia_Close_log 0.9557777 0.0517368 18.474 <2e-16 ***
## party 0.0008556 0.0011354 0.754 0.4512
## recent_mass_shooting -0.0073952 0.0048454 -1.526 0.1270
## partyxrecent_mass_shooting 0.0154490 0.0060371 2.559 0.0105 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03444 on 3829 degrees of freedom
## Multiple R-squared: 0.0842, Adjusted R-squared: 0.08325
## F-statistic: 88.01 on 4 and 3829 DF, p-value: < 2.2e-16
The party of the president indicator variable’s coefficient, in this model with the interaction term, should be interpreted as the associated increase in the differenced log closing price of AOBC under a Democratic president when there is no recent mass shooting. The recent mass shooting indicator variable’s coefficient should likewise be interpreted as the associated decrease in the differenced log closing price of AOBC when there is a mass shooting under a Republican president. Although the signs of these coefficients are interesting, they are not significant.
Perhaps what is most interesting is that the interaction term is significant. This is the associated increase in the differenced log closing price of AOBC under a Democratic president when there has recently been a mass shooting. That is, according to this model, holding the differenced log closing price of DJIA constant, there is an immediate 1.16% increase in AOBC’s price (calculated from \(e^{0.0154490}\)) when a mass shooting takes place and the president is a Democrat.
The standard errors above only hold if the model assumptions are not violated. I check the model assumptions as detailed in the Model 1 model diagnostics section.
Again, the assumptions of the model are mostly met: there does not seem to be autocorrelation between the residuals, with an exception at lag 27, there does not seem to be much evidence of heteroskedasticity, and there is no seasonality in the residuals. Again, the major violation is that the residuals are very heavy-tailed compared to the normal distribution. For this reason, the standard errors in the previous results are not valid. To fix this issue, I use a fixed block bootstrap.
I use a fixed block bootstrap as described in the section on fixed block bootstrap for Model 1, with the same block length of \(l = 245\). I obtain the bootstrapped confidence interval for the party of the president indicator coefficient, the recent mass shootings coefficient, and the interaction term’s cofficient.
require(boot);
diffed_df_log_ms_party = cbind(diffed_aobc_Close_log, diffed_djia_Close_log, party, recent_mass_shooting, partyxrecent_mass_shooting);
blockboot_log_ms_party = function(data){
return(coefficients(lm(data[,1] ~ data[,2] + data[,3] + data[,4] + data[,5])));
}
set.seed(48109);
boot_log_ms_party = tsboot(diffed_df_log_ms_party, blockboot_log_ms_party, R = 10000, l = 245, sim = "fixed");
# Confidence Interval for Party Coefficient
print(noquote(paste("(", quantile(boot_log_ms_party$t[,3], 0.025, na.rm = TRUE), ",", quantile(boot_log_ms_party$t[,3], 0.975, na.rm = TRUE), ")")));
## [1] ( -0.00174471080850203 , 0.00354844623091869 )
# Confidence Interval for Recent Mass Shooting Coefficient
print(noquote(paste("(", quantile(boot_log_ms_party$t[,4], 0.025, na.rm = TRUE), ",", quantile(boot_log_ms_party$t[,4], 0.975, na.rm = TRUE), ")")));
## [1] ( -0.0127787024541497 , 0.00230364586908418 )
# Confidence Interval for Interaction Coefficient
print(noquote(paste("(", quantile(boot_log_ms_party$t[,5], 0.025, na.rm = TRUE), ",", quantile(boot_log_ms_party$t[,5], 0.975, na.rm = TRUE), ")")));
## [1] ( 0.00201902406445587 , 0.0257081433344875 )
These bootstrapped 95% confidence intervals confirm the conclusions found in the original model—that is, the coefficient for the party indicator variable (95% CI: \((-0.001745, 0.003548)\)) and the coefficient for the recent mass shooting indicator (95% CI: \((-0.012779, 0.002304)\)) are not statistically significant, but the coefficient for the interaction term between the party and recent mass shooting variables is statistically significant (95% CI: \((0.002019, 0.025708)\)) and is positive. Thus, it seems like there is an association between a recent mass shooting under a Democratic president and an increase in AOBC’s closing stock price.
The three models above do not wholly confirm any of the three hypotheses I put forward in Introduction. The closing price of AOBC did not increase under a Democratic president, the closing price of AOBC did not increase in the immediate aftermath of a mass shooting, and the closing price of AOBC did not further increase when there was both a recent mass shooting and a Democratic president. Rather, it was only under the condition of both a recent mass shooting and a sitting Democratic president that a mass shooting would increase the closing price of AOBC. Thus, Hypothesis 3 most closely matched our findings in Model 3, although the interaction between the party of the president and the recent occurrence of a mass shooting represented the only situation in which there was an associated increase in AOBC’s stock prices, not a further increase beyond the two factors themselves. Model 3 indicated that there was a 1.16% increase in the closing price of AOBC in the two week aftermath of a mass shooting under a Democratic president; the bootstrapped 95% (logged) confidence interval is \((0.002019,0.025708)\).
Does this mean that the news sites and analysts, such as Fred Imbert, are wrong about an increase in gun stock prices after a mass shooting (Imbert 2018)? Not necessarily, but often, prices may increase quickly but then regress back to their mean after a few days. Thus, perhaps what best characterizes the analysis above is that there is a more durable increase in AOBC’s stock prices in the immediate aftermath of a mass shooting under a Democratic president.
Why is there an associated increase in prices only when a recent mass shooting takes place under a Democratic president? Perhaps it is precisely in this combination of conditions that drives gunholders to stockpile guns. After all, it is a very select slice of the American population that actually owns guns. According to the results of a Harvard-Northwestern survey, 78% of American adults do not own guns, 19% of American adults own 50% of the guns, and only 3% of American adults own the other 50% (Ingraham 2016). Thus, this 3% of American adults that stockpile guns may be very sensitive to both the party of the president and the occurrence of a recent mass shooting.
Of course, these are simply theoretical speculations about what drives the association I find in Model 3 between an increase in AOBC’s stock price and the occurrence of a mass shooting under a Democratic president. This is an interesting finding, but it represents a first cut at a very complex issue. Further work must be done and more advanced methods must be used to establish causality and to fully unpack the forces at work here. The last section looks at some of possible further work.
The primary problem with the above analysis is that it only involves three presidents—namely, George W. Bush, Barack Obama, and Donald Trump. Since AOBC (formerly Smith & Wesson) has only been public since 2002, there is not a lot of variation in presidents. Thus, looking at a company that has been public for a long period of time, such as Ruger, might be fruitful to further confirm the above analysis. The Data Preparation section explains why I did not use Ruger’s stock, but further work could be done to establish a firm closing price for the company.
Another problem with the above analysis is the frequency of mass shootings. Of the 20 deadliest shootings in U.S. history, 9 occurred under Obama. On the other hand, 2 occurred under Bush, and 3 occurred under Trump. Thus, there could be a case of spurious regression here. Models 1 and Models 2 alleviate some of the concerns around spurious regression, but more advanced methods must be employed to ensure there is no spurious association.
This is also related to a major methodological concern: causality. Nothing in the above model is causal. More advanced techniques, such as an instrumental variable analysis, must be used to establish causality. Because the market surged under Obama’s presidency along with a major influx in deadly mass shootings, the association found above may be nothing more than a spurious finding. Of course, Models 1 and 2 along with controlling for the performance of the overall market using the Dow Jones Industrial Average also helps alleviate some of these concerns, but there is no way to ascertain that there is a causal relationship.
Lastly, stocks may not be the best measure of how gun companies performed. Companies can often perform stock buy backs when the stock is not doing as well, making the company perform better during harder times. Gun companies are now also diversifying beyond guns. Vista Outdoors Inc. not only sells guns and ammunition through its various gun brands, such as Savage Arms and Federal Premium, but it also owns CamelBak, Bell Sports, Giro, and various optics brands such as Bushnell (“Vista Outdoor Brands,” n.d.). Thus, the performance of its stock may not be exclusively tied to its gun sales.
Looking at the actual sales numbers of guns may be a better way to further understand consumer behavior in the wake of a mass shooting vis-a-vis the party of the president. Unfortunately, such sales figures are not collected; gun companies are also not required to disclose them publicly. Gregor Aisch and Josh Keller, analysts at the New York Times, do estimate the number of gun sales using the number of background checks that take place, which is a piece of information the Bureau of Alcohol, Tobacco, Firearms, and Explosives (ATF) does make public (Aisch and Keller 2016). The background checks are not a perfect one-to-one measurement of firearms sales. Not all background checks are registered in the system, sometimes one background check takes place for multiple purchases, and it does not capture private sales or gun show sales (Times 2016). This approach requires much more care to accurately estimate how many gun sales took place in the United States.
Aisch, Gregor, and Josh Keller. 2016. “What Happens After Calls for New Gun Restrictions? Sales Go up.” June. https://www.nytimes.com/interactive/2015/12/10/us/gun-sales-terrorism-obama-restrictions.html?
AP. 2018. “Gun Maker Remington Files for Bankruptcy.” February. https://www.nbcnews.com/news/us-news/beleaguered-gun-maker-remington-files-bankruptcy-n847316.
“Connecticut Department of Emergency Services and Public Protection Sandy Hook Elementary School Shooting Reports.” 2013. http://cspsandyhookreport.ct.gov/.
Fomby, Thomas B. 2006. “Augmented Dickey-Fuller Unit Root Tests.”
“H.R.3355 - Violent Crime Control and Law Enforcement Act of 1994.” 1994.
Imbert, Fred. 2018. “Gun Stocks Are Rallying (as They Usually Do After a Mass Shooting).” February. https://www.usatoday.com/story/money/markets/2018/02/15/gun-stocks-rallying-they-usually-do-after-mass-shooting/340456002/.
Ingraham, Christopher. 2016. “Just Three Percent of Adults Own Half of America’s Guns.” September. https://www.washingtonpost.com/news/wonk/wp/2016/09/19/just-three-percent-of-adults-own-half-of-americas-guns/?utm_term=.6966a2b5c5a1.
Ionides, Edward. 2018. “STATS 531 Lecture Notes.”
LVMPD. 2017. “LVMPD Preliminary Investigative Report 1 October / Mass Casualty Shooting.” Las Vegas Metropolitan Police Department.
“Mass Shootings in the United States: Deadliest Shootings.” 2018. https://en.wikipedia.org/wiki/Mass_shootings_in_the_United_States#Deadliest_shootings.
Shalizi, Cosma. 2017. “Advanced Data Analysis from an Elementary Point of View.” In. Unpublished.
Sullivan, Kevin, Samantha Schmidt, and David A. Fahrenthold. 2018. “What Happened in the 82 Minutes Between Nikolas Cruz’s Arrival and Arrest During Florida Shooting.” February. http://www.chicagotribune.com/news/nationworld/ct-82-minutes-florida-shooting-20180215-story.html.
Times, New York. 2016. “Statistical Analysis of Monthly Background Checks of Gun Purchases.” September. https://github.com/NYTimes/gunsales#getting-gun-sales-estimates-from-background-checks.
“Vista Outdoor Brands.” n.d. https://vistaoutdoor.com/brands/.
Wilson, James, John DiIulio, and Meena Bose. 2010. American Government: Institutions and Policies. Cengage Learning.
An Augmented Dickey-Fuller test, which formally tests for the presence of a unit root, further confirms that both time series are now stationary (Fomby 2006).↩