Re: Gap Filler - out-of-sample comes good
Optimised result - 2001 - 2008 disktrading data:
HTML:
Instrument Total Net Profit Average Trade Total # of Trades
$AUDJPY_DTC 22660.00 70.37 322
$AUDUSD_DTC 12080.00 36.06 335
$CHFJPY_DTC 15930.00 48.72 327
$EURCHF_DTC 13385.00 52.08 257
$EURGBP_DTC 7475.00 25.78 290
$EURJPY_DTC 22795.00 70.57 323
$EURUSD_DTC 11045.00 32.97 335
$GBPCHF_DTC 26655.00 87.97 303
$GBPJPY_DTC 27770.00 84.41 329
$GBPUSD_DTC 10850.00 34.01 319
$USDCAD_DTC 10495.00 34.30 306
$USDCHF_DTC 12140.00 36.46 333
$USDJPY_DTC 17685.00 50.67 349
COMBINED RESULTS 210965.00 51.11 4128
Out-of-sample, 2009 - 2010
HTML:
Instrument Total Net Profit Average Trade Total # of Trades
$AUDJPY_DTC -1355.00 -33.88 40
$AUDUSD_DTC 2305.00 52.39 44
$CHFJPY_DTC 1340.00 34.36 39
$EURCHF_DTC 3530.00 84.05 42
$EURGBP_DTC 2130.00 50.71 42
$EURJPY_DTC 1150.00 27.38 42
$EURUSD_DTC 835.00 18.15 46
$GBPCHF_DTC 11315.00 257.16 44
$GBPJPY_DTC 10320.00 234.55 44
$GBPUSD_DTC 2055.00 66.29 31
$USDCAD_DTC 380.00 10.86 35
$USDCHF_DTC 2275.00 54.17 42
$USDJPY_DTC 1600.00 37.21 43
COMBINED RESULTS 37880.00 70.94 534
Apparently the only way to improve the implementation in the script is to use a 1 tick series for the backtest so I might do that later.
Of course! I Stupido! My system takes every gap, even the 1 point gaps. I need to filter out the tiny gaps that don't even offer enough reward to cover the commission and slippage.
In the meantime I'm going to set these off tonight on the simulation account to see whether the NinjaTrader code I wrote works live.
I have 5 different tasks running in parallel right now and it's not conducive to blogging about it here but it needs to be reported on before the finest details escape me.
First I ran the out-of-sample tests on the core, standard and extended sets and the results were not good. The core set fails to profit at all, it runs up about $2000 profit in the two years out-of-sample. I ran the backtests on the standard set, so I have no real statistical comparison from backtest to out-of-sample on the core set.
The standard set's out-of-sample performance was not inspiring. It profits but drawdown is about 50% of profit and the equity curve sucks, and it looks worse and worse as you add in transaction costs. So I wouldn't trade it.
The extended set performs fantastically though. This is pretty much the most difficult outcome to get to grips with.
- the extended set out-of-sample includes 10 forex pairs that I didn't use in the backtest, so again I have no direct comparison available. I have the data for the backtest period for the instruments, but I will have to load it into NT7 to be able to test against it
- the great performance comes from the extra forex pairs in the extended set that are not in the standard set, obviously, since the standard set's performance was so mediocre. This means I actually have another set - the exotic crosses - which is the only set which I would consider trading on the basis of out-of-sample.
- the exotics have a much higher transaction cost due to spreads and slippage.
Here is the result - this is with round turn $30 transaction costs:
HTML:
12 FXCM exotic OOS+15
Total Profit $53510.00
Commission $19170.00
Profit Factor 1.77
Max. Drawdown $-6160.00
Sharpe Ratio 0.51
Profit/DD 8.69
Start Date 01/12/2008
End Date 31/12/2010
Total Trades 639
% Profitable 84.04%
Average Trade $83.74
Average Win $228.82
Average Loss $-680.05
Ratio Win:Loss 0.34
Largest + Week $3570
Largest - Week $-5185
Trades / Day 0.84
Profit / Month $2214.46
Max. Recovery 448.05 days
So my actions on this system now will be:
- load FXCM data for 2000 - 2008 for backtest comparison of exotic set
- investigate what the difference was between my first out-of-sample success for the standard set and the second strategy which produced such mediocre results: my guess is that it was the limit order entry, which was necessary to make the backtest results realistic.