# Overnight and intraday returns of stock index and ETF seem inconsistent

Figure 2 of the 2019 paper "Celebrating Three Decades of Worldwide Stock Market Manipulation" shows that 29 Jan 1993 to 31 Oct 2019, overnight returns (from close to open) of SPY were 1232% while intraday returns (from open to close) were –14%.

Surprisingly, the opposite holds for the S&P500 index i.e. intraday returns beat overnight returns. To demonstrate this, we can download a file "^GSPC.csv" from Yahoo Finance and run this script:

import pandas as pd
import matplotlib.pyplot as plt
prices = pd.read_csv("^GSPC.csv", parse_dates = ["Date"]).set_index("Date")

indayRet = (prices["Close"] / prices["Open"]).cumprod() - 1
nightRet = (prices["Open"] / prices["Close"].shift(1)).cumprod() - 1

plt.plot(nightRet, label = "Overnight")
plt.plot(indayRet, label = "Intraday")
plt.legend(frameon = False)
plt.show()


Over the same period, cumulative overnight and intraday returns of S&P500 were 25% and 457% respectively.

Could dividends explain the opposite conclusions? They shouldn't because the returns of SPY and S&P500 both included dividends.

Anyway, I ran the same script for SPY prices without dividends, and found that cumulative overnight and intraday returns were 706% and –14% respectively.

### Question

Why do intraday returns beat overnight returns for S&P500, while the opposite holds for SPY?

• SPY is a tradeable instrument, ^GSPC is not tradeable. In particular at the open (9:30 am New York time) the value for ^GSPC is not reliable because it averages together prices of stocks that are trading with yesterday closing prices for those stocks that have not started trading yet (it takes several minutes before all 500 stocks start trading and therefore have a fresh price available). So your estimate of close to open return for ^GSPC is not achievable. You could use S&P futures (another tradeable instrument) if you want to compute an accurate close to open return, but don't use ^GSPC. Apr 26, 2020 at 19:53