|
|
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' then
Done
If 'Yes' then
Trade 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.
|