So in today’s entry, we will test for correlation between common financial variables.

Why do these ghosts continue to haunt the thoughts of otherwise rational readers? Perhaps it's the illusion of control. Or perhaps, it’s a desire to be in possession of exclusive knowledge. Knowledge which grants a higher status to those whom possess it. Or maybe it’s a way of justifying one’s superiority. A survivorship bias of sorts.

The truth is that all economic prediction models are fundamentally flawed. As their predictive capacity is always assessed post-hoc.

Yet despite what I have just described, the madness of this charade continues.

Whatever the case may be, I refuse to consider these male astrology exercises to be anything more than the board room equivalent of camp fire stories.

__The Data__**# S&P 500 Total Returns by Year (Percent change) #**

# https://www.slickcharts.com/sp500/returns #

sp_close_72_22 <- c(-18.11, 28.71, 18.4, 31.49, -4.38, 21.83, 11.96, 1.38, 13.69, 32.39, 16, 2.11, 15.06, 26.46, -37, 5.49, 15.79, 4.91, 10.88, 28.68, -22.1, -11.89, -9.1, 21.04, 28.58, 33.36, 22.96, 37.58, 1.32, 10.08, 7.62, 30.47, -3.1, 31.69, 16.61, 5.25, 18.67, 31.73, 6.27, 22.56, 21.55, -4.91, 32.42, 18.44, 6.56, -7.18, 23.84, 37.2, -26.47, -14.66, 18.98)

# CPI Percentage Change Dec-Dec #

# https://www.usinflationcalculator.com/inflation/consumer-price-index-and-annual-percent-changes-from-1913-to-2008/ #

cpi_72_22 <- c(6.5, 7, 1.4, 2.3, 1.9, 2.1, 2.1, 0.7, 0.8, 1.5, 1.7, 3, 1.5, 2.7, 0.1, 4.1, 2.5, 3.4, 3.3, 1.9, 2.4, 1.6, 3.4, 2.7, 1.6, 1.7, 3.3, 2.5, 2.7, 2.7, 2.9, 3.1, 6.1, 4.6, 4.4, 4.4, 1.1, 3.8, 3.9, 3.8, 3.8, 8.9, 12.5, 13.3, 9, 6.7, 4.9, 6.9, 12.3, 8.7, 3.4)

# 30-year fixed-rate average #

# https://www.bankrate.com/mortgages/historical-mortgage-rates/#current-rates #

thirty_year_mor_72_22 <- c(0.0553, 0.0315, 0.0338, 0.0413, 0.047, 0.0414, 0.0379, 0.0399, 0.0431, 0.0416, 0.0388, 0.0465, 0.0486, 0.0538, 0.0623, 0.064, 0.0647, 0.0593, 0.0588, 0.0589, 0.0657, 0.0701, 0.0808, 0.0746, 0.0691, 0.0757, 0.0776, 0.0786, 0.0828, 0.0717, 0.0827, 0.0909, 0.0997, 0.1025, 0.1038, 0.104, 0.1039, 0.1243, 0.1388, 0.1324, 0.1604, 0.1664, 0.1374, 0.112, 0.0964, 0.0885, 0.0887, 0.0905, 0.0919, 0.0804, 0.0738)

# M2 Percent Change from Year Ago #

# https://fred.stlouisfed.org/graph/?graph_id=248494 #

m2_72_22 <- c(5.11903, 16.28949, 19.11447, 5.06449, 3.77566, 5.68219, 6.76589, 5.76268, 6.167, 6.73845, 8.57838, 7.30235, 2.49613, 8.02493, 6.75141, 6.11739, 5.23708, 4.28224, 4.7706, 6.97704, 7.44801, 8.63346, 6.04183, 7.38864, 7.15112, 5.27695, 4.8759, 2.07367, 1.26729, 1.03366, 1.86908, 3.71999, 5.50776, 4.19323, 5.35027, 6.48672, 8.12228, 8.90245, 8.00654, 12.20922, 9.0296, 9.03193, 8.0325, 7.82262, 8.27402, 12.39339, 12.76942, 9.41921, 5.86709, 9.70773, 12.41968)

# https://www.slickcharts.com/sp500/returns #

sp_close_72_22 <- c(-18.11, 28.71, 18.4, 31.49, -4.38, 21.83, 11.96, 1.38, 13.69, 32.39, 16, 2.11, 15.06, 26.46, -37, 5.49, 15.79, 4.91, 10.88, 28.68, -22.1, -11.89, -9.1, 21.04, 28.58, 33.36, 22.96, 37.58, 1.32, 10.08, 7.62, 30.47, -3.1, 31.69, 16.61, 5.25, 18.67, 31.73, 6.27, 22.56, 21.55, -4.91, 32.42, 18.44, 6.56, -7.18, 23.84, 37.2, -26.47, -14.66, 18.98)

# CPI Percentage Change Dec-Dec #

# https://www.usinflationcalculator.com/inflation/consumer-price-index-and-annual-percent-changes-from-1913-to-2008/ #

