Category Archives: EDS

What it Will Take to Get Commodities Moving

I keep seeing headlines about the “imminent” re-emergence of commodities as a viable investment as an asset class.  And as I wrote about here, I mostly agree wholeheartedly that “the worn will turn” at some point in the years ahead, as commodities are historically far undervalued relative to stocks.

The timing of all of this is another story.  Fortunately, it is a fairly short and simple story.  In a nutshell, it goes like this:

*As long as the U.S. Dollar remains strong, don’t bet heavy on commodities.

The End

Well not exactly. 

The 2019 Anomaly

The Year 2019 was something of an anomaly as both the U.S. Dollar and precious metals such as gold and silver rallied.  This type of action is most unusual.  Historically gold and silver have had a highly inverse correlation to the dollar.  So, the idea that both the U.S. Dollar AND commodities (including those beyond just precious metals) will continue to rise is not likely correct.

Commodities as an Asset Class

When we are talking “commodities as an asset class” we are talking about more than just metals.  We are also talking about more than just energy products. 

The most popular commodity ETFs are DBC and GSG as they are more heavily traded than most others.  And they are fine trading vehicles.  One thing to note is that both (and most other “me too” commodity ETFs) have a heavy concentration in energies.  This is not inappropriate given the reality that most of the industrialized world (despite all the talk of climate change) still runs on traditional fossil fuel-based energy.

But to get a broader picture of “commodities as an asset class” I focus on ticker RJI (ELEMENTS Linked to the Rogers International Commodity Index – Total Return) which diversifies roughly as follows:

Agriculture          40.90%

Energy               24.36%

Industrial Metals 16.67%

Precious Metals    14.23%

Livestock               3.85%

Note that these allocations can change over time, but the point is that RJI has much more exposure beyond the energy class of assets than alot of other commodity ETFs.

RJI vs. the Dollar

As a proxy for the U.S. Dollar we will use ticker UUP (Invesco DB US Dollar Index Bullish Fund).  Figure 1 displays the % gain/loss for UUP (blue line) versus RJI (orange line) since mid-2008.

Figure 1 – UUP versus RJI; Cumulative Return using weekly closing prices; May-2008-Sep-2019

*Since May of 2008 UUP has gained +17.2%

*Since May of 2008 RJI has lost -60%

The correlation in price action between these two ETFs since 2008 is -0.76 (a correlation of -1.00 means they are perfectly inverse), so clearly there is (typically) a high degree of inverse correlation between the U.S. dollar and “commodities”.

Next, we will apply an indicator that I have dubbed “MACD4010501” (Note to myself: come up with a better name).  The calculations for this indicator will appear at the end of the article (but it is basically a 40-period exponential average minus a 105-period exponential average).  In Figure 2 we see a weekly chart of ticker UUP with this MACD indicator in the top clip and a weekly chart of ticker RJI in the bottom clip.

Figure 2 – UUP with Jay’s MACD Indicator versus ticker RJI (courtesy AIQ TradingExpert )

Interpretation is simple:

*when the MACD indicator applied to UUP is declining, this is bullish for RJI

*when the MACD indicator applied to UUP is rising, this is bearish for RJI.

Figure 3 displays the growth of equity achieved by holding RJI (using weekly closing price data) when the UUP MACD Indicator is declining (i.e., RJI is bullish blue line in Figure 3) versus when the UUP MACD Indicator is rising (i.e., RJI is bearish orange line in Figure 3).

Figure 3 – RJI cumulative performance based on whether MACD indicator for ticker UUP is falling (bullish for RJI) of rising (bearish for RJI)

In sum:

*RJI gained +45.8% when the UUP MACD indicator was falling

*RJI lost -72.3% when the UUP MACD indicator was rising

The bottom line is that RJI rarely makes much upside headway when the UUP MACD Indicator is rising (i.e., is bearish for RJI).

Summary

Commodities as an asset class are extremely undervalued on a historical basis compared to stocks.  However, the important thing to remember is that “the worm is unlikely to turn” as long as the U.S. Dollar remains strong.

