A Simulation Study on Simple Moving Average Rules

A Simulation Study on Simple Moving Average Rules

July 28, 2014 Key Research, Tactical Asset Allocation Research
Print Friendly
(Last Updated On: March 31, 2017)

The mention of technical analysis in the halls of academia can cause serious angst.

The disdain for technical analysis likely stems from a firm belief that markets can’t possibly be weak-form inefficient.

The other reason researchers find technical analysis hard to swallow is the skepticism related to data-mining and the meta-analysis studies, which suggest that a majority of technical trading rules are simply bunk. Fair enough.

And yet, cross-sectional momentum strategies, or strategies that sort securities on relative momentum at a given point in time, are widely published in top tier academic journals. Why momentum is considered a valid topic to discuss, while other well known technical trading rules such as simple trend-following rules are considered heresy, is a bit odd.

We decided it was time to torture the simple moving average trading rule and determine if it is simply a waste of time or something we should consider in our investment programs.

The setup for our study

The inspiration for this study stemmed from a curiosity we had after reading the following paper on Inter-Temporal Risk Parity:

Inter-temporal risk parity is a strategy which rebalances between a risky asset and cash in order to target a constant level of risk over time. When applied to equities and compared to a buy and hold strategy it is known to improve the Sharpe ratio and reduce drawdowns. We used Monte Carlo simulations based on a number of time series parametric models from the GARCH family in order to analyze the relative importance of a number of effects in explaining those benefits. We found that volatility clustering with constant returns and the fat tails are the two effects with the largest explanatory power. The results are even stronger if there is a negative relationship between return and volatility. On the other hand, if the Sharpe ratio remains constant over time, the only benefit would arise from an inter-temporal risk diversification effect which is small and has a negligible contribution. Using historical data, we also simulated what would have been the performance of the strategy when applied to equities, corporate bonds, government bonds and commodities. We found that the benefits of the strategy are more important for equities and high yield corporate bonds, which show the strongest volatility clustering and fat tails. For government bonds and investment grade bonds, which show little volatility clustering, the benefits of the strategy have been less important.

The results from the paper are promising, but we always re-backtest studies because the devil is in the details. In this situation, the paper also inspired a framework for testing the moving average rule in the context of simulations.

Strategy 1: Buy and hold of S&P500.

Strategy 2: When the 20-day moving average is above the 252-day moving average, risk-on; otherwise, risk-off.

We tested the strategies in four different simulation environments:

  1. A normal distribution
  2. GARCH
  3. GARCH with T-student noise
  4. Historical data bootstrapping

Data in simulation: 01-01-1990 to 12-31-2013, daily value-weight market total return and 3-month US Dollar LIBOR from Bloomberg.

Data in bootstrapping: 01-01-1929 to 12-31-2013, daily value-weight market excess return from French website; t-bill from French website.

How does the simulation work?

We use stochastic models to simulate the daily excess return of S&P500. These models make various assumptions about the nature of daily stock returns (we will explain the details below for each model). The following paper has more background on each model.

The empirically observed annualized volatility of the S&P500 daily return during that period of time is 18.5%; the annualized returns of S&P500 in excess of risk-free in that same period is 7.5%.

For modeling purposes, we simulate the S&P500 excess return from a Normal Distribution N (7.5%, 18.5%), which is our base simulation model.

The GARCH model and the GARCH T-student noise model are introduced as well. These models are meant to capture the empirical observation that monthly stock returns aren’t normally distributed.

GARCH attempts to capture volatility clustering and GARCH T captures GARCH effects plus a fat tail effect. These 2 effects better reflect empirical observations on monthly stock returns.

We simulated 500 Monte-Carlo scenarios in each of the models.

After the simulation, we also look at an “empirical bootstrap” model, which draws data from the actual distribution of  historical stock returns. We randomly select 1200 days of consecutive daily data for each simulation run (500 simulations).

Normal Distribution

In a normally distributed world, moving average rules are roughly equal to buy and hold–no obvious edge.

The chart below highlights something the summary statistics do not truly capture: MA kills the upside!

2014-07-11 16_16_01-Microsoft Excel - MA_simulation_v2 ex1.xlsm
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.
2014-07-07 16_40_15-Microsoft Excel - MA_simulation_v2
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

2014-07-07 16_38_45-Microsoft Excel - MA_simulation_v2.xlsmGARCH

In a world with clustered volatility, moving average rules still underwhelm the tactical investor.

2014-07-11 16_17_41-Microsoft Excel - MA_simulation_v2 ex3.xlsm
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

The chart below highlights a similar finding from above: MA kills the upside.

The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

GARCH with student T distribution

What about fat-tails? Even with fat tails, moving averages rules don’t add value, at the margin.

2014-07-11 16_18_51-Microsoft Excel - MA_simulation_v2 ex5.xlsm
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

Nothing striking from the histogram.

2014-07-07 18_19_42-Microsoft Excel - MA_simulation_v2 ex3.xlsm
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

