I'd like to understand the back testing process internals a little better. Suppose I have some strategy that is basically a single instrument strategy. Now, suppose that I back test it on an instrument list (either back testing or optimizing). So it will run on all the instruments on the list.
Clearly, the strategy will only see one instrument at a time (per instance of the class), and if I am running an optimization then each instance would run independently from the others.
However, is the order of execution well defined?
- In regular back testing - does the "clock tick together" for all instances? That is to say, do you simulate reality in the sense that you run all instances (for all symbols in the list) and then run the first bar for each instrument, then "advance the clock" and run the next bar for all instruments, etc?
- In optimization runs, what is the order of execution. E.g. run the full simulation on one set of parameter values, then run the full simulation on the next set etc? Or is there another defined order of execution?
Thanks
Comment