This Trading System Idea of the Week is another scalping idea, but this time one based on volume. The idea is to take a trade when the volume is greater than 2 times the average volume. Why volume? I expect that a spike in volume is probably accompanied by volatility in price, so I want to see if there is a trading opportunity.
For this idea to work, I need a market with lots of volume, a timeframe that allows a decent averaging of volume. I will use the four major U.S. index futures and a 720 minute timeframe, which equates to two bars per trading session (23 hour sessions). This allows me to have a good average volume, which will make more sense when you see it in the Trading Idea section. Let’s do this!
Phase 1: Plan & Design
1. Trading Idea
The idea is simple: if volume spikes to greater than 2 times the 20-period average volume, take a trade in the same direction as the bar that had the spike. I will set a modest profit target based on the True Range (TR) of the signal bar. Here is a visual depiction
The final two pieces of this system will be a stop loss based on a fraction of TR and I will exit after 1 bar if profit target or stop loss are not hit.
2. System Definition
- Futures: 1 contract
- If Volume > 2 x Volume Average and Close > Open
- Buy next bar at market
- If Volume > 2 x Volume Average and Open > Close
- Sell short next bar at market
- TR * Big Point Value * TR Stop Loss Multiple
- TR * Big Point Value * TR Profit Target Multiple
- Exit after 1 bar if still in position
|TRProfit(.1)||double||yes||This is the multiple used for Profit Target|
|TRStopLoss(.5)||double||yes||This is the multiple used for Stop Loss|
3. Performance Objectives
The system will meet the following objectives:
|Strategy Type (trend, mean-reversion, |
day, swing, etc.)
|Risk of ruin||0%|
|Profit Factor||> 1.5|
|Win Percent||>= 50%|
|Max Drawdown %||< 35%|
|Profit/Drawdown Ratio||> 2.0|
This idea is S.M.A.R.T.: Specific, Measurable, Achievable, Realistic, Time-bound
4. Market Selection
I just want to focus on U.S. index futures, mainly because I want to add to my inventory of index systems.
|Index Futures||E-minis: S&P, Dow, Russell 2000, Nasdaq||ES, YM, RTY, NQ|
Chart Type, Timeframe, Session, Time Zone:
|Chart Type||Regular Candlestick||Charting is only useful for validating entry and exit signals|
|Timeframe / Interval(s)||720 minutes||This allow for two bars per 23 hour session|
Phase 2: Build
5. Manual Test
The manual test was easy, as this is a very simple idea. I tested on E-mini Russell 2000 Index futures over the past two months and it looks good enough to pursue. On to the build!
This was easy.
7. Unit Test
The unit test was successful. There were some bugs that I figured out. The biggest problems was that I was not multiplying the contract size (Big Point Value) by the TR and TR mutipliers for stop loss and profit target. Here is what trades look like on-chart:
Note: Unit Test verifies that the system is executing the trading rules correctly. It is, essentially, quality control.
Phase 3: Test
I decided that profit target and stop loss multipliers should be gently optimized, since I had no idea what parameters might work. Here are the ranges and steps:
|TRProfit||.1 to .5||.05|
|StopLoss||.1 to .5||.05|
This was optimized easily and quickly. I also used a variety of in/out period combinations. Now, let us see how it performed in walk-forward.
9. Walk-Forward Analysis
This is where most system ideas fall apart and this system is no exception. Profit Factor rules the day and is always my first stop in analysis. These are the ‘best’ performers:
Failure is okay. Failure allows us to improve. Here is an equity curve for the past two years on RTY using the default inputs, which explains why this idea looked good on a chart:
You can skip straight to the Notes and Commentary section.
10. Monte Carlo Simulation
We did not make it this far.
We did not make it this far.
Phase 4: Deploy
We did not make it this far..
Trading System Result: FAIL
Notes and Commentary
This was a cool idea that I really had hoped would work. If volume spikes, then I expect the price on the next bar to hop around a lot in both directions, thus the scalping idea. The reason it looked good was that in the past two years, there have been enough price shocks on nearly a daily basis to give us a chance to be profitable scalping.
You may ask: Why do you worry about what happened 10 years ago? Answer: the more data you have test a system with, the better your system will perform in the long run. These are not my words, but the words of experts running trading systems at successful hedge funds and CTA’s. If I only tested on the past two years, this volatility we see may be replaced with a long, slow trend, as we saw leading up to 2019, which is where this idea struggled. Using shorter back-testing periods will likely lead to rapid system decay, which is not a good thing. The larger the sample size, the more robust a system will be in the long-term.
Looking at some of the trades, I see lots of areas for improvement. From the Continuous Improvement Department:
- Using a trend filter, such as a moving average, to decide which direction to take the trade (replaced the up/down bar criteria)
- Expand testing to other futures instruments
- Use limit orders for entry; I noticed that because of volatility, the price almost always retraces to the prior bar’s close
- Experiment with a custom session time; currently the two bars close at 0500 and 1600 hours, so maybe different times will yield better results
That is all for this week’s Trading System Idea of the Week. Thank you for reading and I hope you enjoyed. Feel free to leave a comment below and let me know what you think.
Next week’s idea: I am going to bring back the Fisher Aggregate Index from last week, but with a new twist I thought of this week. Hint: it involves the Fibonacci sequence.
- Nothing this week…this idea just popped into my head
Did you like what you read? Do you want to see more? Subscribe now and receive our weekly email, 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.