Detecting Market Sentiment

From a 30,000 ft perspective, tactical asset allocation evolves around a simple binary decision: risk-on versus risk-off. To make this decision, we need a market sentiment indicator that is reliable enough to avoid costly whipsaws yet fast enough to track sudden changes. In this article, we provide some insights into TuringTrader's Market Vane indicator.

Market Vane provides high-quality guidance for risk-on vs. risk-off decisions


Let's start by defining an investment thesis:

  • During bull markets, we believe that investments in U.S. stocks will lead to the highest returns.
  • During bear markets, we believe that U.S. Treasuries will continue to have positive returns.
  • Switching between bull and bear markets happens infrequently, but when it does, switching may be time-sensitive.

Of course, this thesis is subject to personal preferences and opinions. In particular, readers might ask about our stance on ex-U.S. stocks, zero or negative bond yields, and a return to rising bond yields. However, we believe that this investment thesis will continue to be valid. Based on this thesis, we can set goals for our market sentiment indicator:

  • Provide a binary output to guide a choice between investing in the S&P 500 and U.S. Treasuries with 10-Years to maturity.
  • Make sure the indicator is filtered enough to make no more than five trading decisions per year. If possible, these trading decisions should occur on a regular monthly schedule.
  • Ensure the indicator reacts fast enough to cope with high-volatility events, including the beginning of the 2008 recession and the 2020 COVID pandemic. If these catastrophic events happen, the indicator will most likely trigger outside of the monthly schedule.

It is important to note that even if our indicator is designed to time a transition between investments in the S&P 500 and 10-Year U.S. Treasuries, this does not imply that we need to use it in conjunction with these assets. Instead, we believe our indicator works with any bull market strategy highly correlated to U.S. stocks. Similarly, Market Vane should work with any bear market strategy that offers less volatility than the S&P 500 and positive returns while the S&P 500 is declining.

Stock Market Momentum

Pretty much every investor has heard the saying The Trend is Your Friend. Consequently, it comes as no surprise that trend-following is the starting point for our market-sentiment indicator. There are many different ways to measure momentum, raising the question of which momentum to measure.

The classic approach to this problem is to settle on a measurement method and optimize the parameters until we achieve the desired result. The parameter optimization especially poses a significant risk of overfitting, which is why we wanted to reduce the amount of hard-coded parameters to the absolute minimum. One way to achieve this is by using walk-forward optimization, which we used successfully with our Round Robin portfolio.

For our Market Vane indicator, we are expanding on this concept. We start with calculating a slow and a fast-moving average, similar to the MACD indicator. The difference between the two moving averages, divided by the two's slower value, can be seen as a slope measure. Unfortunately, this measure depends on the time constants chosen for the moving averages. We can normalize this by dividing by the difference between the selected time constants.

TuringTrader's Market Vane, Stock-Market Momentum: Continuous tuning of filter parameters

In signal processing terms, the MACD is a band-pass filter. By tuning its parameters, we can filter out high and low-frequency components and focus on those frequencies that best represent future returns. But instead of optimizing and setting these parameters once and forever, we go a different route. First, we create a swarm of MACD instances, each with a different set of parameters. We continually run this swarm of about 140 parameter sets in parallel, an easy task for a modern PC. Next, we calculate the correlation between today's realized return and yesterday's MACD value for every instance in the swarm. This correlation gives us an indication of the predictive value of each MACD instance.

Finally, we select the instance with the highest correlation to forecast future stock market returns. As the chart above shows, the best filter settings continuously shift. Our optimization method for the highest correlation can quickly react to changing market conditions and select new filter parameters for us.

TuringTrader's Market Vane, Stock-Market Momentum: Cumulative Returns

To test this method ran backtests starting from January 1990 with encouraging results. As the chart above shows, our stock-market momentum indicator avoided the worst of the recessions of 2000 and 2008. Further, our momentum indicator reacted swiftly enough to prevent whipsaws during short-term events, notably the pullback in December 2018 and the pandemic in March 2020.

TuringTrader's Market Vane, Stock-market momentum: Rolling Returns

While the results are much better than those of many simplistic trend-following strategies, there is still more to be desired. The rolling returns reveal that we've been able to keep up with the bull markets in the 1990s. However, we struggled to keep up with the benchmark between 2009 and 2014. We can improve this by adding more components to our indicator.

Economic Momentum

While the relationship between the economy and the stock market is complicated and often emotional, the two must ultimately be linked. Therefore, we firmly believe that adding a macro-economic indicator to our arsenal improves the quality of our trading decisions. There are many economic indicators to choose from, but, unfortunately, most of them have a monthly publication schedule and a significant publication lag. We are looking for a metric with a weekly publication schedule to induce as little lag as possible.

TuringTrader's Market Vane, Economic Momentum: Trigger Levels

Following Sahm Rule Recession Indicator's idea, we decided to go with the Continued Unemployment Claims. Continued Claims were a little less noisy than Initial Claims in our testing, making them slightly better suited for our purposes.

TuringTrader's Market Vane, Economic Momentum: Cumulative Returns

Our mechanism for evaluating the unemployment rate uses a state machine with two states. We assume that in a growing economy, unemployment keeps falling. We keep tabs on the lowest recorded unemployment rate and detect a recession when the current unemployment exceeds a threshold based on that lowest level. Similarly, we assume that during a recession, unemployment keeps rising. We track the highest recorded unemployment rate and signal recovery when the current unemployment drops below a threshold based on that maximum level.

TuringTrader's Market Vane, Economic Momentum: Rolling Returns

