System Development Crash Course
Over the past few months Scott and I have been posting quite a lot of information regarding our work on CrazyIvan. What occurred to me is that some of you may not understand some of the key concepts involved. Which is something we shall remedy once and for all. Here’s your system development crash course – a.k.a. everything you always wanted to know about trading systems but never dared to ask:
Let’s start with risk as defined as ‘R’. As you may already know a good trader never risks much more than 1% of his/her assets on one trade (2% max). For simplicity’s sake let’s assume you have $100k in your account, so 1% of that is $1000. You will be shaping your order size so that your stop out represents almost exactly $1000.- every single time. You are willing to risk $1000 per campaign (1%) – that is the money you put at ‘risk’ – thus it represents 1R.
CrazyIvan ‘thinks’ in (and is gauged by) R intervals – not in money specifically. For instance, it exits after three candles if the campaign has not produced 1R in profits. Or if price moves beyond an R multiple and then pulls back it will take profits and close out. So you got long, price made you 2.3R during the candle but at the end of the candle pulled back to 1.98R – that’s it – you’re out. I’m explaining this to you to make it clear that the system is based solely on the management and evaluation of risk. Without proper risk management you may trade the same system and actually lose money, that’s how important money management is.
Expectancy is another key concept in system development and it is calculated as follows:
Expectancy = (probability of win * average win) – (probability of loss * average loss)
You have a system that wins 30% of the time. When it wins it nets you 5R while losing trades lose 1R:
(0.3 * 5) – (0.7 * 1) = 1.5 – 0.7 = 0.8
So even though this system loses 70% of the time over time you can expect to make 0.8R on each trade. As you now understand R this also means that if you risked $1000 on each trade you can expect to make $800 on each trade on average (not over three trades but over hundreds).
Measuring expectancy alone however is insufficient. Opportunity is another concept that is often forgotten. Let’s assume you have the same system as shown above (i.e. 0.8R expectancy) but it only triggers 10 times per year. Let’s disregard the fact that this is too small a sample size for a moment. Instead let’s consider that taking such a small amount of trades per year will not bank you much coin. So clearly the frequency of trades needs to be factored in order to define the amount of opportunity. Given the same expectancy a system that triggers 100 or 200 times a year is clearly preferable to one that only triggers 10 or 20 times.
Which brings us to SQN – system quality number – which was developed by Van Tharp and is used to evaluate the overall quality of a trading system. The formula is as follows:
SQN = root(n) * expectancy / stdev(R)
root(n) – the square root of the number of all trades
expectancy – as shown above and measured in R multiples
stdev(R) – the standard deviation of your profit/loss R multiples
Usually a SQN score of between 1.6 – 1.9 is considered poor but tradable. 2.0 – 2.5 is average. 2.5 – 2.9 is good and anything above 3.0 is deemed excellent.
Given the above we have a system that makes 0.8R per trade and let’s assume the standard deviation is 2.5R and that we make 100 trades in one year. The SQN of this system is:
SQN = root(100) * 0.8 / 2.5 – 10 * 0.8 / 2.5 = 3.20 (which is excellent)
However if you would make only 25 trades per year with this same system the SQN would drop down to 1.6. Barely tradable due to lack of opportunity. The higher the SQN the better your system and the easier it gets to meet your trading objective with position sizing.
I hope this explains some of the key concepts involved and that it makes you appreciate what we are trying to accomplish by offering Ivan Krastins’ trading rules via an automated system such as CrazyIvan.