Backtesting optimization software

Discussion in 'Programming' started by Q.E.D., Apr 1, 2018.

  1. Q.E.D.

    Q.E.D.

    My background:
    1. Full-time trader, mostly futures, for 30+ years;
    2. Managed money in futures, 20 years ago, as CTA, using proprietary software platform, under Linux.

    I'm looking to get back into testing strategies, initially on futures. I'm working with a very experienced programmer, but I'm starting investigation for platforms.

    Thru Elite, I learned about & registered for trial with Quantconnect, & watched a couple of videos, & scanned documentation.

    HOWEVER, I did not yet find info re backtesting optimization. Anybody have experience with Quantconnect?

    Questions
    1. Can one run, say few hundred optimizations on SP e-mini, with 25 variables, and control the output results, in spd sheet format?
    For instance, can one list iteration 1 to 500, sort by # trades, then % profitable, then another 2-3 levels?

    The main question is how one runs optimization runs, including var input. It appears that var range, which I assume is possible, would need to be hard coded, vs read in from separate file/spd sheet

    I've written to Quantconnect support, but no answer yet.

    Appreciate any feedback. In exchange, again, I'm very experienced, profitable, active discretionary technical trader (I use IB, Sierra Charts, 12 monitor screens)
     
    Last edited: Apr 1, 2018
  2. Backtrader does backtesting optimization.
     
  3. Q.E.D.

    Q.E.D.

    Thanks; just looked quickly; definitely worth exploring.
     
  4. 25 variables form a gigantic optimization space. Even in the simplest case where each variable is binary (i.e. yes/no), you have:
    2^25 = 33.5 million

    That is, the optimizer would need to run 33.5 million combinations of parameters. Just wanted to point that out, in case you didn't realize the effects of dimensionality -- apparently you expect only a "few hundred" sets of results.
     
    schweiz and d08 like this.
  5. Q.E.D.

    Q.E.D.

    Not true, although I understand your leap. The simple case, 25 vars could all be fixed, so just one test. More reasonable, some vars might have 5-10 steps, such as a SMA, start at 10 periods, increase by 5, to say 30. etc. Again, I had my own platform 25 years ago, and used at least 25 vars in a test, but total iterations might only be 500. Thirty-three million might be data fitting!
     
    Rationalize likes this.
  6. ryker

    ryker

    I recommend backtrader too. This is what I use for backtesting on futures (with the possibility to backtest on all the maturities of a future as opposed to a continuous serie). I prefer it to QuantConnect, the Lean platform (QC open sourced) is quite heavy.
     
  7. drm7

    drm7

    If you use end of day data, Tradingblox is an excellent commercial product.
     
  8. Q.E.D.

    Q.E.D.

    Thanks, but my style of trading, including exchange membership when I was 21, requires intra-day. But even systems I developed that held positions for weeks, still monitored 5-min data. Even managers who hold positions for 10+ YEARS, I suspect look at the prices at least several times per day. Does not mean trading is required at each peek.
     
  9. d08

    d08

    Nothing to do with curve or "data" fitting. Using larger steps doesn't imply less a less curve-fit outcome. If all 25 vars are fixed values, it's not an optimization but a simple backtest.
    I could do this with some old backtesting software combined with Excel, it doesn't take much.
     
  10. Q.E.D.

    Q.E.D.

    That was merely a trivial case. I have extensive backtesting optimzation experience, albeit 20 years ago. Again, with 25 vars, my typical run might be 300-900 iterations. Why are you belaboring this?
     
    #10     Apr 1, 2018