Back to Community
Overnight ETF appreciation

Attached you find a notebook comparing overnight returns with intraday returns for a bunch of 129 (mostly US) ETFs. I was interested whether:

  1. there is evidence that overnight returns are higher than intraday returns
  2. the classifiaction of the ETF (e. g. large-cap or developed country) plays a role
  3. there is a difference in behavior during earnings season
  4. how much upwards movement is actually possible
  5. there is autocorrelation in overnight returns and cross-sectional correlation with intraday returns

I found that the average overnight returns were higher than intraday returns for almost every year (for the period from 1995-2016). Furthermore, I noticed that developed countries with only partially overlapping trading hours with the US market show a different pattern than all other ETF categories. Even tough the earnings annoucement are all after the close of the markets I didn't find any evidence for seasonality in the overnight returns. The analysis of the different deciles indicated that the bottom deciles don't have substantially negative returns, whereas the top decile had with annual returns of generally above 30%, relatively high overnight returns. Finally, I found evidence for positive autocorrelation and cross-sectional correlations with monthly intraday returns for monthly overnight returns. Looking at daily returns lead to the conclusion that the autcorrelation of overnight returns is negative whereas the cross-sectional correlation with daily intraday returns in positive for various lags.

Please note that the prices used were taken from Yahoo to account for dividends and splits, since I started my workings before the Quantopian update allowing to get adjusted prices in the research environment.

Loading notebook preview...
Notebook previews are currently unavailable.
4 responses

For what it's worth... here's a simple algorithm that seems to show that holding overnight (ie buy at the close and sell at the open) are LESS than intra-day returns (ie buy at open and sell at close). One consideration with this approach is that Quantopian includes dividends. Dividends are only counted for a stock held at closing. Therefore, the 'overnight' algo get's a little boost from dividends which the 'intra-day' algo does not.

While this two year experiment seems to show that 'intra-day' returns are about twice the 'over-night' returns, if it's run for five years the results are just the reverse ('over-night' returns are about twice the 'intra-day' returns).

Attached is holding QQQ overnight and run two years 2015-2016. Return is 4.67%

Clone Algorithm
28
Loading...
Backtest from to with initial capital
Total Returns
--
Alpha
--
Beta
--
Sharpe
--
Sortino
--
Max Drawdown
--
Benchmark Returns
--
Volatility
--
Returns 1 Month 3 Month 6 Month 12 Month
Alpha 1 Month 3 Month 6 Month 12 Month
Beta 1 Month 3 Month 6 Month 12 Month
Sharpe 1 Month 3 Month 6 Month 12 Month
Sortino 1 Month 3 Month 6 Month 12 Month
Volatility 1 Month 3 Month 6 Month 12 Month
Max Drawdown 1 Month 3 Month 6 Month 12 Month
# Backtest ID: 588a511c011d78623b684320
There was a runtime error.

Here's the same algo but holding QQQ intra-day only. Return is twice the above at 12.25% (and this excludes dividends).

Probably should have set the benchmark to QQQ instead of the default SPY for a better comparison. Next time...

Clone Algorithm
28
Loading...
Backtest from to with initial capital
Total Returns
--
Alpha
--
Beta
--
Sharpe
--
Sortino
--
Max Drawdown
--
Benchmark Returns
--
Volatility
--
Returns 1 Month 3 Month 6 Month 12 Month
Alpha 1 Month 3 Month 6 Month 12 Month
Beta 1 Month 3 Month 6 Month 12 Month
Sharpe 1 Month 3 Month 6 Month 12 Month
Sortino 1 Month 3 Month 6 Month 12 Month
Volatility 1 Month 3 Month 6 Month 12 Month
Max Drawdown 1 Month 3 Month 6 Month 12 Month
# Backtest ID: 588a508d626a196182f63fbe
There was a runtime error.

Hi Dan,

many thanks for your reply. I actually used price data from yahoo to get the adjusted closing prices and according to those I adjusted also my opening prices for further analysis as you can see in the updated notebook above.

Given the evidence for positive autocorrelation in the overnight returns I created the below algorithm acquiring (at 15.59) 15 stocks (out of 100) with the highest average overnight returns over the past 90 businessdays and liquidating them at 9.31 the next day. The portfolio was rebalanced every single day.

Kind regards
Pascal

Clone Algorithm
110
Loading...
Backtest from to with initial capital
Total Returns
--
Alpha
--
Beta
--
Sharpe
--
Sortino
--
Max Drawdown
--
Benchmark Returns
--
Volatility
--
Returns 1 Month 3 Month 6 Month 12 Month
Alpha 1 Month 3 Month 6 Month 12 Month
Beta 1 Month 3 Month 6 Month 12 Month
Sharpe 1 Month 3 Month 6 Month 12 Month
Sortino 1 Month 3 Month 6 Month 12 Month
Volatility 1 Month 3 Month 6 Month 12 Month
Max Drawdown 1 Month 3 Month 6 Month 12 Month
# Backtest ID: 58a74c5b0a9ddf5e159bdb82
There was a runtime error.

I think the optimization here is to make this group of stocks a universe rather than a long, handwritten list. Have you tried that yet? That is what I will be working on at my earliest convenience and will get back on here to update.