The MAC-US Timer – a Moving Average Crossover System of the S&P 500

  • Switching between stocks and bonds as signaled by a simple moving average crossover system of the S&P 500 – the MAC-US Timer – produces significantly higher returns than buy-and-hold stocks.
  • The model has been updated from Aug-1965 to Jan-2017, conservatively assuming that funds are placed in the money market when not in the stock market.

The MAC-US Timer works as follows, with a buy signal and a sell signal triggering shifts from investment in the stock market to the money market, and vice versa.

Buy signal for the S&P 500

  • A buy signal occurs when the 34-day exponential moving average (EMA) of the S&P 500 becomes greater than 1.001 times the 200-day EMA of the S&P 500.

Sell signal for the S&P 500

  • A sell signal occurs when the 40-day simple moving average (SMA) of the S&P 500 crosses below the 200-day SMA of the S&P 500.

When a buy signal occurs, the whole investment goes into an S&P 500 index fund, and when a sell signal occurs all the funds are moved from the S&P 500 index fund to cash in the money market. Different moving average crossovers were chosen for the buy and sell signals in an attempt to prevent investment whipsaw situations.

Performance

The S&P 500 index fund is represented by a hypothetical fund SPY* based on the daily performance of the S&P 500 with dividends reinvested. SPY* was calculated by splicing the data from the SPDR S&P 500 ETF (SPY) from 1993 to 2016, the Vanguard 500 Index Fund (VFINX) from 1980 to 1993, and before that daily data of the S&P 500 adjusted for dividends with monthly dividends taken from the Shiller CAPE data.

The money market was simulated with a hypothetical fund SHV* using the daily Federal Funds Rate from 1965 to 2007 and thereafter by splicing the iShares Short Treasury Bond ETF (SHV) to it.

All trading is assumed to occur on the first trading day of the week after or when a signal from the MAC-US Timer was generated. A backtest of this model starting in 1965 provided the first buy signal for stocks on Aug-30-1965.

Over the period Aug-30-1965 to Jan-30-2017 the model, switching between SPY* and SHV*, showed an annualized return of 11.23% with a maximum drawdown of -19% in 1998.  Buy-and-hold SPY* gave an annualized return of 8.92% with a maximum drawdown of -55% in 2009 (Figure-1).

Over the period 1/3/2000 to Jan-30-2017 the model showed an annualized return of 7.73% with a maximum drawdown of -17% in 2011.  Buy-and-hold SPY* gave an annualized return of 4.58% with a maximum drawdown of -55% in 2009 (Figure-2).

There were 26 periods from 1965 to 2017 when the MAC Timer signaled to be in SPY* and 25 periods in SHV*. They are listed in the Appendix and are also shown by the vertical bars in Figure-3. Note that the MAC Timer signaled to be out of the stock market during the 1987 market collapse and the bear markets of 2001-03 and 2008-09.

width="640"/(click to enlarge)

width="640"/(click to enlarge)

width="640"/(click to enlarge)

width="640"/(click to enlarge)

Conclusion

The intention was to show the most conservative performance from this model by switching from stocks to cash, which over the period 1965 to 2017 provided 2.95 times the total return of what a constant investment in the S&P 500 with dividends reinvested would have produced.

Higher returns could have been achieved by using a longer term bond fund instead of a money market fund. For example, switching to the Vanguard GNMA fund VFIIX when not in stocks the model would have shown an annualized return of 12.01% from Aug-30-1965 to Jan-30-2017, and 9.50% over the period 1/3/2000 to Jan-30-2017. The bond fund return was calculated from the daily data of VFIIX (available from Jun-27-1980), and before that from the Federal Funds Rate.

The model is simple to construct, but can also be followed live at iMarketSignals.com. Heeding the weekly signals from the MAC-US Timer should provide insurance against major stock market declines and improve investment performance over longer time.

Appendix

  signal
date
  signal
date
  1st trading
day of week
signal
date
  1st trading
