Gekko Forum
Add multi-threaded backtesting - Printable Version

+- Gekko Forum (
+-- Forum: Gekko (
+--- Forum: Technical Discussion (
+--- Thread: Add multi-threaded backtesting (/thread-56658.html)

Add multi-threaded backtesting - tommiehansen - 04-04-2018

Because a single backtest does not really say that much, often we want to test a broad range of different parameters but doing this takes a lot of bloody time.
Imagine that one of these tests take 5 minutes and now imagine that you want to try at least 10 different variations. It quickly becomes so tedious so that one basically needs to create 3rd party software in order to do this.

1. Make sure Gekko caches repeating calculations (basically -- just cache last X requests so that repeating queries for the same data is cached or 'pre-compiled')
2. Add options for the above (i might run 3x strategies against 3x different asset/currencies so i might need more caching)
3. Invent a new pseudo-TOML format to allow dynamic parameters
4. Add timeouts
5. Add option for number of threads
6. Let user specify timeout @ web/vue/UIconfig.js (this file is btw terrible since it dictates timeouts for the backtesting ... should be a user.conf value and easily change:able via the api e.g. { timeout: 30000 }
7. Add option for multi-server mode (run the backtests against an array of servers instead of just 'localhost')
8. Use localStorage to automatically save stuff (not fun to have to input the same stuff again... again.. and again)

There are loads of things to write here, basically -- check out my "GAB" tool:

And basically clone the functionality and core ideas.

RE: Add multi-threaded backtesting - xFFFFF - 04-05-2018 Smile