Approach to Designing Amazing Strategies
“Add an SMA(30)! No, add an EMA(18)! Actually, maybe it’s time to optimise it to find the best parameter value. Ok, we’ll stick to EMA(15). Throw in 3 date and time filters, 3 optimised price indicators and 3 volume indicators (that are essentially saying the same thing in different ways) and we’ll surely have the ultimate trading strategy!”
The above scenario describes a disaster waiting to happen. When we design trading strategies at AlgoTrading101, we break everything down to the basic building blocks. This allows us to build logical and effective trading systems. This means that we do not over-optimise parameters and add layers of indicators/rules until the cows come home.
It is very important to design strategies in a market prudent manner. This is a foundational step towards building long term profitable trading systems.
What is Market Prudence
A trading system is said to be Market Prudent if its underlying logic exploits a fundamental market inefficiency.
This fundamental market inefficiency is the reason for our trades. This is the basic building block for trading strategies. It applies both to manual and automated trading.
Examples of such inefficiencies are:
- Mean reversion of a currency pair due to similar macroeconomic factors in two countries.
- Price discrepancies (after considering currency disparity and transaction cost) between the same assets that are trading on different exchanges.
- Mispricing of structured assets due to misinformation.
Market Prudent Approach to Design Strategies
There are 2 steps for a market prudent approach:
Step 1: Define the fundamental inefficiency that we are trying to capture
Step 2: Create a set of rules to capture this inefficiency
Let’s look at a fictional example:
Step 1: US Dollar Index is very trendy the week after Non-Farm Payrolls (NFP) because of macroeconomic reasons. However, people tend to over-speculate and this causes prices to retrace if they jump too much.
Step 2: Create a strategy that captures trends and implement it post NFP. However, we still need to add something to cut positions if the move is exaggerated (exaggerated is defined both statistically and from a market prudent point of view). Hence, we add an oscillator or a statistical indicator in our exit rules that identifies exaggerated moves.
Now that we know our reason for the trade, if our inefficiency ceases to exist (sudden major ECB announcement, World War III happens etc), we can readjust/pause our strategy – this is done immediately and not after losses occur. Every decision is based on a fundamental premise, not unfounded guesswork or gambles.
Non-Market Prudent Approach to Design Strategies
Steps for non-market prudent approach: I’m not sure what they are, it varies from trader to trader.
Let’s look at a fictional example:
Step 1: Trader looks at chart, finds patterns. CADUSD seems to trend a lot on the 2 week of the month.
Step 2: Throw in some EMAs, RSI, CCI and Volume Indicators.
Step 3: Add a day filter, test a no-trade rule on all 5 weekdays. If we don’t trade on Mondays, we get higher returns. Let’s not trade on Mondays (there may be fundamental reasons not to trade on Monday but this approach fails to identify it).
Step 4: Run brute force optimisation with no walk-forward. Ok we found the best values. EMA(20) works best. EMA(25) completely destroys the strategy. Hence the key ingredient to our strategy is in using EMA(20) and not EMA(25).
Strategy either succeeds in the short run or flops. Either way, we don’t know why and can’t take logical steps to manage our strategies and protect ourselves. Everything is pseudo logic at best, an absolute gamble at worst.
Simplicity is Key
Everything should be made as simple as possible, but no simpler. - Albert Einstein
We only add what is needed, but not more. Every additional layer of rules increases the strategies complexity exponentially. Extra rules mean that our strategies become more rigid and this makes them more susceptible to failure.
When our strategies are simple and market prudent, we can understand them well. Understanding our strategies is very important for designing long term profitable systems. We need to know when and why our strategies work or break down.
TL; DR/Summary – Design simple trading strategies that exploits fundamental market inefficiencies.
In the next blog post, we’ll talk about the 4 main types of trading strategies. Drop us your email below to stay in the loop!
AlgoTrading101 is the first comprehensive online course on algorithmic trading. Learn the fundamentals of algo trading and put your ideas into action along with more than 25,000 students. Learn more about us at AlgoTrading101.
Lucas has been designing and building algorithmic trading robots since 2010. He worked at a proprietary trading firm and taught programming for financial applications to Government of Singapore Investment Corporation (GIC), one of the largest sovereign wealth funds in the world. He runs this blog and the AlgoTrading101 course.