Trading Strategy, Instance and Portfolio - the Differences explained
What is an automated trading strategy? Different developers use different definitions. Some say that a strategy is trading one signal or setup, some combine multiple setups. Some have a few strategies that encompass dozens of signals, others combine strategies into portfolios. What do we do?
A Trading Strategy: an approach to generate trades based an idea
A trading strategy is a way to trade with the hope of making money. Being computerized (in case of automated trading), it is fully defined as a set of rules – that obviously the computer has to understand. There is no unknown factor, not “gut feeling” in trading a defined strategy. Not for a human, but definitely not for a computer – lacking a gut it is simply not able to have a gut feeling. Any strategy is based on an idea that results in a set of rules.
Some providers or developers combine a great many rules into a strategy, making it trade in many circumstances. We do not. We look for one set of trading rules per strategy. We create multiple strategies for different signals and handle the risk management aspect on a higher level. This does not say that a strategy is totally trivial – a lot of code goes into what we call trade handling, the determination of the exact rules how the position is opened and closed.
How does a strategy idea look like? A simple example of a strategy idea – and one that is the basics of one of our strategies:
Wait for the Fisher Transform to go above 2. When it goes lower by 10% of the high value, look for a short. Try to go short until the Fisher Transform reaches 0 (although obviously with a trailing stop in profit the position can be open longer).
Obviously there is a similar matching rule for going long. There may be other indicators acting as a filter – for example a second fisher indicator in a separate timeframe may be needed to catch movements in the scope of a larger movement.
As said, a lot of rules will go into the actual trading logic. “Look for a short” is nice for an idea, but how does one trade this? Pattern matching, definition of sensible natural stop and entry levels require a good library and even then a lot of additional code in the strategy. Decisions like where to go safe (rather exit with a small profit than to allow the Position to go back into loss territory) or how and when to exit can be tricky – and all need to be defined in full detail. And are a lot more code than the actual idea in itself.
A Strategy Instance: the application of a strategy to an instrument
Strategies are then applied to instruments – and as instruments are different, this needs optimizations for every instrument. Not every strategy works on every instrument, for various reasons. And all strategies need different parameters at different markets – not because of total optimization to a curve, but because every instrument is also different fundamentally. Some really good example: let us compare ES (the mini S&P) with the CL (Crude Oil). The ES trades around 1400 points with a tick – the smallest possible movement – of 0.25 points. The CL trades right now around 55 (top around 1100) with a tick of 0.01. A stop loss of 5 points is valid for a short term strategy in ES, where the daily movement easily is 20 to 40 points between top and bottom. A move of 5 USD in CL would be an extraordinary day and definitely not a stop for a short term strategy. In this case, the fundamental difference between the contract definitions requires different parameters.
A Portfolio: A set of strategy instances
As the last step, we take a set of instances and combine them. The goal is to get a more stable behavior for a specific account size. Generally, different instance should neutralize each other’s negative sides (the loosing times, the drawdown), while still all making a profit.
How can this be done? Quite easily, indeed. If you combine instances of strategies with different behavior (like a counter trend and a trend following strategy) over different low correlated instruments (it is generally quite hard to find totally decoupled instruments), then the drawdown behavior will happen at different time. If an instrument is trending, the counter trend strategy will not make money and will be in a drawdown phase, but the trending strategy will make money to offset the drawdown. Similar, in a non-trending phase the counter trend strategy will make money, while the trend following strategy does not make money.
As such, we will try to select instances among the following axis:
- Strategy Type (Trend, Counter-Trend, Scalping)
- Strategy Trigger (Normal, New Driven, Opening, Closing)
- Instrument (selecting a couple of not- or low-correlated
- Activity (some strategies trade more rarely, some daily or multiple
times per day).
The target account size of a portfolio also is taken into account. Sadly smaller accounts are nearly untradeable with futures simply because the defined large contract size of futures contracts. It makes any sensible risk management impossible. This is where Forex shines, allowing a much more granular position size.
Strategy, Instance and Portfolio form the basis of our development
We develop strategies which we optimize into tradable instances and combine into portfolios - this is the basis of our development approach. Risk management is attached on the level of instances and portfolios, with a weekly walk forward analysis and risk assessment determining which instances have priority – or are even allowed to trade in a particular week. Our new trading infrastructure – currently under development – will natively work with portfolio hierarchies and allow us to incorporate reporting and risk control on this level. A feature that is severely lacking in “professional” tools like NinjaTrader, where every strategy is standing for itself.
With our own infrastructure, this approach will be the basis for our offerings, both to private as well as professional investors. We will offer trading signals for portfolios with different size and aggression settings.