I've been working on a new trading system. Since we're hard at work on RightEdge during the day, day trading is not really an option with a real account. I've always enjoyed trading on daily data because of the pace. I can always go back and analyze the trade in progress. My goals for this system are:
- Relatively frequent trades.
- Manageable drawdown
- 1 position per symbol
- Low exposure per symbol
A few things I've learned over the years is how deadly curve fitting can be. I've discussed this in the past but would like to reiterate some of my ways for getting around this. Naturally, trading systems are curve fitted to a certain degree, otherwise they would be random. However, what I'm trying to avoid is tailoring the curve to my particular watch list and/or time period. To avoid that, I change watchlists frequently while developing, testing and optimizing the system. As you tweak parameters, you should begin to notice some normal distribution of results. For example, let's take a profit target. Let's say you set a profit target as an optimization parameter and the value is 1% to 10% with a step of 1. You'll likely notice that your winning percentage will go down as your profit parameter goes up and your net profit will likely form a bell curve of sorts if plotted where the profit target is X and the net profit is Y. Hopefully, this type of pattern repeats itself to a certain degree as you change your watchlist. Oh yes, and don't just change your watchlist, change your timeframe as well! If your system has 70% winners, for example, it should hang pretty close to that for any time period you test. If it's a long only system, it will likely do better in bulls and worse in bears. This is an inevitability.
One of the traps I fell into years ago was developing a system (usually an extreme system) and then finding a watchlist that looked good with my system. This was a great way to lose money, and I did!
Testing Your Trading System
It probably sounds obvious, but backtesting your system is just the beginning of your testing process. The second phase of testing is executing it in real time market conditions. If you're relatively new to executing systems live, I highly recommend you sign up for an account that has simulated trading. Enter your orders (or have RightEdge do it) to your broker and let them get filled in real time. Follow your account with simulation for some time and see if the simulation picks up trades or fills that didn't really happen. This will hopefully identify the degree of error in data. If you see one of these, be concerned, if you see several, abandon ship. The last phase of testing is running it in a live account with real money, however, use about 1/10th the size that you will when you go into production. Let's say you are going to allocate $10,000 for a trading system and you'll allocate no more than 10% per trade in production, or $1,000. For testing, I highly recommend doing 10% of that, so each trade would be $100. You'll likely lose small money on the commission, but that's a small price to pay for validating your system with real money.
Back to my trading system, I'm in the second phase of testing at this point. I'll be testing over the next couple of weeks or more in a simulated account and then moving over to real money if everything pans out. I'll keep you posted.