Live Data Bootstrapping

The 3 simulations above involve a computer generating “fake” stock returns that have characteristics we think reflect reality (normal distribution, fat tails, clustered, vol, etc).

Of course, another simulation approach involves simulating from the actual distribution of stock prices.

Using the actual distribution of returns we find that moving average rules significantly better than buy and hold.

2014-07-11 16_19_50-Microsoft Excel - MA_simulation_v2 boost.xlsm
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

Sharpe Ratios:

2014-07-08 11_14_32-Microsoft Excel - MA_simulation_v2 ex5 sp.xlsm
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

Drawdowns:

2014-07-08 11_13_58-Microsoft Excel - MA_simulation_v2 ex5 dd.xlsm
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

Sortino ratios:

The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

CAGR ratios:

2014-07-08 11_15_11-Microsoft Excel - MA_simulation_v2 ex5 cagr.xlsm
The results are hypothetical results and are NOT an indicator of future results and do NOT represent returns that any investor actually attained. Indexes are unmanaged, do not reflect management or trading fees, and one cannot invest directly in an index. Additional information regarding the construction of these results is available upon request.

Why are Bootstrap results so different from modeled results?

One argument is data-mining. This is always a viable alternative hypothesis.

Another argument is that simulating stock prices from a model based on certain parameters can never truly capture the distribution of actual stock returns.

The results from bootstrapping seem to suggest that moving average trading rules represent a promising technical trading rule in the “real world,” despite the fact there are legions of researchers suggesting technical analysis is bunk.


Note: This site provides no information on our value investing ETFs or our momentum investing ETFs. Please refer to this site.


Join thousands of other readers and subscribe to our blog.


Please remember that past performance is not an indicator of future results. Please read our full disclaimer. The views and opinions expressed herein are those of the author and do not necessarily reflect the views of Alpha Architect, its affiliates or its employees. This material has been provided to you solely for information and educational purposes and does not constitute an offer or solicitation of an offer or any advice or recommendation to purchase any securities or other financial instruments and may not be construed as such. The factual information set forth herein has been obtained or derived from sources believed by the author and Alpha Architect to be reliable but it is not necessarily all-inclusive and is not guaranteed as to its accuracy and is not to be regarded as a representation or warranty, express or implied, as to the information’s accuracy or completeness, nor should the attached information serve as the basis of any investment decision. No part of this material may be reproduced in any form, or referred to in any other publication, without express written permission from Alpha Architect.


Definitions of common statistics used in our analysis are available here (towards the bottom)




About the Author

Yang Xu

Mr. Xu is currently a managing member of Alpha Architect, where he leads the capital markets group and assists in quantitative research. Mr. Xu has unique skills related to "big data" analysis. His recent research investigates various proprietary trading algorithms, tactical asset allocation models, and longer-term security selection models. Prior to joining Alpha Architect, Mr. Xu was a Principal Data Analyst at Capital One, where he was a member of the Basel II data analysis team. Mr. Xu graduated from Drexel University with a M.S. in Finance, and from the University of International Business and Economics in Beijing, China, where he earned a BA in Economics.


  • Nice work.
    Why 252 day MA versus say 200 or 250?

  • Charles E.

    Can you explain “empirical bootstrap” … We randomly select 1200 days of consecutive daily data for each simulation run (500 simulations)”?

    Does this mean random consecutive periods of about 5 years between 1929 and 2013? If so, you only have about 17 independent samples. All the CAGR outliers for BAH on both sides in the last chart could be variations of the same period.

  • Jack Vogel, PhD

    Thanks Karl. Normally there 252 trading days in a year. That being said, results using 250 would be similar.

  • Jack Vogel, PhD

    Charles, this means that we take random 5 year periods between 1929 and 2013 … the samples themselves do not need to be consecutive or non-overlapping (however, when we pick a “sample” we use 5 years of consecutive data). For each 5-year period, we examine the returns using both MA and BAH to compute statistics such as CAGR and DrawDowns. We then average the statistics of the 500 samples. If we used “consecutive” periods, you are right and there would only be 17 independent (non-overlapping) samples. So there may be some overlap with the simulations. However, the point of the simulations is to see what happens when we draw returns from “live” data as opposed to “computer generated” data (using different distributions). What we find is that MA rules appear to work with the live data. I hope that helps!

  • EricTheRon

    A better and simpler explanation of the divergent results is that GARCH does not correctly model the real world. Most likely it does not model properly the investor psychology during big downturns–however irrational they may be–when most investors are increasingly underwater. Then it becomes not WHETHER you will buy-and-hold, but at what level of loss you will sell (25%? 50%? 75%?). This likely moves reality away from any rationally produced model because it isn’t rational. And long-term moving averages keep you out of this area.

  • agree. We also believe the investor psychology during market blow outs creates an opportunity for LT moving average type systems.
    Thanks for keeping it as simple as possible, but no simpler.