day of week
signal
date
in stocks 08/30/1965 04/14/1966   08/30/1965 04/18/1966
in cash 04/14/1966 01/24/1967   04/18/1966 01/30/1967
in stocks 01/24/1967 02/21/1968   01/30/1967 02/26/1968
in cash 02/21/1968 04/18/1968   02/26/1968 04/22/1968
in stocks 04/18/1968 03/10/1969   04/22/1968 03/10/1969
in cash 03/10/1969 04/25/1969   03/10/1969 04/28/1969
in stocks 04/25/1969 06/25/1969   04/28/1969 06/30/1969
in cash 06/25/1969 10/15/1970   06/30/1969 10/19/1970
in stocks 10/15/1970 09/20/1971   10/19/1970 09/20/1971
in cash 09/20/1971 12/21/1971   09/20/1971 12/27/1971
in stocks 12/21/1971 04/11/1973   12/27/1971 04/16/1973
in cash 04/11/1973 10/18/1973   04/16/1973 10/22/1973
in stocks 10/18/1973 11/21/1973   10/22/1973 11/26/1973
in cash 11/21/1973 02/28/1975   11/26/1973 03/03/1975
in stocks 02/28/1975 11/17/1976   03/03/1975 11/22/1976
in cash 11/17/1976 05/08/1978   11/22/1976 05/08/1978
in stocks 05/08/1978 12/04/1978   05/08/1978 12/04/1978
in cash 12/04/1978 01/19/1979   12/04/1978 01/22/1979
in stocks 01/19/1979 04/11/1980   01/22/1979 04/14/1980
in cash 04/11/1980 05/27/1980   04/14/1980 05/27/1980
in stocks 05/27/1980 06/25/1981   05/27/1980 06/29/1981
in cash 06/25/1981 09/14/1982   06/29/1981 09/20/1982
in stocks 09/14/1982 01/31/1984   09/20/1982 02/06/1984
in cash 01/31/1984 08/17/1984   02/06/1984 08/20/1984
in stocks 08/17/1984 11/05/1986   08/20/1984 11/10/1986
in cash 11/05/1986 06/24/1988   11/10/1986 06/27/1988
in stocks 06/24/1988 02/20/1990   06/27/1988 02/20/1990
in cash 02/20/1990 02/01/1991   02/20/1990 02/04/1991
in stocks 02/01/1991 04/15/1994   02/04/1991 04/18/1994
in cash 04/15/1994 08/17/1994   04/18/1994 08/22/1994
in stocks 08/17/1994 12/28/1994   08/22/1994 01/03/1995
in cash 12/28/1994 01/17/1995   01/03/1995 01/23/1995
in stocks 01/17/1995 09/18/1998   01/23/1995 09/21/1998
in cash 09/18/1998 11/02/1998   09/21/1998 11/02/1998
in stocks 11/02/1998 10/23/2000   11/02/1998 10/23/2000
in cash 10/23/2000 05/22/2003   10/23/2000 05/27/2003
in stocks 05/22/2003 08/12/2004   05/27/2003 08/16/2004
in cash 08/12/2004 08/25/2004   08/16/2004 08/30/2004
in stocks 08/25/2004 07/10/2006   08/30/2004 07/10/2006
in cash 07/10/2006 08/02/2006   07/10/2006 08/07/2006
in stocks 08/02/2006 12/13/2007   08/07/2006 12/17/2007
in cash 12/13/2007 08/03/2009   12/17/2007 08/03/2009
in stocks 08/03/2009 06/25/2010   08/03/2009 06/28/2010
in cash 06/25/2010 08/05/2010   06/28/2010 08/09/2010
in stocks 08/05/2010 08/12/2011   08/09/2010 08/15/2011
in cash 08/12/2011 01/03/2012   08/15/2011 01/03/2012
in stocks 01/03/2012 08/26/2015   01/03/2012 08/31/2015
in cash 08/26/2015 11/05/2015   08/31/2015 11/09/2015
in stocks 11/05/2015 01/06/2016   11/09/2015 01/11/2016
in cash 01/06/2016 04/04/2016   01/11/2016 04/04/2016
in stocks 04/04/2016     04/04/2016  

Previous Articles on the MAC-US Timer

2014-06-05   Backtesting the MAC-System: How Long is Long Enough?

