This is a continuation of Developing an Automated Trading System.
Began algorithms with simple strategies. This tests a range of inputs for a strategy. For example, you can test a range of trailing stops from 1 to 15% with 0.5% steps. This will test 30 scenarios with the same data.
You can combine strategies testing multiple ranges. If your ranges include 10 target scenarios, and 10 stop scenarios, it will test 100 scenarios, as it will test every combination of your ranges. There is no limit to the number of ranges you can combine. The REST call to create the backtest parses your strategies, creates entry/exit factories and iterates through the ranges.
On the entry side, I’m creating indicators that can be used to fire signals. While the signals are simple today (all true, all false), the logic can become complex as algos become aggregations of signals weighted to make a decision. This will be fed to machine learning and use other techniques for prediction and optimization.
Technical description: No new technology here. This introduces a pattern of phased data enhancement.
I was recently inspired by the AI series Westworld. This led me to increase generification and conceptual streaming and phased data enhancement as I imagined the result being a high performance real-time analytics engine that could potentially handle complex decisions beyond the current application. The goal here is to ultimately build an AI engine with practical purpose driving it rather than theory, as well as a real-time analytics engine that can be deployed to solve a number of problems in various industries.
For this reason, the back testing algos are designed to support real-time price updates that include time so they can handle their own temporal requirements, much like the human brain continuously analyzing real-time signals to help you make decisions.
Continued posts on Developing an Automated Trading System
Added Charting to Automated Trading System (Jan 18, 2017)