When building a strategy, how do you evaluate if it is 'good enough'? Some may say 'Well if it has positive return and low drawdown it should be a good indication', and others will add more 'things it should do' to that metrics list. So what, should I come up with a number of requirements for my strategy and see how close the strategy gets? For instance 'return > 10%, drawdown > -5% , trades < 30', etc.? That's super arbitrary and I haven't much experience with trading so will set these thresholds wrong - just like many others probably would.
Here's the method I'm thinking to implement to improve this.
A) - Stop thinking in binary terms. The higher the return the better, the lower the drawdown, less trades, etc. - no matter if it's past some arbitrary threshold.
B) - Work against a baseline. Hypothesise a 'perfect strategy' for your test data, one that always makes good trades and always makes you money. Another story is how to actually create such strategy (obviously with a look-ahead bias) and how perfect it is, but for now I'll just stick with finding the peaks and valleys of the test data using a modified scipy find_peaks function
Each peak is a Sell, each valley is a Buy order. Now, calculate the usual metrics: returns, drawdowns, number of trades, etc. This becomes the baseline.
Having the baseline values, I can now calculate how much my actual strategy deviates from the 'perfect strategy'. For each metric, I can calculate a percentage of baseline my current strategy achieves. The closer to 100% the better. This way I can see which of my metrics are performing worse than others and try to improve these. (In the example below the percentage is replaced by 0-1 fractional values in the fraction column, but it's the same idea)
The example above is hypothetical and based on a horrible strategy, but for instance I could look at it and conclude 'ah, I should improve everything, but most of all the Return [%], given it's low fraction value of -0.031'.
Does this make sense? Would this be useful and conclusive? Is this already a thing, and if so what is it called? Any thoughts appreciated