2020 Predictions – The Avalanche Begins

Click to open / enlarge


Apologies for the condensed spreadsheet but i wanted to show readers the consistency (so far) of expected 2020 SP 500 EPS growth. The expected 10% EPS growth today was 12% last June, versus 10% today. Like the good country lawyer once said, “I can argue it either way” which both bulls and bears are doing about 2020 earnings, but “net – net” 2020’s expected 10% growth is far better than 2019’s 1% growth.

Here is the tracking of 2019 SP 500 EPS last last year and early this year: note how fast 2019 expected SP 500 EPS growth deteriorated from mid-November ’18’s expected 9% growth.

Click to open / enhance / enlarge


2019 expected SP 500 EPS earnings growth is the bottom line in bold and expected growth fell from 9% in Q4 ’18 to just 3% by early April ’19.

That’s not happening so far in Q4 ’19, although the SP 500 is lapping a 13% drop from Q4 ’18.

DataTrek’s interesting analysis about 2020 “expected” SP returns: 


The Year After A 25% S&P Gain


The S&P 500 is up 23.2% in 2019, and when you add in a 1.8% dividend yield that adds up to basically a 25.0% YTD total return. Not bad for a year when US corporate earnings were down, interest rates across the globe went noticeably negative, the US and China tussled over trade, Europe teetered on the edge of recession, and venture capital finally had its comeuppance.

We got curious about how this seemingly outsized return stacks up against the historical record and what it portends for 2020. We dusted off NYU finance professor Aswath Damodaran’s comprehensive S&P 500 performance dataset (1928 – present, link at the end of this section). Here is what we found:

#1: First, let’s put that 25% total in some historical context:

  • It is more than double the 50/90 year historical arithmetic average of S&P 500 total returns, which are 11.1%/11.4% respectively.
  • It is close to double (+85%) the last 10 years’ mean return of 13.5%, which includes the entire bounce-back period after the Great Recession.
  • If markets closed today for the remainder of 2019, the S&P’s performance would be the strongest in 6 years (2013 at 32.2%).

#2: So yes, 2019 has been an unusually strong year, but we should also consider that 2018 wasn’t (-4.2% total S&P 500 return) and evaluate rolling 2-year performance before we get too excited:

  • Over the last 2 years (2018/2019) the S&P 500 compounded annually at 9.4%.
  • This is actually lower than the average 2-year compounded returns over the last 10/50/90 years, at 11.0%/10.6%/10.3%.

#3: Now, since there is some concern about whether markets have run too far too fast in 2019 – possibly portending a 2020 pullback (or worse) – we then looked at the historical record for what happens in the year AFTER a 25% gain in the S&P 500:

  • There are 23 years from 1928 – 2018 when the S&P 500 has generated a total return of 25% or greater.
  • In 3 cases – 1935, 1954 and 1997– the next year was another +25% return (31.9% in 1936, 32.6% in 1955, 28.3% in 1998).
  • In 12 cases the year after 25% or greater gains saw further positive returns, but less than 25%. These were in 1956 (7.4%), 1992 (7.5%), 2004 (10.7%), 1959 (12.1%), 2014 (13.5%), 2010 (14.8%), 1986 (18.5%), 1944 (19.0%), 1999 (20.9%), 1996 (22.7%), 1951 (23.7%), and 1976 (23.8%).
  • In 1 case, the year after a 25% or greater gain was negative by more than 10%. That was in 1937 (-35.3%),
  • In 7 cases, the year after a 25% or greater gain was negative, but less than 10%. These were in 1962 (-8.8%), 1946 (-8.4%), 1929 (-8.3% – not a typo), 1981 (-4.7%), 1990 (-3.1%), 1934 (-1.2%), and 1939 (-1.1%).

Lots of numbers here, so let’s summarize what we know about how the S&P 500 might perform in 2020 based on the historical data:

  • From 1928 – 2018 the average total return for the S&P 500 in the year after a 25% or greater gain is +9.4%. That is modestly lower than the long run averages of 11-13% mentioned earlier.
  • On the plus side, the odds of a large loss (10% or greater) in 2020 are low based on the historical record. All but one of the really bad years in the last 9 decades (1931, 2008, 1974, 1930, 2002, 1973, 1941, 2001, 1940, 1957) came after sub 25% gain years. 1937 was the exception, as noted above.
  • On a more cautious note, the “win ratio” for years following 25% or greater annual returns is modestly lower than the average. The historical record shows that 65% of follow on years were positive versus a 90-year average of 72%.

The bottom line: US stocks rarely reverse course in dramatic fashion after a year like 2019, but they also don’t typically do quite as well as long run average returns. That makes sense to us; markets discount the future, after all. This year’s rally and recent new highs are grounded in the belief of better financial and economic conditions in 2020. Those may not work out quite as well as markets expect, and history says Year 2 returns often fail to follow on strongly after a big Year 1 rally. But it is comfortingly rare for markets to get it entirely wrong.


Personally, I like this kind of analysis because it’s “data-based” and historical.

From Nick Colas and Jessica Rabe’s blog, we could probably assume an 8% – 12% return on the SP 500 next year, given this analysis and the expected 10% SP 500 earnings growth.

Also for readers, that forecast assumes NO “PE Expansion” in 2020 if the SP 500 earnings growth forecast is accurate.

The official forecast from this blog will be out mid-December ’19, although I dont expect the SP 500’s forecast to vary much from what you see here today.

The bear case per Datatrek is worries over 1.) a stronger dollar and 2.) higher interest rates.

A weaker dollar would be a huge plus for the SP 500 in 2020. That’s is where the above forecast would be wrong for the SP 500, i.e. a weaker dollar would “net net” add incrementally to SP 500 revenue and EPS and this the current 8% – 12% forecast might be too low.

Thanks for reading.






Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.