Monday, November 28, 2022

Corning's Volatility Compared to the Vanguard S&P 500 Index ETF

Here's the histogram of Corning's (GLW) monthly returns between June 2019 and October 2022 (Click on the image to see a larger version):

Exhibit: Corning's Monthly Returns Fell at or below 2.56% for the Majority of the Months

Data Provided by IEX Cloud, Author Calculations

There were 14 months between June 2019 and October 2022 when Corning's monthly returns were greater than 2.56%.  There were seven months when the monthly returns were greater than or equal to 11.5%.    

Corning's monthly returns have a high positive correlation of 0.66 with the monthly returns of the Vanguard S&P 500 Index ETF (VOO). 

Exhibit: The Vanguard S&P 500 Index and Corning Monthly Returns [June 2019 - October 2022]

Data Provided by IEX Cloud, Monthly Returns Calculated by the Author, Graph using RStudio 

A linear regression of the Vanguard S&P 500 Index ETF and Corning's monthly returns yields a beta of 1.03 for Corning. Corning's average monthly return will mirror the Vanguard S&P 500 Index ETF. Corning may not help diversify a portfolio and will not protect against the market's volatility.  

Here's the linear regression model:

> # Conduct the Linear Regression of the Monthly Returns Between $VOO and $GLW

> lmVOOGLW = lm(GLW_Monthly_Return~VOO_Monthly_Return, data = VOOandGLW)

> # Present the summary of the results from the linear regression

> summary(lmVOOGLW)

Call:

lm(formula = GLW_Monthly_Return ~ VOO_Monthly_Return, data = VOOandGLW)

Residuals:

      Min        1Q      Median     3Q       Max 

   -0.118363 -0.050928 -0.009998  0.041106  0.187435 

Coefficients:

                   Estimate     Std. Error   t value   Pr(>|t|)    

(Intercept)        -0.003778     0.010818    -0.349    0.729    

VOO_Monthly_Return  1.039148     0.188256     5.520    2.4e-06 ***

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Residual standard error: 0.06823 on 39 degrees of freedom

Multiple R-squared:  0.4386, Adjusted R-squared:  0.4242 

F-statistic: 30.47 on 1 and 39 DF,  p-value: 2.403e-06

The coefficient for VOO_Monthly_Return [1.039148] is the beta for Corning.  The p-value is significant at a 95% confidence interval. The adjusted R-squared is 0.42, which means about 42% of Corning's average monthly return is explained by the Vanguard S&P 500 Index ETF returns.     

Saturday, November 26, 2022

Beta of Cummins Included in the List

 Here's the latest list of beta values. I have included Cummins on this list, and the returns for Cummins and the Vanguard S&P 500 Index are based on November 25, 2022, closing prices. Click on the image to see an enlarged version. 

Exhibit: Beta Values for Cummins Included in the list


Companies in this list:

  • Cisco Systems
  • Colgate-Palmolive
  • Lennox International
  • Sealed Air
  • Boeing
  • Newell Brands
  • Timken
  • Cummins

 

Monthly Return Comparison Between Cummins and Vanguard S&P 500 Index ETF

The following chart shows the Vanguard S&P 500 Index ETF (VOO) monthly returns on the x-axis and Cummins (CMI) on the y-axis. The regression line on the graph shows a steep slope, and the Pearson correlation value is 0.7. This value shows a very strong correlation between the monthly returns of the Vanguard S&P 500 Index ETF and Cummins. The p-value is significant at a 95% confidence interval. Cummins has returned 13.9% in the past year, while the Vanguard S&P 500 Index ETF has returned a -12.4%.  

Exhibit: Monthly Returns of Vanguard S&P 500 Index ETF and Cummins [June 2019 - October 2022]
   


The following command was used to create this graph:

> # Create a new Graph of $VOO and $CMI Monthly Returns as Percentages
> ggscatter(df1, x = 'VOO_Monthly_Return', y = 'CMI_Monthly_Return', 
+           add = "reg.line", conf.int = TRUE, 
+           cor.coef = TRUE, cor.method = "pearson",
+           xlab = "VOO ETF Monthly Returns (%)", ylab = "CMI Monthly +           Returns (%)")

A linear regression of the monthly returns of the Vanguard S&P 500 Index ETF and Cummins shows the beta (coefficient of Vanguard S&P 500 Index ETF) for Cummins' monthly returns compared to the Vanguard ETF. 

# Conduct the Linear Regression of the Monthly Returns Between $VOO and $CMI
lmVOOCMI = lm(CMI_Monthly_Return~VOO_Monthly_Return, data = VOOandCMI)
# Present the summary of the results from the linear regression
summary(lmVOOCMI)

Call:
lm(formula = CMI_Monthly_Return ~ VOO_Monthly_Return, data = VOOandCMI)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.123268 -0.051037  0.004537  0.047062  0.115727 

Coefficients:
                   Estimate Std. Error t value Pr(>|t|)    
(Intercept)        0.005104   0.009226   0.553    0.583    
VOO_Monthly_Return 0.993327   0.160541   6.187 2.84e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.05819 on 39 degrees of freedom
Multiple R-squared:  0.4954, Adjusted R-squared:  0.4824 
F-statistic: 38.28 on 1 and 39 DF,  p-value: 2.845e-07

Cummins has a beta of 0.99 (nearly 1). Given this beta, Cummins, on average, moves in line with the S&P 500 Index. The adjusted R-squared value of 0.48 shows that about 48% of Cummins' monthly returns can be attributed to the returns of the S&P 500 Index. The p-value of 2.84e-07 shows that the regression analysis results are significant at the 95% confidence interval.

The average monthly return for Cummins between June 2019 and October 2022 was 1.49%. A one-sample t-test shows that the monthly return falls between -1.05% and 4.04%. But, the p-value of 0.99 is much higher than 0.05. This t-test may not be significant in the 95% confidence interval.        

#
# One Sample t-test of $CMI average monthly returns.
# Step 1: 
# Copy Dataframe Column CMI_Monthly_Return into a List 
#
CMI_Monthly_Return_Col <- c(VOOandCMI['CMI_Monthly_Return'])
# CMI_Monthly_Return_Col is a list object, but needs to be numeric
# for qqnorm to work.  
#
typeof(CMI_Monthly_Return_Col)
# Convert List Object into a Column of doubles as as.numeric and unlist
#
y_CMI_Monthly_Return_Col <- as.numeric(unlist(CMI_Monthly_Return_Col))
typeof(y_CMI_Monthly_Return_Col)
# Let’s check if the data comes from a normal distribution 
# using a normal quantile-quantile plot.
# Source: https://cran.r-project.org/web/packages/distributions3/vignettes/one-sample-t-test.html

Exhibit: Check if Cummins' Monthly Returns are Normally Distributed before doing a t-test



#
qqnorm(y_CMI_Monthly_Return_Col)
qqline(y_CMI_Monthly_Return_Col)
# Conduct a t-test to see if the population mean is 1.49% [0.0149]
#
t.test(y_CMI_Monthly_Return_Col, mu = .0149)

One Sample t-test

data:  y_CMI_Monthly_Return_Col
t = 0.0045069, df = 40, p-value = 0.9964
alternative hypothesis: true mean is not equal to 0.0149
95 percent confidence interval:
 -0.01057188  0.04048574
sample estimates:
 mean of x 
0.01495693 


    



Tuesday, November 22, 2022

Beta of Various Stocks Listed in the US

I have calculated the beta of a few more stocks. Here's the latest list as of November 22, 2022. The one-year returns of Timken and Newell Brands are based on closing prices as of November 22.  

Exhibit: Beta of Various Stocks Listed in the U.S. 