So, keep an eye on the U.S. Dollar for signs of weakness.  That will be your sign that the time may be coming for commodities.

FYI: Code for Jay’s MACD4010501 Indicator (AIQ TradingExpert EDS)

The indicator is essentially a 40-period exponential average minus a 105-period exponential average as shown below:

Define ss3 40.

Define L3 105.

ShortMACDMA3 is expavg([Close],ss3)*100.

LongMACDMA3 is expavg([Close],L3)*100.

MACD4010501 is ShortMACDMA3-LongMACDMA3.

Jay Kaeppel

Disclaimer: The information, opinions and ideas expressed herein are for informational and educational purposes only and are based on research conducted and presented solely by the author.  The information presented does not represent the views of the author only and does not constitute a complete description of any investment service.  In addition, nothing presented herein should be construed as investment advice, as an advertisement or offering of investment advisory services, or as an offer to sell or a solicitation to buy any security.  The data presented herein were obtained from various third-party sources.  While the data is believed to be reliable, no representation is made as to, and no responsibility, warranty or liability is accepted for the accuracy or completeness of such information.  International investments are subject to additional risks such as currency fluctuations, political instability and the potential for illiquid markets.  Past performance is no guarantee of future results.  There is risk of loss in all trading.  Back tested performance does not represent actual performance and should not be interpreted as an indication of such performance.  Also, back tested performance results have certain inherent limitations and differs from actual performance because it is achieved with the benefit of hindsight.

Exponential Deviation Bands

The importable AIQ EDS file based on Vitali Apirine’s article in July 2019 Stocks & Commodities issue, “Exponential Deviation Bands,”

and a recreated Excel spreadsheet similar to the one shown in the article can be obtained on request via email to info@TradersEdgeSystems.com. The code is also shown here:

Exponential deviation (ED) bands are plotted above and below a moving average (MA) from which the bands are calculated. An exponential deviation from the moving average is used to set the bands. ED bands can be used with either a simple moving average (SMA) or an exponential moving average (EMA). The moving average dictates direction, and the exponential deviation sets band width. Breakouts from the band and changes in the band’s direction can help identify price trends and price reversals. These bands can be used on a variety of securities with its standard settings.

!EXPONENTIAL DEVIATION BANDS
!Author: Vitali Apirine, TASC July 2019
!Coded by: Richard Denning, 5/15/2019
!www.TradersEdgeSystems.com

C is [close].
Periods is 20. 

MA20 is simpleavg(C,Periods).   !expavg(C,Periods).  !or simpleavg(C,Periods). 
MDev20 is (Abs(MA20-C)+Abs(MA20-valresult(C,1))+Abs(MA20-valresult(C,2))+Abs(MA20-valresult(C,3))
      +Abs(MA20-valresult(C,4))+Abs(MA20-valresult(C,5))+Abs(MA20-valresult(C,6))+Abs(MA20-valresult(C,7))
     +Abs(MA20-valresult(C,8))+Abs(MA20- valresult(C,9))+Abs(MA20- valresult(C,10))+Abs(MA20- valresult(C,11))
     +Abs(MA20- valresult(C,12))+Abs(MA20- valresult(C,13))+Abs(MA20- valresult(C,14))+Abs(MA20- valresult(C,15))
      +Abs(MA20- valresult(C,16)) +Abs(MA20- valresult(C,17))+Abs(MA20- valresult(C,18))+Abs(MA20- valresult(C,19)))/20.

Dev is Abs(MA20-C).  
Rate is 2/( Periods +1).  

DaysInto is ReportDate() - RuleDate().
Stop if DaysInto >= 200.
stopEXD is iff(Stop,Mdev20, EXD).
EXD is Dev*Rate + valresult(stopEXD,1)*(1-Rate).

UpperExp is MA20+2*EXD.  
MidExp is MA20.  
LowerExp is MA20-2*EXD. 

ShowValues if 1.

Figure 9 shows the exponential deviation bands centered on a 20-bar simple moving average on a chart of the New York Composite Index (NYA).

Sample Chart

FIGURE 9: AIQ. Here are exponential deviation bands centered on a 20-bar simple moving average on a chart of the New York Composite Index (NYA).

—Richard Denning
info@TradersEdgeSystems.com
for AIQ Systems

Backtesting A Mean-Reversion Strategy In Python

The importable AIQ EDS file based on Anthony Garner’s article in May 2019 Stocks & Commodities “Backtesting A Mean-Reversion Strategy In Python,” can be obtained on request via email to info@TradersEdgeSystems.com. The code is also shown below.

I backtested the author’s mean-reversion system (MeanRev.eds) using both the EDS module, which tests every trade on a one-share basis, and also via the Portfolio Manager, which performs a trading simulation.

The short side strategy showed a loss overall in the EDS test so I tested only the long side in the Portfolio Manager. I selected trades using the z-score, taking the lowest values.

For capitalization, I used max of three trades per day with a max total of 10 open trades at one time, 10% allocated to each position. I did not deduct slippage but did deduct commissions. I used a recent list of the NASDAQ 100 stocks to run the test. The equity curve and account statistics report are shown in Figure 7.

Sample Chart

FIGURE 7: AIQ. This shows the equity curve (blue line) from long-only trading the NASDAQ 100 list of stocks from 1999 to March 15, 2019. The red line is the NDX index.

!Backtesting a Mean-Reversion Strategy In Python !Author: Anthony Garner, TASC May 2019 !Coded by: Richard Denning 3/14/19 !www.TradersEdgeSystems.com 

!ABBREVIATIONS:
C is [close].

!INPUTS:
meanLen is 10.
longZmult is -1.
shortZmult is 1.
meanMult is 10.

!FORMULAS:

SMA is simpleavg(C,meanLen).
LMA is simpleavg(C,meanLen*meanMult).
STD is sqrt(variance(C,meanLen)).
zScore is (C - SMA) / STD.

!TRADING SIGNALS & EXITS:

buyLong if zScore < longZmult and SMA > LMA.
sellShort if zScore > shortZmult and SMA < LMA.
exitLong if valresult(zScore,1) < -0.5 and zScore > 0.5.
exitShort if valresult(zScore,1) > 0.5 and zScore < -0.5.

showValues if 1.

—Richard Denning
info@TradersEdgeSystems.com
for AIQ Systems

What the Hal?

Some industries are cyclical in nature.  And there is not a darned thing you – or they – can do about it.  Within those industries there are individual companies that are “leaders”, i.e., well run companies that tend to out earn other companies in that given industry and whose stock tends to outperform other companies in that industry.

Unfortunately for them, even they cannot avoid the cyclical nature of the business they are in.  Take Halliburton (ticker HAL) for example.  Halliburton is one of the world’s largest providers of products and services to the energy industry.  And they do a good job of it. Which is nice.  It does not however, release them from the binds of being a leader in a cyclical industry.

A Turning Point at Hand?

1

A quick glance at Figure 1 clearly illustrates the boom/bust nature of the performance of HAL stock.Figure 1 – Halliburton (HAL) (Courtesy AIQ TradingExpert)

Which raises an interesting question: is there a way to time any of these massive swings?  Well here is where things get a little murky.  If you are talking about “picking timing tops and bottoms with uncanny accuracy”, well, while there are plenty of ads out there claiming to be able to do just that, in reality that is not really “a thing”.  Still, there may be a way to highlight a point in time where:

*Things are really over done to the downside, and

*For a person who is not going to get crazy and “bet the ranch”, and who understands how a stop-loss order works and is willing to use one…

..there is at least one interesting possibility.

It’s involves a little-known indicator that is based on a more well-known another indicator that was developed by legendary trader Larry Williams roughly 15 or more years ago.  William’s indicator is referred to as “VixFix” and attempts to replicate a VIX-like indicator for any market.  The formula is pretty simple, as follows  (the code is from AIQ Expert Design Studio):

*hivalclose is hival([close],22).

*vixfix is (((hivalclose-[low])/hivalclose)*100)+50.

In English, it is the highest close in the last 22-periods minus the current period low, which is then divided by the highest close in the last 22-periods. The result then gets multiplied by 100 and 50 is added.

Figure 2 displays a monthly chart of HAL with William’s VixFix in the lower clip.  In a nutshell, when price declines VixFix rises and vice versa.

2

Figure 2 – HAL Monthly with William’s VixFix (Courtesy AIQ TradingExpert)

Now let’s go one more step as follows by creating an exponentially smoothed version as follows (the code is from AIQ Expert Design Studio):

*hivalclose is hival([close],22).

*vixfix is (((hivalclose-[low])/hivalclose)*100)+50. <<<Vixfix from above

*vixfixaverage is Expavg(vixfix,3).  <<<3-period exponential MA of Vixfix

*Vixfixaverageave is Expavg(vixfixaverage,7). <<<7-period exp. MA

I refer to this as Vixfixaverageave (Note to myself: get a better name) because it essentially takes an average of an average.  In English (OK, sort of), first Vixfix is calculated, then a 3-period exponential average of Vixfix is calculated (vixfixaverage) and then a 7-period exponential average of vixfixaverage is calculated to arrive at Vixfixaverageave (got that?)

3

Anyway, this indicator appears on the monthly chart for HAL that appears in Figure 3.Figure 3 – HAL with Vixaverageave (Courtesy AIQ TradingExpert)

So here is the idea:

*When Vixfixaverageave for HAL exceeds 96 it is time to start looking for a buying opportunity.

OK, that last sentence is not nearly as satisfying as one that reads “the instant the indicator reaches 96 it is an automatic buy signal and you can’t lose”.  But it is more accurate.  Previous instances of a 96+ reading for Vixfixaverageave for HAL appear in Figure 4.

4

Figure 4 – HAL with previous “buy zone” readings from Vixfixaverageave (Courtesy  AIQ TradingExpert)

Note that in previous instances, the actual bottom in price action occurred somewhere between the time the indicator first broke above 96 and the time the indicator topped out.  So, to reiterate, Vixfixaverageave is NOT a “precision timing tool”, per se.  But it may be useful in highlighting extremes.

This is potentially relevant because with one week left in May, the monthly Vixfixaverageave value is presently above 96.  This is NOT a “call to action”.  If price rallies in the next week Vixfixaverageave may still drop back below 96 by month-end.  Likewise, even if it is above 96 at the end of May – as discussed above and as highlighted in Figure 4, when the actual bottom might occur is impossible to know.

5

Let me be clear: this article is NOT purporting to say that now is the time to buy HAL.  Figure 5 displays the largest gain, the largest drawdown and the 12-month gain or loss following months when Vixfixaverageave for HAL first topped 96.  As you can see there is alot of variation and volatility.  

Figure 5 – Previous 1st reading above 96 for HAL Vixfixaverageave

So HAL may be months and/or many % points away from an actual bottom.  But the main point is that the current action of Vixfixaverageave suggests that now is the time to start paying attention.

Jay Kaeppel

Disclaimer:  The data presented herein were obtained from various third-party sources.  While I believe the data to be reliable, no representation is made as to, and no responsibility, warranty or liability is accepted for the accuracy or completeness of such information.  The information, opinions and ideas expressed herein are for informational and educational purposes only and do not constitute and should not be construed as investment advice, an advertisement or offering of investment advisory services, or an offer to sell or a solicitation to buy any security.

An Obscure but Potentially Useful Oversold Indicator

Trend-following is essentially a “tried and true’ approach to investing.  But overbought/oversold (i.e., attempting to buy low/sell high) – that’s where the “excitement” is.  Of course, when it comes to trading and investing, “excitement” can be highly overrated.  Nevertheless, in this piece I want to talk about a relatively obscure indicator that may be useful in identifying vastly oversold situations.

EDITORS NOTE: The AIQ EDS file for Jay Kaeppel’s indicator is available to download at

