A Recursive Framework for Modular Trading System Development, 11/21/05
In the book "Getting Things Done," David Allen presents a simple flow chart for getting things done that makes an interesting model for a recursive trading algorithm:
Trade Handler(timeframe)Is it tradable?If 'No' thenDoneIf 'Yes' thenTrade Handler(next time frame)
Where each call to Trade Handler represents a new time frame.
For example, the weekly time handler calls the daily time handler calls the hourly time handler that initiates the trade.
Which is interesting because of the modularization and the potential for adding stepwise refinements to a model.
Let's say I have a weekly model that I trade each Friday. Subsequently, I find that I can trade the model on any day of the week, so instead of rewriting the weekly model, I add a call to a new TradeHandler module that handles daily entries for the weekly system.
Next, I find hourly refinements for those daily entries, so, again, without rewriting, I add a new TradeHandler module that handles hourly entries for the weekly system.
Because we are leaving the original system untouched at each iteration, the quality assurance process is orders of magnitude simpler: is the new module robust?
And because the original modules are unchanged, the effects of progressive changes are easy to quantify.
The most interesting effect, however, is on complexity: this model reduces a complex trading system to a series of identical (and reusable) plug and play modules that can be interchanged and reused.