Seasonal Global Equity Rotation Strategy with Hemispheric and Sector Timing
Log in to collectAcademic paper
Strategy in a nutshell
Invest in global stocks from November to April, then hold cash from May to October. Alternatively, consider going long on Northern Hemisphere stocks in winter and Southern Hemisphere stocks in summer. Another option is to invest in cyclical companies during the winter months and short defensive stocks, then switch positions during the summer. This strategy allows for adapting to seasonal market trends and potentially maximizing returns based on geographical or sectoral variations.
Economic rationale
Value and momentum strategies are extensively studied, offering two potential explanations. Firstly, Kamstra, Kramer, and Levi (2003) or Garret, Kamstra, and Kramer (2004) suggest a seasonal pattern driven by the Seasonal Affective Disorder (SAD) effect, where winter depression reduces risk tolerance. Psychological literature links SAD to shorter days in fall and winter, inducing depression and risk aversion, impacting stock returns seasonally, termed the SAD effect. Alternatively, seasonal results may arise from an optimism cycle. Towards the year-end, investors optimistically anticipate the coming year, initially yielding attractive stock returns. However, reality sets in after a few months, leading to investor pessimism and a summer market lull. Psychological factors play a role, urging investors to overweight equities from November to April and underweight them from May to October.
Backtest performance
Full Python code
from MyAlgos import *
class SeasonalEquityStrategy(XXX):
def Initialize(self):
self.SetStartDate(2005, 1, 1)
self.SetCash(100000)
self.AddEquity("AAPL", Resolution.Daily)
self.AddEquity("GOOG", Resolution.Daily)
self.Schedule.On(self.DateRules.MonthStart("AAPL"), self.TimeRules.AfterMarketOpen("AAPL"), self.Rebalance)
def Rebalance(self):
if self.Time.month == 6:
self.Liquidate("AAPL")
if self.Time.month == 12:
self.SetHoldings("AAPL", 1)