The VixRSI14 Indicator

Part of the reason this indicator is obscure is because I think I “invented” it – but only by mashing together an indicator from Larry Williams and an indicator from Welles Wilder.  The first part is the standard Welles Wilder 14-day Relative Strength Index, more commonly referred to as “RSI”.

The 2nd part of VixRSI14 is an indicator created by famed trader Larry Williams which he dubbed “VixFix”.  This indicator is an effort to create a “Vix Index-like” indicator for any security.

AIQ TradingExpert code for these indicators appears at the end of the article.

A Few Notes

*For the record, VixRSI14 is calculated by taking a 3-day exponential average of VixFix and dividing that by a 3-day exponential average of RSI14 (are we having fun yet?).  Please see code at the end of the article.

*I prefer to use VixRSI14 using weekly data rather than daily data

*(Unfortunately) There are no “magic numbers” that indicate that a completely risk-free, you can’t lose, just buy now and watch the money roll in” buying opportunity is at hand (Disclaimer: If there was, I would probably just keep it to myself and not bother writing the article – sorry, it’s just my nature).  That being said, a decent “rule of thumb” is to look for a reading above 3.5 followed by a downside reversal.

(Click any chart below to enlarge)

With those thoughts in mind, Figure 1 displays a weekly chart of Wynn Resorts (WYNN) with the two indicators plotted separately below the bar chart.1

Figure 1 – WYNN with William’s VixFix and Wilder’s RSI 14-day (Courtesy AIQ TradingExpert)

Note that as price declines, VixFix tends to rise and RSI14 tends to fall.  VIXRSI14 essentially identifies “extremes” in the difference between these two.  Figure 2 displays WYNN with VixRSI14 plotted below the bar chart.

2

Figure 2 – WYNN with VixRSI14 (Courtesy AIQ TradingExpert)

More “examples” appear in Figures 3 through 8 below.

3

Figure 3 – AMD (Courtesy AIQ TradingExpert)

4

Figure 4 – BAC (Courtesy AIQ TradingExpert)

5

Figure 5 – DISH (Courtesy AIQ TradingExpert)

6

Figure 6 – GRMN (Courtesy AIQ TradingExpert)

7

Figure 7 – NTAP (Courtesy AIQ TradingExpert)

8

Figure 8 – YHOO (Courtesy AIQ TradingExpert)

Summary

As always, I merely present “ideas” here at JOTM.  So, do not assume from the charts above that you have found the “keys to the kingdom”.  But if used in conjunction with other confirming indicators – and remembering to employ some sort of risk control for those instances when a stock price decline fails to arrest itself even after VixRSI4 peaks above 3.5 – VixRSI14 may hold some value.

Indicator Code

EDITORS NOTE: The AIQ EDS file for Jay Kaeppel’s indicator is available to download at

Below is the code for VixFix, RSI14 and VixRSI14 from AIQ Expert Design Studio.

!#######################################

!VixFix indicator code

hivalclose is hival([close],22).

vixfix is (((hivalclose-[low])/hivalclose)*100)+50.

!#######################################

!#######################################

!RSI14 code

Define days14 27.

U14 is [close]-val([close],1).

D14 is val([close],1)-[close].

AvgU14 is ExpAvg(iff(U14&gt;0,U14,0),days14).

AvgD14 is ExpAvg(iff(D14&gt;=0,D14,0),days14).

RSI14 is 100-(100/(1+(AvgU14/AvgD14))).

!#######################################

!#######################################

!VixRSI14 code

VixRSI14 is expavg(vixfix,3)/expavg(RSI14,3).

!#######################################

Jay Kaeppel

Disclaimer:  The data presented herein were obtained from various third-party sources.  While I believe the data to be reliable, no representation is made as to, and no responsibility, warranty or liability is accepted for the accuracy or completeness of such information.  The information, opinions and ideas expressed herein are for informational and educational purposes only and do not constitute and should not be construed as investment advice, an advertisement or offering of investment advisory services, or an offer to sell or a solicitation to buy any security.