Automated Trading - Choosing Models Part 1
This article is a followup on my series on automated trading using FXCM’s Forex System Selector. My trial of this product is now into its fifth week of a one month trial. I expect that access to the system will cease in the next few days.
My goal for the next month is to select a different range of trading models. This article shows how you can use the historical performance data in the Forex System Selector and filter the large number of models (530 models are available) down to a manageable number for incorporation into your trading system.
FXCM offers 530 different trading models to choose from, with a range of different currency pairs, performance results and risk profiles. The product allows you to select a portfolio of trading models, analyse the historical equity curve, set risk management parameters, then start trading. I am using a demo account for the trial.
My previous trial has highlighted that whilst the product itself is rock solid, the models are often far riskier than anticipated. My equity curve for my trial has not been smooth (surprisingly, the product only allows you to view a historical actual curve before trading commences, not an actual curve). However, it is easy enough to chart your equity curve using Excel, and you can download the data to do this.
Obviously, you must be very discerning about choosing trading models. This is the critical success factor in using this tool to make money. I have downloaded 12 months of summary historical model performance data into a spreadsheet, and am going to apply some simple filters in an attempt to find some good models, then open another trial, and see how they perform over time against the market.
There is no one best way of doing this, so I am going to use the available data and develop some rules of thumb and explain my logic. You may want to develop your own approach, but the main point is to show how you can use the historical figures to find the models you want. The next part of this series will go refine the selection by modeling the historical equity curve.
I’ve got the following columns available:
- System
- Pair (currency code)
- Profit
- Pips
- Number of trades
- Drawdown
- Profit factor (gross profit / gross loss)
- Pips / trade
- System start date
- Average trade time (hours)
- Maximum positions that can be open
- Risk adjusted return (profit divided by net drawdown)
- Win percentage
Some of these columns are not useful filters. In particular, System, Pair and maximum positions are facts rather than dimensions. Given that the most models will be focussed on the easiest to trade pairs, and since no one pair is better than another, I won’t be filtering on the Pairs fact. This may be of benefit later when the models are shortlisted.
Generally, I try to make the biggest cuts first. This makes it easier to discriminate since the number of models in contention is significantly reduced.
Immediately, we can eliminate all models that have a zero or negative profit over the last 12 months. I include zero profits, because these models are unproven. This combination cuts down the number of models in contention from 530 to 164.
We want models that have had quite a number of trades. Models with a small number of trades may be quite unreliable because we have not had an opportunity to examine their long run performance. I have selected a value of 40 trades. This should be a large enough statistical sample to have some validity.
The risk adjusted return should be greater than 1. This means that the models should be able to generate profits greater than its losses. I want a risk adjusted return of 1.1 or greater. Once these 3 filters are applied, this leaves 19 models out of the original 530.
I can now easily inspect the models remaining. I want good long term performance. Typically models that have a good performance record over a long period are better than those with a good performance record over a short period. So I’ll filter for models that have a system start date of before June 30, 2007. This leaves the following 10 models:
- Currency-Specialist (GBP/JPY)
- AUDCAD-Mover (AUD/CAD)
- FxFons (EUR/JPY)
- Tecnofinanzas (EUR/USD)
- PipboxerV2 (USD/JPY)
- FXSignaler (EUR/JPY)
- Quants-Carnival (EUR/JPY)
- Quants-VIP (EUR/JPY)
- EspritFX (GBP/USD)
This is a manageable number for further analysis. My main concern is that the selection is biased towards the EUR/JPY pair, which may result in highly correlated trades which may result in a bumpy equity curve.
In the next article on choosing models, I will model the equity curve using the tools provided in the package, and determine whether I need to revisit any of my model selection criteria. I am interested in your approach to selecting models, so please leave your feedback and comments.
Tags: automated forex trading, forex system selector, FXCM, trading model selection, trading models









Leave a Reply