SPY ETF: Three down days and gap up?

Backtesting this overnight mean reversion trading idea from Quantified Strategies:

  • SPY must be down 3 days in row (from close to close).
  • Entry on close on the 3rd doen day
  • Exit next day open
spy_daily=quandl.get("YAHOO/INDEX_SPY",start_date="2001-1-1")

signal =( (spy_daily.Close < spy_daily.shift(1).Close) &
          (spy_daily.shift(1).Close < spy_daily.shift(2).Close) &
          (spy_daily.shift(2).Close < spy_daily.shift(3).Close))

multiplier=1E5

profits=(signal*multiplier*(spy_daily.shift(-1).Open-spy_daily.Close))
returns=(signal*(-1+spy_daily.shift(-1).Open/spy_daily.Close))

profits.cumsum().plot()

# hit rate
len(profits[profits>0])/signal.sum()

# sharpe
np.sqrt(252) * (np.mean(returns)) / np.std(returns)

Looks like it has lost its edge in the last three years: