Hi All
What kind of back test results do you look for before proceeding to the next step for that strategy (whatever that step is) ?
For example, this basic MA crossover applied to the ASX (1hr). I back-tested using tick by tick more from Jun 2015 and here’s the results.
A steady rise in equity curve. A maximum drawdown of around $2800. A return of 262% (initial capital of $4000)
Now to me these results look pretty damn good, but I know this doesn’t mean it will perform the same in the future.
But my question is ….would a back-test result like this be good enough for you to proceed with the next step in analysing a system? Or do you look for more return, or better percentage of winning trades, etc.
Thanks
Defparam cumulateorders = false
// Conditions to enter long positions
MAShort = Average[10](close)
MALong = Average[30](close)
c1 = (MAShort CROSSES OVER MALong)
IF C1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Conditions to exit long positions
c2 = (MAShort CROSSES UNDER MALong)
IF c2 THEN
SELL AT MARKET
ENDIF
// Conditions to enter short positions
c3 = (MAShort CROSSES UNDER MALong)
IF c3 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Conditions to exit short positions
c4 = (MAShort CROSSES OVER MALong)
IF c4 THEN
EXITSHORT AT MARKET
ENDIF
// Stops and targets
SET STOP %LOSS 0.4
//SET TARGET %PROFIT 1.0
WingParticipant
Veteran
The drawdown is of course high, but the system appears to have some value. The return of 262% on $4000 initial capital is not relevant to me, since the unleveraged actual cost of a contract is around $25000 using that CFD? The amount of trades (372) is good enough. Return is not as relevant as amount of trades (500+), low drawdown (10-15% or lower), and amount of optimization.
I personally would be concerned with the use of moving averages as entry conditions. I use them mostly as filters. But seeing as they don’t seem optimized, it looks alright. It is very easy to curve-fit with MA-crossovers if you optimize the MA periods.
Have you taken into account the spread (which varies with time of day) and overnight fees?
Now the question is, what type of stop is optimal? (ATR-based stop, percentage, indicator exit, time-based stop, trailing stop etc.) Can a higher-period MA or other filter be added? Should position-size be varied to reduce drawdowns? Does this strategy perform positive on other indices?
Hello Cusack,
the looback period is too short, in my opinion.
You could increase the number of bars to 100.000 or 200.000 and use it as a huge out of sample test. Nicolas has provided some insight into this technique: https://www.prorealcode.com/blog/avoid-equity-curve-fitting-with-probacktest-trading-strategy-optimisation/.
I would expect that a flat year will be a killer for your system. You can try to avoid this with Walk-Forward testing. https://www.prorealcode.com/blog/learning/strategy-optimisation-walk-analysis/
But a huge sample size with a reasonable out-of-sample period is the gold-standard for evaluating a system.
Thanks for the insight Wing. The MA crossover was just an example, although I have to admit I wondered if something as simple as that could be used if it gave decent results.
Thanks for those tips . It looks like this is going to be a very time consuming journey given the number of variables and ideas someone could come up with. …not to mention learning how to program those ideas to begin with. 🙂
You could increase the number of bars to 100.000 or 200.000
Thanks Derek, I’ll try this. I didnt think it was possible since increasing the number would automatically change the timeframe to daily or weekly. But i’ll try this out when I get home