Introduction of TradeStates, a proxy for TradeStops

TradeStates is my personally programmed proxy of a commercially available system called TradeStops to analyse the prices of financial instruments with the purpose to generate trading signals and set investment sizes for personal use. The TradeState of an instrument is the once-a-day outcome (basically buy/hold/sell and how much) of a set of mathematical operations operating on the end-of-day price history. It would take an extensive document to describe it in full, but this introduction should suffice for those interested in my stories where the TradeStates methodology is applied to symbols like SPY and BTC.

The ongoing prices of trading instruments, e.g. stocks, exchange traded funds, mutual funds. cryptocurrencies and others can readily be obtained from a series of internet sites. These prices can then be subjected to quantitative analysis. I have been doing this intensively for a couple of years, using many different analysis methods. Some of these methods I developed on my own, others were inspired or copied from what others have been doing as described in freely accessible publications, blogs or websites.

One method that survived all these years, to which I constantly returned to and made continuous modifications on, is my implementation of a full investment method as described by Richard Smith and offered as a commercial service by his company TradeStops.


TradeStops is essentially a trend-following algorithm, based upon the dynamic estimate of the amount of daily, seemingly random, price swings in trading instruments, called the volatility coefficient or VC. Using this VC, together with the most recent high price that the instrument reached, a dynamic trailing stop is computed, setting a time-varying price threshold to get out of the instrument when the price falls below it. Using this methodology, TradeStops is therefore able to ‘protect’ a trader from big losses where ‘big’ is defined upfront, but also, as long as the price does not reach the stop level, to keep the trader in the trade and prevent to take profits prematurely. Simply said: TradeStops ‘stops losers and keeps winners’. TradeStops started with fixed and then dynamic trailing stops (hence the name), but Richard has constantly added impressive new features, which I have witnessed by accurately reading his constant stream of blog posts. One of the features is inverse volatility position sizing in portfolio building, where each position gets allocated an investment size proportional to the reciproke (1/VC) of the volatility coefficient.

Another addition was the smart moving average, which was used in combination with a trailing start, to signal when a new trade should be started or where a closed positions should be re-opened. TradeStops thus provides a fully featured trading assistant: it notifies when to start a new position, how much to invest in this position and when to exit this position.

The interface is intuitive to use and can be used as a one-stop solution to assist any investor with a purely quantitative (technical analysis) engine to manage his or her portfolio. TradeStops also assists with the regular rebalancing of the positions in the portfolio based upon the volatility coefficient of each position.

The latest major addition to the TradeStops application is the possibility to start with a limited watchlist of stocks or ETFs, on which TradeStops can then apply its analysis fully automatically.

In my opinion TradeStops is a complete and solid tool for financial investments and I have no hesitations to recommend it to private investors wanting to add easy, quantitative, non-emotional assistance to their investment decisions. For details please visit the TradeStops website.


The mathematical methods that TradeStops uses are transparent because they are extensively described, with a few exceptions. This transparency is not only directly provided in the TradeStops blogs, but also in many books and publications on investing methodology in general. For me all public resources allowed me to build my own implementation of the TradeStops methodology, with deliberate differences. I want to thank Richard Smith for providing me with sufficient detail for enabling me to do so. The clarity in TradeStops’ data handling methodology sets a positive example amongst other quantitative trading programs and systems that I know of. Most of these are generally vague in disclosing what they exactly do and in my opinion should be avoided for this reason alone.

I called my home-brewed implementation TradeStates, and I use it strictly for personal use. Over the last years, I ran thousands of symbols and hundreds of portfolios through it. Also, I have varied and optimised all parameters using advanced result vs. risk backtesting. I decided to publish some charts that it produces on some well-known and widely-traded instruments annotated with my comments and interpretations. Please note that the TradeStops system has NOT been used to produce any of the results, tables or charts in this blog.

See for examples and illustrations: TradeStates applied to SPY and TradeStates applied to bitcoin.

Disclaimer: This article was written for informational purposes only, and is not intended as personal investment advice. Practice due diligence before investing in any investment vehicle mentioned in this article. I wrote this article myself, and it expresses my own opinions. I am not receiving compensation for it.

Like what you read? Give Peter Vijn a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.