Skip to content

Python implementation of Antonacci's GEM ("Global Equities Momentum") strategy

Notifications You must be signed in to change notification settings

alexjansenhome/GEM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GEM

Python implementation of Gary Antonacci's GEM ("Global Equities Momentum") dual momentum strategy as described in his best seller https://www.amazon.com/Dual-Momentum-Investing-Innovative-Strategy/dp/0071849440 and his blog: www.optimalmomentum.com.

The strategy first uses absolute returns to compare 12 month S&P500 returns against cash (1-3 month treasury bill) returns. If cash performed better the strategy invests in intermediate term bonds (Barclay's AGG). If the S&P500 performed better the strategy employs relative momentum to invest in the better of S&P500 and International stocks. Decisions are made on the last trading day of each month.

gem.py: A monthly momentum indicator, with a variety of lookbacks using ETF data from yahoo (VEU,IVV,BIL,AGG) and index data from MSCI as comparison/validation (Yahoo Finance has been unreliable lately, changing their API and often not giving proper adjusted close data).

gem_backtest.py: Python backtest code using historic data going back to either 1970 for dual momentum or 1926 for absolute momentum (no historic international data available pre-1970). Historic data is available in the 2 .csv files in this project. The code runs through several scenarios, illustrating the almost to-good-to-be-true performance of GEM against more traditional strategies such as 60%/40% stocks/bonds or even 100% stock investments.

About

Python implementation of Antonacci's GEM ("Global Equities Momentum") strategy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages