Hi Brian,
My backtests currently take several hours and sometimes days to complete. I'm considering buying a significantly greater number of cpu cores (threadripper) so that I can run several (e.g. 5-6) backtests simultaneously to optimize model parameters.
Currently it's possible to initiate multiple backtests within the single zipline container, and each is executed in its own thread. However, the container's processing limit appears to be shared by all the backtests, which defeats the purpose of running them simultaneously. I.e. each thread is not maxing out it's own core.
Is there a way to assign backtests to multiple zipline containers (e.g. quantrocket_zipline_1
, quantrocket_zipline_2
, etc.)? I can easily create these containers with the --scale
flag in docker compose, but I'm not sure how to assign additional backtests to each with quantrocket.zipline.backtest()
.