when quickly backtesting.
Example of idea:
Backtesting of one long period (for example 4years) could be divided into 4x 1-year backtests, that would be combined into final backtest. Benefit of this is extreme speed
comparing to standard backtesting procedure.
This would require 2 additional parameters in the general setting of the backtest:
1. SuperFastMode_Enabled
2. SuperFastMode_OverlapPeriodInDays
which are days, that have to be overlapped in backtest start/end date to get continuous results (to not miss any trade due to initialization period)
Level of parallelism would be automatically taken from count of CPU cores
and required OverlapPeriodInDays.
This feature would extremely useful on day to day basis. That's what we do most of the time - developing and testing. We would really appreciate if we could get the backtest results much more faster.
Common 8-core CPU speeds up backtesting 8x in super-fast mode.
This could bring NT8 extreme boost in speed of development and productivity.
To summarize it:
1) It is 2additional parameters in backtest settings
2) It need logic for splitting standard start-end dates into more sub-backtests and run them independently.
3) When all sub-backtests finish, merge them into one combined result (relatively easy with filtering unique IExecutions to prevent duplicate IExecutions from multiple sub-backtests)
4) That's all about logical complexity of this feature.
Benefits of this are extreme. We users will wait X-times lower time (X=count of CPU cores)
to see backtest results. What takes 8minutes now, will take 1 minute with this feature.
Each day, each hour we will save our precious time.
Comment