Two basic types of quantitative strategies

Tadas Talaikis
BlueBlood
Published in
2 min readAug 16, 2018
Photo by Voicu Oara from Pexels

Today’s finance world is very creative and complex. There is no shortage of ideas what or how to trade. However, we can classify all quantitative trading strategies into two basic categories:

  1. Mean reversion strategies.
  2. Momentum (“trend following”) strategies.

Mean reversion refers to data (prices, in our case) going back to the longer term mean. They usually have high smaller wins rate. Examples of such strategies are statistical, information arbitrage, pair trading (also form of arbitrage), autoregressive models, etc.

Momentum strategies rely on asset’s future growth, have lower bigger wins rate.

Today’s market, unlike before 80-ies computer revolution, are (on long term average) mean reverting, saying that markets had become more efficient and that mindless “trend following” trades were arbitraged away with faster computer trading.

Let’s see what autocorrelation shows:

acorr = df['ret'].corr(df['ret'].shift())
print(acorr)
-0.06394201323877356

Yep, seems, the chosen asset is weakly mean reverting taking into account past 20 years.

Let’s confirm with some simple test of these two strategies on the same asset to see which one performs best. Mean reversion part will bet on mean reverting buying each time asset goes down and will go short when asset goes up. Vice versa, momentum strategy will bet buying when asset goes up and will go short when asset goes down. No commissions will be accounted here.

from numpy import where
from matplotlib import pyplot as plt
from app.data import get_pickle
def main():
df = get_pickle('tiingo', 'SPY')
df['ret'] = df['SPY_Close'].pct_change()
df['Mean Reversion'] = where(df['ret'] > 0, -1, 1)
df['Momentum'] = where(df['ret'] > 0, 1, -1)
df[['Mean Reversion', 'Momentum']].cumsum().plot()
plt.show()

As we can see, mean reversion for SPY clearly prevails, at least since 1994.

--

--