The rolling returns reveal how well this mechanism detected the recessions in 2000 and 2008. However, macro-economic indicators move slowly. As a result, this mechanism cannot adequately react to fast events like the 2020 pandemic: the strategy exits too late and misses part of the recovery.

TuringTrader's Market Vane, Stock Preference: Price Comparison

Stock Market Preference

If we think about combining the stock market indicators and economic momentum, we are on to something. In 2016, Philosophical Economics published a strategy based on this, Growth Trend Timing. However, Growth Trend Timing makes one assumption that we disagree with: It has a built-in bias towards stock-market investments. Instead of this hard-wired bias, we would very much like to have a mechanism to determine this preference dynamically.

TuringTrader's Market Vane, Stock Preference: Cumulative Returns

We divide the stock market total return index by its bond market counterpart and apply some heavy filtering to determine this preference. Looking at the stock market through this lens gives us a new perspective. Most often, the quotient of prices tops before the S&P 500 reaches its peak, suggesting a much earlier rotation into bonds than many investors realize.

TuringTrader's Market Vane, Stock Preference: Rolling Returns

Because of these early transitions, the mechanism works surprisingly well - even though it is way too slow to react to quick market changes. The method handled the recessions of 2000 and 2008 very well. However, it cannot track fast events like summer 1998 or March 2020 appropriately because of its slow pace.

VIX Peaks

So far, we have developed three different methods to time the transition between stocks and bonds. A monthly schedule is more than enough for all three, and two of the three mechanisms, the economic momentum, and the stock market preference, actually move even slower than that.

It seems that in the past few years, the stock market has increased its pace. In December 2018 and March 2020, we have seen sharp drops followed by quick recoveries, and we should anticipate similar events more often in the future. Momentum-based approaches are not adequate to handle these events, and we need to find different avenues to address this need: adding daily indicators.

The VIX index is a measure for volatility, as implied through options pricing. As such, the VIX represents the outlook institutional traders have on the S&P 500 in the next 30 days. Typically, the VIX spikes before significant price movements, making it a good measure of market fear.

TuringTrader's Market Vane, VIX Peaks: Cumlative Returns

We are opposed to the idea of measuring the VIX in absolute levels. In the past 30 years, volatility has changed a lot, and we believe our mechanisms need to adapt to that. Our method of evaluating the VIX measures the current reading relative to its 3-months average. In doing so, we focus more on the VIX spiking than on its absolute value. As seen in the 2020 pandemic, if volatility remains elevated, this cancels the trigger once the average has caught up.

TuringTrader's Market Vane, VIX Peaks: Rolling Returns

As the charts show, the mechanism has worked quite well for the recessions of 2008 and 2020. For the recession in 2000, it did not do much, as at that time, prices declined at a slow pace. In September 2015 and February 2018, we experienced some false triggers. However, these did not harm the performance of the strategy too severely. Overall, we feel that this mechanism is an excellent addition to our set of indicators.

Sharp Declines

With the mechanisms in place so far, we have done quite a bit to protect our portfolio. For slow-moving recessions, our momentum indicators should trigger. For faster events, the VIX-mechanism should step in. However, it is conceivable that our method of determining VIX peaks fails, and we'd like to have a fail-safe.

TuringTrader's Market Vane, Sharp Declines

To create this fail-safe, we evaluate rolling drawdowns over the past month. Should our losses over this relatively short period exceed a threshold, we exit the stock market. This mechanism is similar to Charles LeBeau's Chandelier Stop.

TuringTrader's Market Vane, Sharp Declines

For any mechanism we introduce, our first premise should be similar to that of a doctor: Do no harm. As the charts show, the method is not stellar. However, it has proven useful during the 2008 and 2020 recessions, quite similar to the VIX Peaks mechanism. With that, we believe it to be a helpful addition.

Putting Everything Together

Wow, we have collected quite a few mechanisms here! How can we combine these in a meaningful way? We decided on the following scheme:

  • On the last day of every month, we perform a simple majority vote on the monthly indicators. If the two or more indicators signal bullish conditions, the result is bullish, otherwise bearish.
  • Unless any of the two daily indicators signal a high-risk situation, we plan to use this majority vote for the following month. Should a daily indicator signal bearish conditions, this overrides the majority vote for the next month.
  • Every day, we recheck the daily indicators. If any of these two indicators signal a bearish condition, this overrides the majority vote.

Most often, this scheme leads to trades on a monthly schedule. In the case of high-volatility events, we might exit our stocks in favor of bonds before month-end. However, transitions from bonds back into stocks always occur at the month-end.

TuringTrader's Market Vane: Cumulative Returns

What sticks out here is that we did not need to apply any additional magic here. We combined the five strategies using the scheme outlined above, and each method contributes to the overall outcome. For each of the five components, we can make a case why we want to include it, and we have been careful to avoid curve-fitting. In extending our backtest to span more than 30 years, we have further increased our confidence in the indicator.

TuringTrader's Market Vane: Rolling Returns

As a first test, we use this indicator to switch between two ETFs: SPY tracking the S&P 500 index and IEF to represent 10-Year U.S. Treasuries. As the charts show, Market Vane has done remarkably well. Outside of recessions, we mostly track the performance of the S&P 500. With every downturn, this simple strategy made additional gains over the S&P 500. The strategy handled slow-moving declines and sharp drops equally well, resulting in a smooth equity curve and low drawdowns throughout the whole simulation period.

With these properties, TuringTrader's Market Vane is a powerful tool to guide your investment decisions. At, we aim to make your investments a smoother ride. That's why we provide the indicator for free to all interested investors and with no signup required.