cpi_72_22 <- c(6.5, 7, 1.4, 2.3, 1.9, 2.1, 2.1, 0.7, 0.8, 1.5, 1.7, 3, 1.5, 2.7, 0.1, 4.1, 2.5, 3.4, 3.3, 1.9, 2.4, 1.6, 3.4, 2.7, 1.6, 1.7, 3.3, 2.5, 2.7, 2.7, 2.9, 3.1, 6.1, 4.6, 4.4, 4.4, 1.1, 3.8, 3.9, 3.8, 3.8, 8.9, 12.5, 13.3, 9, 6.7, 4.9, 6.9, 12.3, 8.7, 3.4)

# 30-year fixed-rate average #

# https://www.bankrate.com/mortgages/historical-mortgage-rates/#current-rates #

thirty_year_mor_72_22 <- c(0.0553, 0.0315, 0.0338, 0.0413, 0.047, 0.0414, 0.0379, 0.0399, 0.0431, 0.0416, 0.0388, 0.0465, 0.0486, 0.0538, 0.0623, 0.064, 0.0647, 0.0593, 0.0588, 0.0589, 0.0657, 0.0701, 0.0808, 0.0746, 0.0691, 0.0757, 0.0776, 0.0786, 0.0828, 0.0717, 0.0827, 0.0909, 0.0997, 0.1025, 0.1038, 0.104, 0.1039, 0.1243, 0.1388, 0.1324, 0.1604, 0.1664, 0.1374, 0.112, 0.0964, 0.0885, 0.0887, 0.0905, 0.0919, 0.0804, 0.0738)

# M2 Percent Change from Year Ago #

# https://fred.stlouisfed.org/graph/?graph_id=248494 #

m2_72_22 <- c(5.11903, 16.28949, 19.11447, 5.06449, 3.77566, 5.68219, 6.76589, 5.76268, 6.167, 6.73845, 8.57838, 7.30235, 2.49613, 8.02493, 6.75141, 6.11739, 5.23708, 4.28224, 4.7706, 6.97704, 7.44801, 8.63346, 6.04183, 7.38864, 7.15112, 5.27695, 4.8759, 2.07367, 1.26729, 1.03366, 1.86908, 3.71999, 5.50776, 4.19323, 5.35027, 6.48672, 8.12228, 8.90245, 8.00654, 12.20922, 9.0296, 9.03193, 8.0325, 7.82262, 8.27402, 12.39339, 12.76942, 9.41921, 5.86709, 9.70773, 12.41968)

__The Sources__“S&P 500 Total Returns.” S&P 500 Total Returns by Year Since 1926, www.slickcharts.com/sp500/returns. Accessed 5 Nov. 2023.

“Consumer Price Index Data from 1913 to 2023.” US Inflation Calculator | Easily Calculate How the Buying Power of the U.S. Dollar Has Changed from 1913 to 2023. Get Inflation Rates and U.S. Inflation News., 12 Oct. 2023, www.usinflationcalculator.com/inflation/consumer-price-index-and-annual-percent-changes-from-1913-to-2008.

“M2.” FRED, fred.stlouisfed.org/graph/?graph_id=248494. Accessed 5 Nov. 2023.

__The Analysis__**###########################################################################**

# Getting the Libraries in Order #

library("ggpubr")

library(tseries)

###########################################################################

cor.test(sp_close_72_22, cpi_72_22)

cor.test(sp_close_72_22, thirty_year_mor_72_22)

cor.test(sp_close_72_22, m2_72_22)

cor.test(cpi_72_22, m2_72_22)

###########################################################################

# Visual Creation Output #

###########################################################################

my_data <- data.frame(sp_close_72_22, cpi_72_22)

ggscatter(my_data, x = "sp_close_72_22", y = "cpi_72_22",

add = "reg.line", conf.int = TRUE,

cor.coef = TRUE, cor.method = "pearson",

xlab = "S&P 500 Total Returns by Year (Percent change)", ylab = "CPI Percent Change Dec-Dec")

my_data <- data.frame(sp_close_72_22, thirty_year_mor_72_22)

ggscatter(my_data, x = "sp_close_72_22", y = "thirty_year_mor_72_22",

add = "reg.line", conf.int = TRUE,

cor.coef = TRUE, cor.method = "pearson",

xlab = "S&P 500 Total Returns by Year (Percent change)", ylab = "30-year fixed-rate average")

my_data <- data.frame(sp_close_72_22, m2_72_22)

ggscatter(my_data, x = "sp_close_72_22", y = "m2_72_22",

add = "reg.line", conf.int = TRUE,

cor.coef = TRUE, cor.method = "pearson",

xlab = "S&P 500 Total Returns by Year (Percent change)", ylab = "M2 Percent Change from Year Ago")

my_data <- data.frame(m2_72_22, cpi_72_22)

ggscatter(my_data, x = "m2_72_22", y = "cpi_72_22",

add = "reg.line", conf.int = TRUE,

cor.coef = TRUE, cor.method = "pearson",

xlab = "M2 Percent Change from Year Ago", ylab = "CPI Percent Change Dec-Dec")

