A few weeks ago, I stumbled across two systems with funny names: Oddball System and Another OddBall System. After reviewing the two systems, I decided to go with Another Oddball. This idea was presented in the now defunct Active Trader Magazine, May 2004 issue.
This idea is a trend-following system, with Bollinger Bands at the core. This is a stop-and-reverse system with careful, well-defined money management rules. It was designed for futures markets. With the money management rules, this is not an always-in system, though I expect it to be in the market over 90% of the time.
I have never built a system with Bollinger Bands, though I have used them in other market analysis. I like using standard deviations in technical analysis. This idea has a twist: Kaufman’s Adaptive Moving Average (AMA or KAMA) is used in place of a regular moving average. I really like the KAMA and I used this indicator last year in Trading Idea #012, Moderate Scalp 2.
This system idea reminds me of the 40 in-20 out system I built last year. The biggest challenge will be coding the money management rules. Let’s get to it!
Phase 1: Plan & Design
1. Trading Idea
This Another OddBall System idea is deceptively easy: it is complex at first glance, but very easy to implement (Step 6 illustrates the simplicity). The difficulty is describing the idea.
We will use Bollinger bands with the following attributes:
- 38-period calculation for the moving average (middle) line
- The moving average values is Kaufman’s Adaptive Moving Average (KAMA): 10-period efficiency ratio, 2-period fast, 30 period slow
- +3 standard deviations for the upper band
- -3 standard deviations for the lower band
In addition, we will use a 2-period RSI (RSI2) to time entries, which I will explain shortly.
A long side entry is signaled when the daily price closes above the upper band. If the RSI2 < 70, then we enter long, otherwise we wait until the RSI2 closes under 70.
A short side entry is signaled when the daily price closes below the lower band. If the RSI2 > 30, then we enter short, otherwise we wait until the RSI2 closes above 30.
In both cases, we hold onto that entry until the time is right, which is what the RSI2 tells us. Here is the general idea:
The RSI2 is my attempt to get a better entry price and is not part of the original idea. I will discuss this more in step 5, Manual Test.
I will test this over 18 instruments, to mimic the futures instruments used in the original article and will be testing it as a portfolio rather than as separate instruments.
2. System Definition
Input Parameters:
Input(Default) | Data Type | Optimizable? | Comments |
Risk_Capital(13888) | Integer | Yes | This will be used to determine the trade size. Why the weird number? The original system idea was tested on an equity balance of $250k. I will be testing 18 instruments, thus allocating an equal portion to each. |
Variables:
Variable | Data Type | Default | Calculation |
NumShares | Integer | 1 | TradingCapital/close, rounded to the nearest 1 |
TradingCapital | Double | 0 | RiskCapital + net profit Note: if net profit exceeds RiskCapital, then we stop trading the instrument |
BBandUpper | Double | 0 | +3 standard deviations from the KAMA |
BBandLower | Double | 0 | -3 standard deviations from the KAMA |
KAMA | Double | 0 | 10, 2, 30 Adaptive Moving Average |
TwoRSI | Double | 0 | 2-period RSI |
SignalShort | Integer | 0 | Set to ‘1’ if we have a short signal, but TwoRSI is below 30 Reset after entry or if long entry is signaled |
SignalLong | Integer | 0 | Set to ‘1’ if we have a long signal, but TwoRSI is above 70 Resent after entry or if short entry is signaled |
StopLoss | Double | 0 | TradingCapital * .18 |
Initial Capital:
- Portfolio: $250,000
- $13,888 per instrument
Leverage:
- None; we don’t want margin costs to eat up profits
Position Sizing:
- $13,888 per instrument
Entries:
- Long:
- If Close > BBandUpper and TwoRSI < 70
- Then buy next bar at market
- Else SignalLong = 1
- If SignalLong = 1 and TwoRSI < 70
- Then buy next bar at market
- SignalLong = 0
- SignalShort = 0
- Short:
- If Close < BBandLower and TwoRSI > 30
- Then sell short next bar at market
- Else SignalShort = 1
- If SignalShort = 1 and TwoRSI > 30
- Then sell short next bar at market
- SignalShort = 0
- SignalLong = 0
Stop Loss:
The original rules state we will risk no more than 1% of our available capital. I will use TradingCapital for this calculation. The .18 multiplier is what brings us to 1% of the total portfolio (trust me on this one).
- Set stop loss to 18% of TradingCapital
Profit Target:
- None
Challenges:
The only challenge I have is holding onto a long or short signal for several bars. It will take some thinking to figure this.
3. Performance Objectives
The system will meet the following objectives:
Objective | Goal |
System Type (trend, mean-reversion, day, swing, etc.) | Trend Following |
Risk of Ruin | 0% |
Profit Factor | >= 1.5 |
Adjusted Profit Factor | > 1.0 |
Win Percent | > 30% |
Max Drawdown % | < 35% |
Profit/Drawdown Ratio | > 2.0 |
Ready Date | 2022/03/31 |
I cannot expect a high win rate from a trend-following system.
This idea is S.M.A.R.T.: Specific, Measurable, Achievable, Realistic, Time-bound
4. Market Selection
This Another OddBall System was developed and tested on a basket of futures. As I am still in the process of rebuilding my futures data set, I will use ETFs as proxies for each of the futures products. Some of the ETFs are based on futures contracts and some are based on other things, such as physical holdings (gold, silver, equities). I do not know how this will look, but I will give it a try. The only futures contract that does not have a proxy is the Eurodollar futures, so I have excluded this.
Markets:
Energies | Currencies | Fixed Income | Agriculture | Metals | Softs | Indexes | Equities |
---|---|---|---|---|---|---|---|
X | X | X | X | X | X | X |
Instruments:
Market Sector | Instrument | Symbol | Comments |
ETF’s | GLD USO DAX CORN SDEU.LN FXE CPER FXY JO COW HOGS QQQ UNG SOYB CANE SLV SPY IEF | Same | GLD as a proxy for GC (gold) USO “ CL (crude light) DAX “ AX (DAX futures,from 2015) CORN “ C (corn, from mid 2010) SDEU.LN “ DT (German bonds) FXE “ FX (Euro) CPER “ HG (copper, from 2012) FXY “ JY (Japnese Yen) JO “ KC (coffee, from 2018) COW “ LC/LE (live cattle, from 2018) HOGS “ LH (lean hogs) QQQ “ NQ (Nasdaq 100) UNG “ NG (natural gas) SOYB “ S (soybeans, from Sep 2011) CANE “ SB (sugar, from Sep 2011) SLV “ SI (silver) SPY “ ES (S&P 500) IEF “ TY/ZN (10-year US Treasury notes) |
Chart Type, Timeframe, Session, Time Zone:
Attribute | Value | Comments |
Chart Type | Regular Candlestick | Charting is only useful for validating entry and exit signals |
Timeframe / Interval(s) | One set of timeframes: 5 minute, 60 minute, Daily | Although we could derive highs and lows from the minute based data, the Daily price is needed as settlement prices often differ from the market prices. |
Session | Regular | The authors indicate that we should trade this only during the regular US stock trading session hours; no pre-market, post-market, or other overnight sessions |
Time Zone | Exchange |
Phase 2: Build
5. Manual Test
Pass. This passes on CORN. Aside from the novelty of using KAMA in the Bollinger band, this is still a trend-following system.
Let us look at the RSI entry method that I have introduced here:
The chart above shows that our entry was favorable by $.09, but since this is stop-and-reverse, the benefit is $.18, to account for both sides of the trade. In other words, we get a better exit and better entry at the same time. My manual test on this found a better entry 90% of the time on CORN. We will compare and contrast the results of this idea over the who portfolio in the Walk-Forward Analysis step.
6. Build
Process Diagram
Comments:
This took a lot of thinking and trial and error, but I figured it out. I will look for the signal flags first, then go to the RSI evaluation to see if we can trade. I forgot to add the step of setting the stop loss, but we can imply it. I really like how elegant and simple it is.
7. Unit Test
The unit test went well, with only a few bugs to resolve. Here is what it looks like on CANE:
You can see this idea relies on fat tail trades, like other trend-following systems.
Complete?
Phase 3: Test
8. Optimization
There is no optimization for this Another OddBall System.
9. Walk-Forward Analysis
I used data from January 1, 2010, through December 31, 2020. Some of the ETF instruments came online after that, so I just did the best I could.
Just on Profit Factor alone, this idea fails. Here is the breakdown by instrument:
Before we move along, let’s look at how the RSI entry method fared, through March 29, 2022:
Wow! We gained a .07 advantage in profit factor, with an additional $27k in net profit. Did it work? Heck yeah!
Back down on earth, the idea failed, so we can advance to the Notes and Commentary.
10. Monte Carlo Simulation
We did not make it this far.
11. Incubation
We did not make it this far.
Phase 4: Deploy
12. Production / Portfolio Assignment
We did not make it this far.
Trading System Result: FAIL
Notes and Commentary
Let’s be honest here. If I see a trading strategy or idea with a goofy name, there is probably a good chance that I am going to try to prove it through our trading system development process. Another Oddball System… it failed, but it was very interesting. I have never built a system on Bollinger Bands, so that was a blast. Using Kaufman’s Adaptive Moving Average, which is one of my favorite technical analysis methods, was a cool and novel idea. It provides a lot of smoothing, and maybe too much lag.
Why did this Another OddBall System fail?
There are a few possible reasons, maybe one, some, or all of these:
- The ETF’s did not provide a good proxy for the futures they were trying to emulate
- There is not enough leverage with these ETF’s for this to have been profitable
- The ETF’s did not all have the same inception date, so we were not trading all 18 symbols from the beginning of our walk-forward analysis
- Some ETF’s were based on futures, some on physical assets (e.g. gold), and some on equities
- I had to do money management at the instrument level, rather than the portfolio level, as I have not quite figured out how to do that on my platform (yet)
- It just doesn’t work any longer, though I cannot determine this without being able to test against all the futures instruments
I do not know if the reinvestment of capital is a good idea, meaning that the bet size increases as equity increases. I did some testing on another system a few weeks ago and I found that when I reinvest 100% of my net profits, overall profitability declined. I think that using a fixed bet size, not reinvesting, or reinvesting only a fraction of net profit may work better.
Aside from these points, I cannot provide too much insight on the outcome since this Another OddBall System was a new idea for me and relatively unknown. Regardless, I am very happy with the results of the delayed entry I created using the RSI. I am guessing this should improve, over the long-term, any breakout, swing, or trend-following system entry. I am particularly thinking of Parabolic SAR (PSAR), another stop-and-reverse method. We have a few systems in our catalog based on PSAR, so I am going to try to apply this to those systems.
Continuous Improvement Department:
Here are a couple things that I will try to improve:
- Try this on futures instruments
- Try this on equities
- Use a fraction of net profit for reinvestment rather than a full 100%
I do not think optimization would help this Another OddBall System idea. I did a little tweaking to the lookback periods and there was very little change in the Bollinger Bands on the chart. I really had to dig for information on this system which tells me that maybe this is one of those ideas that worked for a while until it did not. The idea is over 20 years old, and some trading ideas do not age well.
Next Trading System Idea: I have not decided on the next system, though I have a few ideas in my queue that I want to build and torture through testing. I will probably be trying an idea from Linda Bradford-Raschke…something with a clever name (she is always good for a clever name).
As always, thank you for reading. If you find this post useful, share it, subscribe to our twice-monthly newsletter, and check out some of our other systems. Do you have a trading idea that you want me to put through our process to see if it would make a valid trading system? Leave a comment below and we can discuss.
Sources/References
- Another Oddball System, Active Trader Magazine, May 2004
- Bollinger Bands – Wikipedia
- Adaptive Moving Average, Trading Systems and Methods 6th ed., Perry J. Kaufman, pp. 778-882
Did you like what you read? Do you want to see more? Subscribe now and receive our email twice per month, with the Trading System Idea of the Week and other fun stuff.
Don’t worry, we will never, ever, ever sell, overuse, or donate your email address. Promise.
Did you like what you read? Do you want to see more? Subscribe now and receive our email twice per month, with the Trading System Idea of the Week and other fun stuff.
Don’t worry, we will never, ever, ever sell, overuse, or donate your email address. Promise.