- in Research , Trend Following by Cesar Alvarez
Avoiding Volatile Trades
In my last blog post, Using Historical Volatility for Parameter Adjustment, I tested using historical volatility to determine trade rules. While reading the July 2022 Technical Analysis of Stocks & Commodities, I came across an article, “Is It Too Volatile To Trade?” by Perry Kaufman. I always like his work so I was interested to see what he had to say. He uses standard deviation from the median historical volatility to decide if a stock is too volatile. He points out that even though returns may be positive during volatile times, it comes with higher risk.
From my own research, I frequently use historical volatility (HV) in my strategies. Most of the time focusing on high HV because these are the stocks that are moving. But when I am trying to tame down drawdowns, I change the focus to low HV stocks. Kaufman’s concept is similar but not something I had tried.
Baseline
Test date rage: 2007-2021.
In the article, he had simple rules that he tested on individual stocks. I have changed them slightly and converted to a portfolio. First, we need a baseline without a HV filter
Buy Rules
- Stock is a member of the Nasdaq 100
- For the last 5 days, today’s 100-day moving average is greater than the previous day’s 100-day moving average.
- Entry is on the next open
- Maximum 10 stocks ranked by 20-day HV from high to low
Sell Rules
- For the last 5 days, today’s 100-day moving average is less than the previous day’s 100-day moving average.
For the second buy rule and sell rule, the article used 1 day over and 70-day for the moving average. I changed this to 5 to avoid whipsaws and 100 because I like round numbers and makes my future optimizations easier.
Results
These are in line to what I was expecting. Now let’s try adding the volatility rules
Volatility Rules
For these rules, we need to calculate the median 20-day HV over the last 2 years and calculate the standard deviation of the HV over the last 2 years. See here for how to calculate historical volatility.
Buy Rules
- Stock is a member of the Nasdaq 100
- For the last 5 days, today’s 100-day moving average is greater than the previous day’s 100-day moving average.
- Current 20-day HV is less than median HV plus one standard deviation
- Entry is on the next open
- Maximum 10 stocks ranked by 20-day HV from high to low
Sell Rules
- For the last 5 days, today’s 100-day moving average is less than the previous day’s 100-day moving average.
- Current 20-day HV is greater than median HV plus two standard deviations
Results
This results in a drop in MDD but also at a substantial drop in CAR. Not what we are looking for.
Optimization Results
What about optimizing the standard deviation entry and exit? Maybe for a portfolio, there are better numbers to be using.
Out of 40 combinations, 7 gave a good improvement in the MDD. I would want more. But I did find it interesting that all the best results are for the standard deviation entry of below zero. This is saying we want the current HV to be under the median.
Spreadsheet
Fill in the form below to get the spreadsheet with lots of additional information. See the results of all variations from the optimization run. This includes top drawdowns, trade statistics and more.
Final Thoughts
From my experience, trend following strategies ranking by the lowest HV reduces drawdowns with minimal impact on returns. This method of filtering out the higher HV stocks seems to produce similar results. What I found interesting was that focusing on the stocks below their average HV gave the best results. Stocks that have gone quite compared to the average.
Future potential tests include testing different lengths of the moving average and lengths of the historical volatility.
I have a Nasdaq 100 strategy I must try this on and see how it changes the results.
Backtesting platform used: AmiBroker. Data provider: Norgate Data (referral link)