###########################################################################

# Getting the Libraries in Order #

library("ggpubr")

library(tseries)

###########################################################################

cor.test(sp_close_72_22, cpi_72_22)

cor.test(sp_close_72_22, thirty_year_mor_72_22)

cor.test(sp_close_72_22, m2_72_22)

cor.test(cpi_72_22, m2_72_22)

###########################################################################

# Visual Creation Output #

###########################################################################

my_data <- data.frame(sp_close_72_22, cpi_72_22)

ggscatter(my_data, x = "sp_close_72_22", y = "cpi_72_22",

add = "reg.line", conf.int = TRUE,

cor.coef = TRUE, cor.method = "pearson",

xlab = "S&P 500 Total Returns by Year (Percent change)", ylab = "CPI Percent Change Dec-Dec")

my_data <- data.frame(sp_close_72_22, thirty_year_mor_72_22)

ggscatter(my_data, x = "sp_close_72_22", y = "thirty_year_mor_72_22",

add = "reg.line", conf.int = TRUE,

cor.coef = TRUE, cor.method = "pearson",

xlab = "S&P 500 Total Returns by Year (Percent change)", ylab = "30-year fixed-rate average")

my_data <- data.frame(sp_close_72_22, m2_72_22)

ggscatter(my_data, x = "sp_close_72_22", y = "m2_72_22",

add = "reg.line", conf.int = TRUE,

cor.coef = TRUE, cor.method = "pearson",

xlab = "S&P 500 Total Returns by Year (Percent change)", ylab = "M2 Percent Change from Year Ago")

my_data <- data.frame(m2_72_22, cpi_72_22)

ggscatter(my_data, x = "m2_72_22", y = "cpi_72_22",

add = "reg.line", conf.int = TRUE,

cor.coef = TRUE, cor.method = "pearson",

xlab = "M2 Percent Change from Year Ago", ylab = "CPI Percent Change Dec-Dec")

###########################################################################

__Findings__

**There was a negative correlation between the two variables: S&P 500 Total Returns by Year (Percent change) (n = 51) and CPI Percent Change Dec-Dec (n = 51). S&P 500 Total Returns by Year (M = 11.983, SD = 17.536), CPI Percent Change Dec-Dec (M = 3.992, SD = 3.032), Conditions; t(49) = -0.82177, p = .42. Pearson Product-Moment Correlation Coefficient: r = -.12.**

There was a positive correlation between the two variables: S&P 500 Total Returns by Year (Percent change) (n = 51) and 30-year fixed-rate average (n = 51). S&P 500 Total Returns by Year (Percent change) (M = 11.983, SD = 17.536), 30-year fixed-rate average (M = .078, SD = .032), Conditions; t(49) = 0.29162, p = .77. Pearson Product-Moment Correlation Coefficient: r = .04.

There was a positive correlation between the two variables: S&P 500 Total Returns by Year (Percent change) (n = 51) and M2 Percent Change from Year Ago (n = 51). S&P 500 Total Returns by Year (Percent change) (M = 11.983, SD = 17.536), M2 Percent Change from Year Ago (M = 7.085, SD = 3.464), Conditions; t(49) = 0.58362, p = .56. Pearson Product-Moment Correlation Coefficient: r = .08.

__Conclusions__

As is evident from our findings, there is not a single economic indicator which demonstrates a 1:1 correlation of any significance (alpha = .05). Therefore, we can infer that news headlines which contains hyperbolic language such as:

**The Jobs Market Is A Recession Warning**

Major U.S. indicators point to a recession starting

XYZ strategist sees year-end equities rally

Major U.S. indicators point to a recession starting

XYZ strategist sees year-end equities rally

Economic Indicator Says Recession Imminent

Economic Indicator Says Recession Imminent

Are ultimately the work of some vaudeville spirit medium summoning imaginary ghosts to a drawing room.

The closest that we came to discerning anything of interest, was the non-significant (p = .16), but still somewhat insightful, correlative (r = .20) assessment of CPI and M2. The impact of money supply on CPI figures should be somewhat self-evident. However, with the coefficient of determination being less than .50, we can only make the assessment that the increase of currency within a financial system might increase the rate of inflation. Sometimes, but not always.

All these revelations should shine a light in the darkness as it pertains to the definitive pronouncements of various opaque economic models. Almost as if by design, the failure of such doomsday warnings are rarely revisited the day after our purported judgement. However, this does little to inhibit the same modeling systems from being trotted out time and again.

Once a system has been established, all the evidence which is contra to its continued existence is explained away in terms of circumstance, with no fault being assigned to the system itself. The same holds true for reputations, and un-verified phenomenon.

I read somewhere that the ancient Greeks assessed their heroes not upon their fates, but as to how those heroes behaved within heroic situations. The qualities of temperance and mastery of the self, were what ultimately determined the differentiating attributes of heroism. Perhaps the modern world can learn something from this perspective. That honest action within itself, regardless of the outcome, is that which ultimately provides the truth.