I have used ML to create indicators for performing trades in financial data. Currently I use custom logic (plenty of if conditions) for backtesting. However there must be a better approach.

Backtesting requires various parameters - how much to buy when the indicator is strong (and when it isn't), how much to sell, what percentage of portfolio to allocate in a single trade, stop loss (if any) and more. I believe they can be optimized by determining what is important (sharpe ratio or return or sortino or volatility or whatever)

I don't think normal minimization will work as this is not a convex function. But heuristic search algorithms like Evolutionary algorithm, Monte Carlo algorithm should work. However i can't find anything about this in google (if anyone has tried this before and what the results were). What defect or strength can such an approach have?


closed as too broad by Attack68, LocalVolatility, Helin, Daneel Olivaw, phdstudent Sep 12 '18 at 17:25

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ This question is too broad. Of course you can use a global optimiser like GA, MC, BasinHopping or ParticleSwarmOptimisation (PSO) but how you apply it and how to make it work best are completely contextual. There are lots of benefits and drawbacks to each method. $\endgroup$ – Attack68 Aug 27 '18 at 15:58
  • $\begingroup$ Is there is any reading material for this? Papers or articles about someone trying these for backtesting or similar situations? I just can't seem to find anything. $\endgroup$ – user31078 Aug 28 '18 at 1:51