State Signals for Analyzing Bar-By-Bar Metrics

System Trading

Dec 31

Dr. Howard Bandy encourages using “state signals” versus “impulse signals” when developing and analyzing systems. My understanding of a state signal is that it is a continuous signal for every bar that defines the state of the trading system, example “be long”, or “be short”, or “be flat”. Traditional indicators are defined as “impulse signals” which define the state transitions or edges. An example would be a cross over which defines to “go long or short” when the condition is true. A state or impulse based system will produce the same exact results when defined properly: however, the state based system offers the capability to analyze more data. Importantly, it may be possible to analyze market characteristics at a finer granularity which could be useful when developing consensus systems or the possibility to fine tune edges. As an example, if a market has a higher percentage of down days when below a moving average then it might be possible to use that information when combined with other types of signals even though it might not actually be profitable to short on the cross overs. In other words, we’re able to investigate the intra-trade qualities or the market qualities for a given state and not just the path-based return.

Developing from these ideas, I have recently started to explore analyzing the sub-metrics or bar metrics for various market states. The motivation for this approach is to derive greater insight into market dynamics.

In more concrete terms, imagine we want to analyze a traditional moving average cross system. We would convert the moving average cross impulse based signals into market states which we could then use for computing our various metrics over. Let’s look at an example system:

Impulse Rules:
Buy market when close cross over average; Sell when cross under average

State Rules:
Long or Bullish State = Close > Average, Neutral or Bearish State = Close <= Average

Example Metrics:
Up vs Down Days, Big Up vs Big Down Days, % New highs, % New Lows

There are two approaches for deriving some of these metrics. The first approach is to convert the the impulse system into a state system that generates new trades for every single day (or bar). We can then use the traditional trading reports that our platform generates for analyzing some of the bar by bar metrics. The second approach is to classify the market based on the state and generate metrics by counting or performing selections or searches. Examples of such questions might be, how often do we make a 5 day low when below a moving average versus above a moving average, what is the percentage of up/down days, how many large days/moves do we make above or below a given moving average, etc.

You can read Dr. Bandy’s explanation at the link below:

About the Author

The author is passionate about markets. He has developed top ranked futures strategies. His core focus is (1) applying machine learning and developing systematic strategies, and (2) solving the toughest problems of discretionary trading by applying quantitative tools, machine learning, and performance discipline. You can contact the author at