Trading System Development

This is the first in a series of postings describing techniques for developing reliable trading systems.

The Goal

There is a goal common to all traders:

To have confidence that the signals generated by the trading system precede trades that provide rewards adequate to compensate for the risk.

  • The key word is confidence.
  • The primary limitation is risk.

The Process

The process we will use closely follows the scientific method.

The scientific method consists of techniques for investigating phenomena, acquiring new knowledge, or correcting and integrating previous knowledge. It is based on measurable evidence validated by independent testing, as this flowchart, courtesy of a Wikipedia article illustrates. 

 

 

This flowchart shows the scientific method as a flowchart in a form similar to the computer programs we write.

In developing trading systems, we analyze historical price data (and possibly data from other activities).  Then create models to process that data -- make transformations and compute indicators, postulate rules, adjust parameters, generate signals, and record the resulting trades.  The process continues in cycles of adjusting, fitting, and testing the model using the in-sample training data until we are satisfied with the resulting trades.  A separate set of out-of-sample data is tested to validate that the model has learned to recognize genuine signals, and is not merely fit to the noise.

Thinking ahead, if we are successful in developing a system that has low risk and high profit potential, we plan to actually trade it.  For this, we need a separate and distinct model -- one that monitors trades, evaluates risk, adjusts position size, and estimates profit.  It tells us whether the system is working or is broken.  

Managing the trading of the system also follows the scientific method.   The data used by this model is the set of recent trades.  The output of the model is a set of two metrics. 

  •           safe-f is the maximum safe position size for the next trade. 
  •           CAR25 is the estimate of profit.

As trades are accurate and profitable, safe-f remains high and it is safe to use a large portion of the trading account.  As trades are less profitable, safe-f declines.  This indicates that the system has become riskier and position size should be reduced.

CAR25 can be used to compare alternative uses of funds.  When several systems have been developed and are being tracked, the one with the highest CAR25 is the one that should be actively traded.

The trading system that generates signals and the management system that indicates the health of the system are two distinct systems.  This flowchart combines the two shown above and shows their relationship.  

The common element between the two systems is the best estimate set of trades.  The validation phase of the development process produces a set of trades that are the best estimate of future performance of the system.  These result from applying the model (that has been fit during the iterative process of model adjustment and backtesting) to the never-used-before out-of-sample validation data.  A commonly used and excellent validation technique is the walk forward process.  We will discuss validation, including walk forward, in a future post.  The trades that are produced in each of the walk forward steps are gathered together into the best estimate set of trades.  safe-f and CAR25 are computed using these trades and are used to decide whether the system should be moved from development to trading.

When the activity moves from development to trading, the trading system model is frozen, and no further changes are made to it.  The input data for the trading system changes from historical data to real-time data, signals are identified, and trades generated.  Conservative traders will wait for the system to generate several trades before beginning to trade with real money.  These trades are called shadow trades.  They are added to the best estimate set and used to monitor system performance.  Throughout the life of a trading system, all of its trades -- whether taken with real money or as shadow trades -- are added to the best estimate set of trades and are used to compute safe-f and CAR25.  As the flowchart shows, when performance deteriorates, the trading system is taken offline and perhaps sent back to development.    

During the development process, we want a sound model that analyzes data and produces signals.  Described broadly, success of the trading system depends on the quality of the model and its fit to the data.  Quality has several aspects that affect its usefulness, including:

  • Accuracy
  • Profitability
  • Risk
  • Reliability
  • Practicality

Our next posting will discuss trade quality.

Leave a Comment