Sorry about the crickets over here in this corner of blogland! I haven't made any trades this month so that's the reason. And I totally missed a chance for an April Fool's post... I am still working on the plan going forward and have decided a few things.
1) I am likely going to be taking a Ninja programming class to attempt to get myself further along the learning curve and actually be able to automate the backtesting of strategies in Ninja rather than the cumbersome scrolling through charts and recording results one-by-one in Excel that I mostly do now. If anyone has taken this class or has any thoughts I would love to hear from you.
http://www.ninjatrader.com/Webinar/Premium_IntroductionToNinjaScriptDevelopment_3-23.php
2) I am taking a break from trading ZS (including my ZS1 system) for at least the month of April. Will decide later if I should resume or not and this will hinge greatly on whether I find better uses of my trading time and capital.
3) And speaking of uses of my trading time, I'm am working on a new mini-Russell 2000 methodology that is mostly discretionary. I am still ironing out the details but I will be scaling into positions (averaging up and down) with up to 5 lots (1 contract per $10K in account) and will consider the effort successful if I can end most weeks with a profit of ~$1000. I expect 4 out of 5 days will cancel each other out and the average losing day will be about double the average winning day's take.
The primary reason for the TF contract is simply that, for me, it offers the best bang for my commission buck. Slippage should be minimal as ~80+% of entries and exits will be limit orders. Anything we can do as traders to stack the deck slightly in our favor should be considered. Having the past 2 years be gross positive but net negative after commission costs has added to my renewed focus on all factors to the bottom line.
Let the crickets resume, for now....
20 hours ago
I've stumbled through my own automation now for a couple years, basically compiling with trial and error until it works right, and spending a lot of time on the Ninja forum. Its been a herendously slow way to do things for the most part, but has gotten easier with time. This class would definitely be interesting - I still have trouble with unmanaged orders; hoiwever, I think much of what you need to know is probably available somewhere on-line, and while the typical Ninja Support response is "...we do not support that type of modification...." or something to that effect, they usually will lend a hand. The other senior members on that forum are usually more than willing to lend a hand as well.
ReplyDeleteMBA,
ReplyDeleteI look forward to reading a review of the Ninja class, I have considered taking the same class.
1) It is good to know programming your software but back-testing its a waste of time in my opinion
ReplyDelete2) I think its wrong to watch multiple markets, I think a single market is the way to do it. Watching a single market is complex enough and very difficult but watching and day trading multiple markets is impossible, my opinion again.
Thanks for comments.
ReplyDeleteJMF, agree and have had similar results with Ninja forums.
Trin, I'll let ya know what I think if I do take the class.
Paul, totally disagree about backtesting. If a system doesn't backtest well, there's little chance of any positive real trading results. If you're talking about a fully discretionary method then sure, no point because you can't backtest that.
Yeah well MBA, we are all talking from our own experiences here, personally I was unable to find anything that I could trust by back-testing. Of course I found systems and theoretically they were good but there were so many variables and so many things that could go wrong that I was unable to trust any one of them. Besides the amount of time that one has to dedicate in to back testing ideas compared with the "final product" span of life before more back-testing and tweaking and God knows what adjustments were needed just did not pay off in my view.
DeleteProgramming is good though I think this days its a must for any serious trader as you must be able to extract things from what seems a chaotic price movement, you cant do that without programming and a lot of "inspiration" to reinvent the wheel so to speak.
All of the above are just my experiences again, don't take them as granted I don't want to argue about anything I`ve just said my opinion you say and I`ll shut my mouth ;)
I totally understand your viewpoint and agree it's not for everyone. But for me, backtesting is critical if I'm going to have any confidence in my methods. Without confidence, failure is inevitable.
DeleteFutures trading is a losing game if you Retail, you need to be on the Inside with all the crooks
ReplyDeleteOR Sell Books
Maybe I'll write a book after I made my first million.
DeleteMBA, what about dynamic foward-testing? In my experience, back-testing is a road that leads to disappointment because it gives a fabricated sense of security.
ReplyDeleteIf we forward test an idea and tweak it *intermittently*, we can move towards our goal.
A lot has been written about this in various books (I got it from one of Antony Robbins' books). The key is to do consistently for, say, 3 weeks irrespective of results, see where you are relative to your goal, make one adjustment, then go again. If it works, great, if not, take it away.
Yeah, I guess I should choose my words better. I sort of lump "walk forward" testing into the same boat as backtesting. Kevin Davey (www.kjtradingsystems.com) also refers to "incubation" which is a step further. He's done some good webinars at BMT on this. Whatever it takes to produce the best system and have the greatest confidence to actually trade it successfully I'm all for!
DeleteThanks for the kind words. Traditional backtests are junk, because most people do them incorrectly. Overoptimizing, curvefitting, hindsight bias, and having no out of sample period can easily lead to worse than useless backtests. The key with historical data, in my opinion, is to use walkforward testing. Not as good as live testing, but much better than a traditional backtest. Then, once you finish development, set it aside for a few months (incubation). You'll see if you made mistakes, when you see real time results.
DeleteWhat's the purpose of the incubation period?
ReplyDelete@Monkey - to see if you made a big mistake in development. You want to have your strategy run real time for 3-6 months or so. Then look at the equity curve of the walkforward period, with incubation period added to it. If you can easily tell where incubation started, you probably made a mistake with your strategy, since it is performing as well as it did in historical testing. The other benefit is that it removes the "oh baby, I've got a great system, I'm going all in on this one" type emotional response that usually comes after finding a good strat. With incubation, it becomes just another strat that has to still prove itself before you commit actual money to it. Hope this answers the question.
ReplyDelete4th sentence should read: "...since it is NOT performing as well ..."
DeleteI understand the concept of the "walkforward", the idea that the curve shouldn't have a noticeable difference to it compared to historical testing but, what I should have asked is, what is the incubation period?? My guess is a period where the system isn't traded (but you can obviously go back after said period and back-test it).
ReplyDeleteI probably did not explain it well. You finish your development, package up your code and set it on a shelf. 3 to 6 months later (the incubation period), you go back and see how the system would have performed during this period of time, which is truly unseen data (it was in the future when you finished development). Many development errors will show themselves in this incubation period - probably everyone has had a strategy that started failing the minute they went live with it. So, if you finish developing a strategy today, set it aside until October. Then in October, review how the strat would have done April-October (the incubation period). ONE IMPORTANT NOTE: If you do not have a realistic backtest - for example, you ignore commissions and slippage in a scalping system - then your incubation results will not be realistic either. Many people ignore this, to their detriment.
ReplyDeleteThanks for the clarification Kevin :)
ReplyDeleteRegarding the "realistic backtest" part, it's amazing the effect commissions and slippage (and spread) have on an edge. I've always been aware that it's pretty useless tracking "gross Expectancy" without considering costs but what I didn't really appreciate until not so long ago was the effect of:
1) Number of trades taken. You lose the spread plus comms for each one.
2) The spread. A slight edge in e/u can result in no edge in g/u after costs. And most importantly...
3) Timeframe. You can uncover positive net edge just by increasing the distance between entry and stop/target (keeping the size the same). Of course, this can only occur if you have positive gross edge (before costs...)
There's an interesting article on this over at TraderRach's blog:
http://www.traderrach.com/forex-market/play-to-win-the-forex-timeframe-game/#more-524
Thanks again for clarifying (and sorry for hogging your comments section MBA! Though I suspect it's useful discussion for others so you won't mind ;) )
Good discussion! Don't mind at all MMonkey - keeps the crickets away until I resume trading and start posting results again. :)
ReplyDeleteHi Kevin
ReplyDeleteSounds like it will be good for you to take the time to refocus. :-)
Thanks to Market Monkey for referring you to my blog article http://www.traderrach.com/forex-market/play-to-win-the-forex-timeframe-game/
Timeframe is extremely important for profitability. The same strategy on a higher timeframe is likely to produce better results because trading costs are reduced.
Good luck.
Cheers Rachel