George Pruitt for Futures Magazine designed the original Dynamic Break Out system in 1996. This version has done well since it was released for public consumption in 1996. This version will be included in Appendix B. The newer version of the Dynamic Break Out is just like the original, except we have incorporated an additional adaptive filter.
The key to the Dynamic Break Out II system is its ability to adapt its parameters to current market conditions. This system is based on the tried-and-tested Donchian channel system. Remember how the Donchian system works; buy when the high of the day penetrates the highest high price of x bars back, and sell when the low of the day penetrates the lowest low of x bars back. If you optimize the number of bars to determine your best entry and exit levels, you will discover that different markets work better with different parameters. You will also discover that a particular market goes through different cycles and works better with different parameters through time. For example, the Japanese Yen may have performed better with a look back of 40 days in the 1980s, but now works better with a look back of 20 days. That is the major problem with using a static parameter for all markets. The Dynamic Break Out II system allows the number of look back days to change with the current market. Instead of using a static parameter, this system changes the parameters based on an aspect of the current market.
Before you can use an adaptive parameter, you must come up with a function or adaptive engine that automatically changes the value of the once static parameter. The input of this adaptive engine should be some form of market statistic. In the case of the Dynamic Break Out II, we used market volatility. When market volatility expands, so does the number of look back days in our break out calculation. Increased market volatility usually equates to market indecisiveness. By increasing the number of look back days when market volatility increases, we make it more difficult for the system to initiate a trade. When market volatility decreases, we reduce the number of look back days. Low market volatility equates to a trending market. By decreasing the number of look back days, we encourage the system to initiate a trade. This helps the Dynamic Break Out II to lock into long-term profits and be on the look out for a change in the long-term trend. We used market volatility to fuel our adaptive engine, but you could use any market characteristic. We can visualize an engine that uses a market’s overbought/oversold state. If we had a long position in a market, and it became overbought, we could use an overbought/ oversold indicator to adapt the parameter that determines the sell point.
Once an adaptive engine is dreamed up and it is pumping out values, you must maintain the values in an acceptable range. The Dynamic Break Out II system will not let the look back days go above 60 or below 20. Through optimization, we discovered that look back lengths that fell beyond these bound-aries did not generate acceptable expectations. An adaptive engine that generates useless values is useless in itself.
The Dynamic Break Out II initially looks back 20 days to determine its buy and sell levels. So when you start trading this system, your first buy point is the highest high of the past 20 days and your sell point is the lowest low of the past 20 days. At the end of each day, you measure the current market volatility by calculating the standard deviation of the past 30 day’s closing prices. Market volatility can be measured using different calculations: average range, average true range, standard deviation of change in closing prices, and others. Once we determine today’s market volatility, we compare it with yesterday’s. If the volatility increases, then the number of look back days also increases. We change the number of look back days to the exact amount of the change in market volatility; if volatility increases by ten percent, then so does the number of look back days and vice versa.
The original Dynamic Break Out made its buying and selling decisions solely based on the highest high and lowest low values that were generated by our volatility-based adaptive engine. Once a position was initiated, a simple, yet effective, $1500 money management stop was put into place. The newer version uses the same entry technique in concert with an adaptive Bollinger Band. The length of the Bollinger Band calculation is the same number of look back days that is generated by the adaptive engine. The close of yesterday must be above the upper band and today’s high must be greater than or equal to the highest high of x bars back before a long position can be initiated (x bars back is equal to our adaptive look back days value). Yesterday’s close must be below the lower band and today’s low must be less than or equal to the lowest low of x bars back before a short position can be taken. Instead of the simple money management stop, we incorporated a dynamic trailing stop. As we have discussed, the number of look back days changes on a daily basis. The adaptive engine decides the amount of change. The liquidation point of an existing trade is determined by calculating a simple moving average of closing prices for the past look back days. The sell liquidation would be just the opposite of the buy liquidation.
(谷歌翻译如下:)
期货杂志的乔治·普鲁伊特(George Pruitt)于1996年设计了原始的动态突破系统。此版本自1996年发布以供公众使用以来,效果很好。此版本将包含在附录B中。动态突破的新版本就像原来的,除了我们加入了一个额外的自适应滤波器。
动态突破II系统的关键在于其能够使其参数适应当前市场条件的能力。该系统基于久经考验的Donchian通道系统。记住Donchian系统是如何工作的;当日高点突破x线的最高价时买入;当日低点突破x线的最低价时卖出。如果您优化柱线数量以确定最佳的进场和退出水平,您会发现不同的市场使用不同的参数会更好。您还将发现特定市场经历不同的周期,并且随着时间的推移在不同的参数下效果更好。例如,日元在1980年代回溯40天的表现可能更好,但现在回首20天的回溯效果更好。这是对所有市场使用静态参数的主要问题。 Dynamic Break Out II系统使回溯天数随当前市场而变化。该系统不使用静态参数,而是根据当前市场的一个方面更改参数。
在使用自适应参数之前,必须提供一个函数或自适应引擎,该函数或自适应引擎会自动更改一次静态参数的值。这种自适应引擎的输入应该是某种形式的市场统计数据。在动态突破II中,我们使用了市场波动性。当市场波动扩大时,我们的突破计算中的回顾天数也会增加。市场波动性的增加通常等同于市场的犹豫不决。通过增加市场波动性增加的回顾天数,我们使系统开始交易变得更加困难。当市场波动性降低时,我们会减少回溯天数。低市场波动等于趋势市场。通过减少回溯天数,我们鼓励系统启动交易。这有助于Dynamic Break Out II锁定长期利润,并在寻找长期趋势的变化。我们使用市场波动来推动我们的自适应引擎,但是您可以使用任何市场特征。我们可以可视化使用市场超买/超卖状态的引擎。如果我们在市场上拥有多头头寸,并且变得超买,则可以使用超买/超卖指标来调整确定卖点的参数。
一旦实现了自适应引擎并输出了值,则必须将值保持在可接受的范围内。动态突破II系统不会使回溯天数超过60或低于20。通过优化,我们发现回溯长度超出这些限制范围并不能产生可接受的期望。产生无用值的自适应引擎本身就是无用的。
Dynamic Break Out II Summary
Yet again, another successful long-term trading approach. We guess we let the cat out of the bag . . .and what an ugly cat it is. The majority of successful trading systems are of the long-term trend following variety. Almost all traders realize this fact, but it doesn’t stop them from searching out a shorter-term approach. See, the trend-following systems require diversification, which requires hefty capitalization. Also, trend-following systems can have substantial draw downs and go for years without making any money. The typical trader cannot persevere through these bad attributes, even though they know they will probably be rewarded in the long run.
Even this dynamic approach couldn’t capture a profit in the soybean market. The continual failure of trend-following systems in the grain markets begs the question, “Why don’t these systems work in the soybean or grain markets?” These markets move in a cyclical fashion due to the seasonality aspect of their underlying fundamentals. If we know ahead of time that these markets have this cyclical nature, then why can’t we capture their movements? Cycles are very difficult to calculate and determine and, therefore, are usually overlooked. The two most predominant methods for finding cycles are trigonometric curve fitting and Fourier (spectral) analysis. The mathematics behind these two methods is relatively complex and detailed. We personally have never seen a pure mathematically-based, cycle-finding trading system outperform the typical trend follower. If you do have any interest in this area, we refer you to John Ehlers, Rocket Science for Traders (John Wiley, 2001).
Before we move on, let’s use our TradeStation for two different experiments. The first experiment will deal with the Dynamic Break Out II system and the soybean market. We saw how virtually useless the system was for capturing the trends in the soybean market. What would happen if we faded the trade signals? What we mean by fade is to do just the opposite. So, instead of buying at our long entry point, we will sell and vice versa. If the soybean market moves in cycles, which is countertrend, then we should be able to improve our performance by entering against the prevalent trend. Table 6.5 shows the performance of our countertrend soybean system.
No question that it did better, but overall it is still nothing to write home about. This somewhat proves that soybeans and other grain markets cannot be successfully traded by a longer-term trend-following approach. Since we are on the subject of cycles and seasonality, why don’t we program a strategy that incorporates a seasonality filter? We will demonstrate how to use the keyword date to determine the current month and day. This system will trade the soybeans and will only take long signals from March 1 to July 1 and will only take short signals from July 2 to February 28. These dates were derived from cyclical analysis of historical data on soybeans.