Here is how I work in general
I am working on a strategy which works on a bigger set of indicators and price action / swing trading setups. My approach is, to integrate several trading ideas into one strategy.
Said that, there are particular branches for each idea. E.g.:
master
branch holds stable status of strategyfeature_x
branch holds one newly generated stop-rulefeature_y
branch holds a new filter for ranging markets
After developing a new stop-rule / entry / pattern etc I need to backtest it to see if it works for a lot of market data. The normal process here is:
- Checkout
feature_x
- Backtest it on about 140 symbols for 10-17 years
- Find bugs / Find market conditions in backtest which I did not concider in before / ...
- Adjust it
- If not satisfied: Repeat at 1. If satisfied: Merge it into
master
branch
So the step of backtesting a huge dataset is done very often. Therefore my interest in having the backtest process done quickly, automated and away from my laptop is very high.
Due to some resource-consuming custom indicator (Support/Resistance) one backtest runs approx. 90 seconds per symbol. I outsourced the backtesting to a powerful linux server which runs 12 backtests in parallel.
Problem
So the problem right now is, that my log entries tell me, at which symbols on which dates the current feature have an impact on (e.g. Your new stop rule triggered on 2008-01-19 on EURUSD=X). But I need a chart to see if the program executes it in a situation which I created it for. So i started to use savefig
option (cerebro.plot(style='candlestick', savefig=save_fig, dpi=900, width=32, height=18, numfigs=5)
) which has been nicely provided by @xnox, but zooming into it looks like this (even with the provided settings):
Proposal
So my idea is to save all the cerebro
data to file (e.g. by a linux server) and load the plotter later (on a normal computer) with the saved data. Do you think this is a reasonable way?