Click on the image to see beta values. 
(Source:  Data Provided by IEX Cloud, Author's Analysis Using RStudio, Yahoo! Finance)

Stocks in this list: 

  • Cisco
  • Colgate
  • Lennox
  • Sealed Air
  • Boeing
  • Newell Brands
  • Timken




  

Volatility of Monthly Returns of Newell Brands Compared to the Vanguard S&P 500 Index ETF

The monthly returns of Newell Brands and the Vanguard S&P 500 ETF have a positive correlation of 0.44, as calculated using the Pearson method. The data used in this study is range from June 2019 to October 2022 (41 months of data). 

Newell Brands is a company that owns some very famous brands across multiple consumer and commercial product lines. 

Exhibit: The Brands Owned by Newell Brands

(Source: Newell Brands)

      

Here's the R command and the output from R-Studio

> # Calculate the Monthly Return Correlation between Newell Brands 

> # and Vanguard S&P 500 Index using the Pearson method 

> cor(VOOandNWL['NWL_Monthly_Return'], VOOandNWL['VOO_Monthly_Return'], method = c("person"))

                        VOO_Monthly_Return

NWL_Monthly_Return          0.4434957 

Here's the plot of the S&P 500 and the Newell Brands' monthly returns:

Exhibit: S&P 500 Index Monthly Returns VS. Newell Brands Monthly Returns

                       S&P 500 Index Monthly Returns against Newell Brands' Returns
                          (Source: Data Provided by IEX Cloud, Correlation and Graph on RStudio)

When the correlation is calculated for the months when the S&P 500 Index had positive returns, the correlation drops to 0.28. 

> # Calculate the Monthly Return Correlation between Newell Brands 

> # and Vanguard S&P 500 Index using the Pearson method

> # for only those months when the Vanguard S&P 500 Index ETF 

> # had positive returns.

> cor(VOOandNWLPositiveReturns['NWL_Monthly_Return'], VOOandNWLPositiveReturns['VOO_Monthly_Return'], method = c("person"))

                        VOO_Monthly_Return

NWL_Monthly_Return           0.284022

Here's the plot of the S&P 500 Index against Newell Brands' monthly returns for months when the S&P 500 index had a positive return. 

           Exhibit: S&P 500 Index Monthly Positive Returns VS. Newell Brands Monthly Returns

S&P 500 Index Monthly Returns (Positive Months) against Newell Brands' Returns
                          (Source: Data Provided by IEX Cloud, Correlation and Graph on RStudio)

The linear regression of the monthly returns of the S&P 500 index and Newell Brands is used to estimate the average change in the monthly return of Newell Brands for a 1% change in the S&P 500 index. The coefficient of the independent variable (VOO_Monthly_Return) is the beta of Newell Brands.  In this case Newell Brands has a beta of 0.79. For every 1% monthly change in the S&P 500 index, Newell Brands is estimated to change by 0.79%. Yahoo Finance has calculated a beta of 0.84 for Newell Brands.      

> # Conduct the Linear Regression of the Monthly Returns Between $VOO and $NWL

> lmVOONWL = lm(NWL_Monthly_Return~VOO_Monthly_Return, data = VOOandNWL)

> # Present the summary of the results from the linear regression

> summary(lmVOONWL)

Call:

lm(formula = NWL_Monthly_Return ~ VOO_Monthly_Return, data = VOOandNWL)

Residuals:

     Min       1Q     Median       3Q      Max 

  -0.14372  -0.06818 -0.01767    0.06086  0.19915 

Coefficients:

                      Estimate   Std. Error   t value  Pr(>|t|)   

(Intercept)          -0.001988   0.014756     -0.135   0.89352   

VOO_Monthly_Return    0.793454   0.256769      3.090   0.00368 **

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.09306 on 39 degrees of freedom

Multiple R-squared:  0.1967, Adjusted R-squared:  0.1761 

F-statistic: 9.549 on 1 and 39 DF,  p-value: 0.003681

 




The Costco Paradox

What can we learn from the success of Costco? Summary: ...