# How do I replicate John Hussman's recession forecasting methodology?

John Hussman has a recession forecasting methodology he often posts about on his blog, and I am trying to replicate it using publicly available data. I would like to assess his accuracy in predicting recessions, and try my own hand at the same problem. Here is Dr. Hussman's criteria for a recession 'warning:'

1: Widening credit spreads: An increase over the past 6 months in either the spread between commercial paper and 3-month Treasury yields, or between the Dow Corporate Bond Index yield and 10-year Treasury yields.

2: Falling stock prices: S&P 500 below its level of 6 months earlier. This is not terribly unusual by itself, which is why people say that market declines have called 11 of the past 6 recessions, but falling stock prices are very important as part of the broader syndrome.

3: Weak ISM Purchasing Managers Index: PMI below 50, or,

3: (alternate): Moderating ISM and employment growth: PMI below 54, coupled with slowing employment growth: either total nonfarm employment growth below 1.3% over the preceding year (this is a figure that Marty Zweig noted in a Barron's piece many years ago), or an unemployment rate up 0.4% or more from its 12-month low.

4: Moderate or flat yield curve: 10-year Treasury yield no more than 2.5% above 3-month Treasury yields if condition 3 is in effect, or any difference of less than 3.1% if 3(alternate) is in effect (again, this criterion doesn't create a strong risk of recession in and of itself).

Here's my interpretation of what that actually means:
1. 6 month change in [3-Month AA Financial Commercial Paper Rate]-[3-Month Treasury Constant Maturity Rate (GS3M)] > 0
2. 6 month change in the S&P 500 monthly closing price < 0
3. PMI < 50
3b. OR [PMI < 54] AND [the 6-month % change in employment < 1.3]
4. [3-Month Treasury Constant Maturity Rate]-[10-Year Treasury Constant Maturity Rate] < 2.5 OR (if 3b, < 3.1)

Does this seem like the correct interpretation of John Hussman's methodology? Am I missing anything important? Once I'm certain of the correct data and correct calculations, I'll post some code in R to automatically calculate the 'recession warning' index.

Edit: Here is the code I have so far in R, I welcome any comments here or on my blog.

#Code to re-create John Hussman's Recession warning index
#http://www.hussmanfunds.com/wmc/wmc110801.htm
#R code by Zach Mayer

rm(list = ls(all = TRUE)) #CLEAR WORKSPACE
library(quantmod)

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

getSymbols('CPF3M',src='FRED') #3-Month Financial Commercial Paper
getSymbols('GS3M',src='FRED') #3-Month Treasury
CS <- na.omit(CPF3M-GS3M)

#6 month increase
CS <- na.omit(CS-Lag(CS,6))
names(CS) <- 'CS'

#################################################
# 2. Stock Prices
#################################################
getSymbols('SP500',src='FRED')
SP500 <- Cl(to.monthly(SP500))

#Re-index to start of month
library(lubridate)
index(SP500) <- as.Date(ISOdate(year(index(SP500)),month(index(SP500)),1))

#6 month increase
SP500 <- na.omit(SP500-Lag(SP500,6))
names(SP500) <- 'SP500'

#################################################
# 3. ISM Purchasing Managers index
#################################################

#A. PMI
getSymbols('NAPM',src='FRED') #Non-farm emploment
PMI <- NAPM
names(PMI) <- 'PMI'

#B. Employment
getSymbols('PAYEMS',src='FRED') #Non-farm emploment
PAYEMS <- na.omit((PAYEMS-Lag(PAYEMS,12))/Lag(PAYEMS,12)) #12 month increase
names(PAYEMS) <- 'PAYEMS'

#################################################
# 4. Yield Curve
#################################################
getSymbols('GS10',src='FRED') #3-Month Treasury
YC <- na.omit(GS10-GS3M)
names(YC) <- 'YC'

#################################################
# Put it all together
#################################################

P.A <-(CS>0) & #1. Credit spreads widening over 6 months
(SP500<0) & #2. Stocks falling over 6 months
(PMI<50) &      #3. PMI below 50
(YC<2.5)        #4. 10 year vs 3 year yields below 2.5%
P.B <- (CS>0) & #1. Credit spreads widening over 6 months
(SP500<0) & #2. Stocks falling over 6 months
(PMI<54) &      #3. PMI below 54
(PAYEMS<1.3) &  #3.B 1Y employment growth below 1.3%
(YC<3.1)        #4. 10 year vs 3 year yields below 2.5%

P.Rec <- P.A | P.B
names(P.Rec) <- 'P.Rec'
P.Rec$P.Rec <- as.numeric(P.Rec$P.Rec)

#Actual Recessions
getSymbols('USREC',src='FRED')
chartSeries(P.Rec)
chartSeries(USREC)

#Compare
ReccessionForecast <- na.omit(cbind(P.Rec,USREC))
start <- min(index(ReccessionForecast))
ReccessionForecast <- ts(ReccessionForecast,frequency=12,start=c(year(start),month(start)))
plot(ReccessionForecast)

-
I agree with your interpretations. Other factors to consider are leading economic indicators, credit spreads between high-grade and investment grade firms, industrial production, and commodity prices. –  Quant Guy Aug 9 '11 at 0:44
@Quant Guy: Could you link to some data sources for those indicators? Primarily the 1st two: leading economic indicators and credit spreads for high grade vs investment grade firms. I think I can find my own data for industrial production and commodity prices (but I welcome direction there too!). –  Zach Aug 9 '11 at 1:30
You can find all of this except LEI at the St. Louis Federal Reserve bank: research.stlouisfed.org/fred2 You can find the LEI at : conference-board.org/data/bcicountry.cfm?cid=1 –  Quant Guy Aug 9 '11 at 1:56
Your interpretation of Hussman's methodology seems pretty solid, especially that he is not very ambiguous. Perhaps a better question for this forum would be "how can I improve upon Hussman's methodoloy?" or "what are the potential flaws in Hussman's methodology?" –  Tal Fishman Aug 9 '11 at 2:42
@sheegaon: I first wanted to make sure I was using the correct data. For example, when he says "commercial paper" is "3-Month AA Financial Commercial Paper Rate" from FRED what I'm looking for? –  Zach Aug 9 '11 at 13:15

I think you may have made a mistake in your interpretation of #1. Putting aside Akshay's concerns (which are actually quite relevant), you can find commercial paper data and other relevant interest rates at the Federal Reserve's H15 data release page. There you will find CP rate data for financial and non-financial firms, as well as the 3 month Treasury bill rate. I am not sure whether Hussman would use the financial or non-financial CP rate, he probably created this when there was only one rate, which has since been discontinued. In any case, you will want to compare 3-month CP to 3-month Treasury to keep it apples-to-apples. You may have to do some of your own research to see how to replicate the old CP rate.

The Fed page also has corporate bond data, for which you may want to look at the Moody's seasoned Baa index data, and compare to 10-year Treasury constant maturity. Alternatively, going with Akshay's recommendation, you can use the State & Local Bonds rate from the same page (also compared to 10-year Treasury). If you have access to Barclays (Lehman) data, you have much more choice. In that case, you would want to look at the OAS of the Investment Grade Corporate index. However, the Fed series are going to have the longest history, which IMHO is of paramount concern when constructing an indicator for something with inherently very few independent observations.

BTW, you also seem to have made the mistake of using 3-year instead of 3-month Treasuries in #4.

-
Thanks for the 3 month vs 3 year tip, that is clearly a mistake on my part. Any advice on re-creating the commercial paper index, using the new Financial/Non Financial commercial paper indices? Thanks for the advice. –  Zach Aug 9 '11 at 14:43
1. This may have been correct earlier on - but now, with the CP market all but frozen up, this is not such a good indicator. Moreover, corporate credit is quite robust these days and still, we are talking of an impending recession - simply put, the credit risk has passed on to the sovereigns. Hence a better proxy would be municipal paper/peripehral EU bonds vs US 2y Treasury

2. Rather than just a decline, a volatility based measure would be more appropriate (although, as we know from skews, a bearish market is inherently more volatile). But, do remember, that it is volatility that leads to greater financing costs (higher option prices, uncertain collateral value - all unhealthy signs).

3a and 3b. Looks correct - although in 3b, I would be careful about combining a leading and a lagging indicator.

1. Historically, the 2s10s (or equivalently, the 2y/10y CMT spread is amazingly accurate at predicting recessions (the classic inversion of the yield curve) - beware when this hovers close to zero (or even below zero)!

I won't be too religious about actual figures like "1.3%" - I think calibration against past data using your methodology should give you better bounds on these numbers (ie use these numbers as parameters and see which parameters vector helps you predict recessions with the highest accuracy for historical data).

Hope this helps.

-
should have been "4." for the last item in the list :) –  Akshay Aug 8 '11 at 22:37
What are CP markets? –  Zach Aug 9 '11 at 1:30
"I won't be too religious about actual figures like '1.3%'": Right now I'm trying to replicate John Hussman's methodology. Once I have that figured out, I'm planning to calibrate my own model. –  Zach Aug 9 '11 at 1:34
@zach CP = commercial paper (part of indicator #1 in your Q) –  Tal Fishman Aug 9 '11 at 2:40
@sheegaon: Of course, thanks. –  Zach Aug 9 '11 at 13:16