2012-09-10   The Improved MAC-System

2012-07-31   Beyond the Ultimate Death Cross

 

 

Posted in blogs, featured, Publish
21 comments on “The MAC-US Timer – a Moving Average Crossover System of the S&P 500
  1. markgo03 says:

    Georg,
    Do you have returns if short the market instead of cash?
    Thank You,
    Mark

  2. Langford says:

    I have what I think is a common problem. I need a “quarterly” timing system for my 401k. All the funds have minimum 90 day holding periods (even the Vanguard Index funds), which make it very difficult to deal with the whipsaws of weekly or monthly timing systems (MAC-US etc.) The penalties for violating the holding periods are very high (2% of your entire account).

    Do you guys have a system that meets a quarterly time-frame? Or is there a system out there somewhere (that beats buy and hold)?

    • geovrba says:

      What funds are available in your 401k?
      Or between which funds would you like to alternate?

      • Langford says:

        I’d like a simple quarterly buy/sell for the Vanguard S&P 500 index fund, which (in my 401k) has a 90 day hold period (after purchase date). So… if there’s a “sell/buy/sell” whipsaw signal – within 90 days, I get socked with a $10,000 fee (2% penalty) if I sell, which of course I would not do – in order to avoid the fee. After the 90 day holding period, I can sell the fund with no penalty.

        Simple weekly or monthly buy/sell systems don’t work well in this scenario. I’ve thought about switching from the S&P 500 to Vanguard Midcap index (or Small Cap index) after the first “sell/buy” but if that is followed by another “sell” – the Midcap fund also has a 90 day holding period… so I’d be forced to “hold” in order to avoid the huge fee.

        I could probably just use the Mac-US as a quarterly system (on my own), but I have not “back-tested” that. I wanted to get some feedback on what system might work best… from you.

        Is a quarterly system just too wide a time-frame to be of any practical use (over buy-and-hold)?

        I’m sure there are a lot of people with 401k’s that have long minimum holding periods for their funds (with huge penalties) who might like a one-size-fits-all simple buy/sell quarterly system.

        Thanks

        • geovrba says:

          Can you do the equivalent of 50%(VTI-BND) + 50%(MDY-BSV) in your 401k?

          • Langford says:

            The only bond funds are:

            1) PIMCO Total Return
            2) Vanguard Inflation Prot
            3) Templeton Global Bond

            They all also have 90 day holding periods after initial purchase.

          • Langford says:

            Before you spend any more time crunching, I just made some phone calls and figured out I had the wrong info on holding periods.

            Vanguard Index funds are an exception… with a short 30 day holding period. Then you have to stay out for 30 days before you can buy back in. Our 401k changes its investment options so frequently that I got mixed up with the previous Dryfus Index fund rules.

            The 401k managers limit trading also… but I think I can skirt those rules by trading into Midcap Index after 60 days instead of going back to SP500 (if there’s a BUY/SELL/BUY whipsaw).

            401k’s require a decent amount on configuring so I may still go with a quarterly system to avoid all the rules and regs. I back-timed an “absolute momentum” quarterly timing system at Portfolio Visualizer and got very positive results over several time periods.

            Thanks for spurring me to do more research.

  3. geovrba says:

    Langford,
    You can use the signals from the Composite Market Timer.
    https://imarketsignals.com/2016/composite-market-timing-increases-returns-and-reduces-drawdown/

    A simulation switching between ETFs MDY and IEF, and holding a position for a minimum period of 41 days, shows a 19.15% annualized return from Jan-2000 to Mar-2017, with a max D/D of -16.2%.

    This means that the earliest a position can be sold is six weeks after it was bought, or the same ETF can only be re-bought at the earliest after 12 weeks.

    So all you have to do is to check the iM-Composite Market Timer 41 days after you initiate a new position, and then every week thereafter until the signal changes. We email the signals on Sundays for trading on the first trading day of the week.

    Here is the backtest info for an initial investment of $100,000:

    General Info
    Total Market Value (inc. Cash) $ 2,034,903.91
    Cash $ 194.27
    Number of Positions 1
    Last Trades (1) 02/06/17
    Period 01/02/00 – 03/15/17
    Last Rebalance 03/13/17
    Rebalance Frequency Weekly
    Benchmark SPDR S&P 500 ETF Trust
    Universe All ETFs
    Ranking System Ranking for Composite Market Timer MDY-IEF

    Quick Stats as of 3/15/2017
    Total Return 1,934.90%
    Benchmark Return 121.68%
    Active Return 1,813.23%
    Annualized Return 19.15%
    Annual Turnover 291.18%
    Max Drawdown -16.18%
    Benchmark Max Drawdown -55.19%
    Overall Winners (38/51) 74.51%
    Sharpe Ratio 1.46
    Correlation with SPDR S&P 500 ETF Trust 0.30

    • geovrba says:

      Here is the list of trades:

      Symbol … Open … Close … Days … Pct
      IEF … 9/6/2016 … 11/7/2016 … 62 … -1.80%
      MDY … 6/27/2016 … 9/6/2016 … 71 … 11.60%
      IEF … 12/28/2015 … 6/27/2016 … 182 … 6.70%
      MDY … 11/16/2015 … 12/28/2015 … 42 … -0.90%
      IEF … 10/5/2015 … 11/16/2015 … 42 … -1.60%
      MDY … 8/24/2015 … 10/5/2015 … 42 … 3.50%
      IEF … 6/15/2015 … 8/24/2015 … 70 … 2.90%
      MDY … 5/4/2015 … 6/15/2015 … 42 … 0.40%
      IEF … 12/22/2014 … 5/4/2015 … 133 … 0.30%
      MDY … 5/13/2013 … 12/22/2014 … 588 … 22.10%
      IEF … 4/1/2013 … 5/13/2013 … 42 … -0.30%
      MDY … 8/27/2012 … 4/1/2013 … 217 … 17.50%
      IEF … 7/2/2012 … 8/27/2012 … 56 … -0.10%
      MDY … 1/30/2012 … 7/2/2012 … 154 … 1.20%
      IEF … 9/19/2011 … 1/30/2012 … 133 … 1.20%
      MDY … 8/8/2011 … 9/19/2011 … 42 … 10.10%
      IEF … 5/16/2011 … 8/8/2011 … 84 … 6.10%
      MDY … 10/11/2010 … 5/16/2011 … 217 … 21.10%
      IEF … 8/30/2010 … 10/11/2010 … 42 … 1.30%
      MDY … 6/28/2010 … 8/30/2010 … 63 … -2.70%
      IEF … 5/17/2010 … 6/28/2010 … 42 … 3.70%
      MDY … 1/25/2010 … 5/17/2010 … 112 … 9.30%
      IEF … 11/16/2009 … 1/25/2010 … 70 … -1.50%
      MDY … 10/5/2009 … 11/16/2009 … 42 … 4.90%
      IEF … 6/1/2009 … 10/5/2009 … 126 … 3.40%
      MDY … 3/23/2009 … 6/1/2009 … 70 … 19.90%
      IEF … 7/2/2007 … 3/23/2009 … 630 … 18.60%
      MDY … 3/19/2007 … 7/2/2007 … 105 … 9.00%
      IEF … 2/5/2007 … 3/19/2007 … 42 … 1.90%
      MDY … 10/2/2006 … 2/5/2007 … 126 … 12.60%
      IEF … 5/22/2006 … 10/2/2006 … 133 … 2.80%
      MDY … 1/3/2006 … 5/22/2006 … 139 … 1.20%
      IEF … 10/24/2005 … 1/3/2006 … 71 … 0.30%
      MDY … 9/6/2005 … 10/24/2005 … 48 … -3.00%
      IEF … 7/25/2005 … 9/6/2005 … 43 … 0.90%
      MDY … 4/18/2005 … 7/25/2005 … 98 … 13.10%
      IEF … 9/20/2004 … 4/18/2005 … 210 … -1.60%
      MDY … 8/9/2004 … 9/20/2004 … 42 … 6.50%
      IEF … 6/28/2004 … 8/9/2004 … 42 … 3.30%
      MDY … 5/17/2004 … 6/28/2004 … 42 … 6.60%
      IEF … 4/5/2004 … 5/17/2004 … 42 … -3.10%
      MDY … 9/29/2003 … 4/5/2004 … 189 … 19.80%
      IEF … 6/16/2003 … 9/29/2003 … 105 … -4.80%
      MDY … 3/31/2003 … 6/16/2003 … 77 … 20.80%
      IEF … 10/28/2002 … 3/31/2003 … 154 … 1.80%
      MDY … 9/3/2002 … 10/28/2002 … 55 … -2.00%
      IEF … 11/13/2000 … 9/3/2002 … 659 … 24.00%
      MDY … 10/2/2000 … 11/13/2000 … 42 … -7.60%
      IEF … 6/19/2000 … 10/2/2000 … 105 … 2.80%
      MDY … 1/3/2000 … 6/19/2000 … 168 … 15.20%

  4. nickkraut says:

    Hello – thank you for all of this great information,

    I am a long time “buy-and-holder” wanting to implement the MAC-US timer. Where do you gather the data for this timer, such as the EMA, etc.

    Thank you – I look forward to hearing from you.

    Nick

  5. cisco says:

    Does this entry and exit system also work for other markets?

    Thanks

    • geovrba says:

      We have a MAC Australia at iM.
      There is a lot of correlation between other markets and the US stock market.
      We did an analysis using our (SPY-SH) model which you can find here:
      Better Returns from World Markets with iM-Best(SPY-SH) Market Timing System
      https://web.archive.org/web/20160627174822/http://www.advisorperspectives.com/dshort/guest/Georg-Vrba-131004-World-Markets-Timing-System.php

      Note, web.archive takes a bit of time to upload.

      Using the investment periods determined for the US market with the iM-Best(SPY-SH) Market Timing System, we calculated performance figures for 9 major country indices. The system, if followed, would have improved returns from all markets. From January 2000 to August 2013 with market timing, the best performing index in local currency was IBOVESPA – Brazil, and in US-dollars the DAX – Germany, closely followed by Brazil.

  6. hefer says:

    I’m very impressed that you came up with a moving average model with such a good backtest. However, I’d like to suggest an improvement. It appears that there were false signals in 2011 and 2015. In order to separate the noise from the signal, I think this model will be better if we added another condition stating that the MAC sell signal is only valid after yield curve inversion during each cycle. Just an idea.

    • bfigdore says:

      Good thought, but I believe if the YC filter was added, 1987 would not have been “caught” and Dec 2018 would not have been “partially caught”… so tradeoffs on both sides of the coin.

  7. teammaui says:

    Hey Guys,
    Which is correct?
    has a sell signal occurred signal date 11-25-18 for switching to cash on 1st trading day of week (Nov 26) as per the Nov 25 website shows MAC-US Timer-cash or

    is the sell signal to be generated next week thus calling for switching to cash on 1st trading day of week (Dec 3) per the weekly macro signals Nov 23 and your corresponding chart and other data as of market close 11-23-18 show that a sell signal has not been generated because the 40-day simple moving average (SMA) of the S&P 500 has not crossed below the 200-day SMA of the S&P 500.

    Per Market Signals Summary “The MAC-US model is invested, but will signal a sell early next week….and simulations show it will fall below zero early next week, thus signaling a sell.”

    Does that mean we would use Nov 26 or Dec 3 as the switching to cash date?

    Thank you for clarifying

  8. teammaui says:

    so following the rules of the model:

    if 40 sma crosses below 200 sma on Monday’s close, then the model performance record will show moving to cash as a date of 11-26 (i.e. 1st trading day of week signal date)

    if crossover occurs on Tues or later then following model rules dictates “All trading is assumed to occur on the first trading day of the week after or when a signal from the MAC-US Timer was generated” thus the model performance record will show moving to cash as Dec 3.

    Is that correct?

    Thank you for your prompt response

Leave a Reply

With reference to Section 202(a)(11)(D) of the Investment Advisers Act: We are Engineers and not Investment Advisers, read more ...
By the mere act of reading this page and navigating this site you acknowledge, agree to, and abide by the Terms of Use / Disclaimer