by January 23, 2020 in Free Trading System, Mean Reversion, Python, TradingSimula-18, Trend Following System
onMean Reversion and Trend Following Produces Smooth Equity Curve
Expanding to a large portfolio is easy to do if you have a very large account. Most retail trading accounts can’t cover the margin requirement nor the risk involved with trading many markets. Take a look at this chart.
It trades a very small portfolio of five active and diverse markets. The emini-ES market is traded from the long side only and uses a mean reversion algorithm. The other markets are trading by our trend friendly Bollinger Band algorithm. Notice how the equity curve has continued to rise over the past five years.
Portfolio Normalization
Much of this of course can be contributed to the stock market. Notice how the other markets contribute almost the same amount of $s to the bottom line. This strategy normalizes all of the markets on perceived market risk – at the beginning of the trading day each market’s average true range is calculated and the largest ATR of the portfolio is extracted from the five markets. Once this value is obtained, then the rest of the markets’ ATRs are compared to the largest value and the position size is changed accordingly. For example, let’s say the ATR in $s for the crude oil is $1,000 and $500 for the soybeans, so the position sizing would be 1 contract of crude and 2 contracts of beans. This normalization process provides even exposure across all market/sectors. In this example, profits are not re-invested, but that could be easily tested.
Normalization Code [TradingSimula18]
Pre-day portfolio calculations is one of the main cornerstones of TS-18. Imagine being able to analyze all of the components of a portfolio before the trading day starts, and based on the analysis, make trading and/or position sizing decisions. Another neat aspect of TS-18 is having the ability to apply a different algorithm to different markets in the portfolio. Here is the code for the normalization process:
Market Specific Algorithm Code
Let me know what you think. The concept of portfolio normalization is very important and should be thoroughly tested. Testing on a one contract basis is great for algorithm prototyping. If a system makes money on a one contract basis, then you know you are heading in the right direction.