The night effect: the full backtest
Hold QQQ only overnight, or buy and hold? Every rule, cost and number behind the video, the complete Python script, and the results for QQQ, SPY and IWM from 2000 to 2026.
Short version: holding QQQ only overnight turned $10,000 into $221,413 between 2000 and 2026, more than twice what buy and hold made ($98,661). But it trades 13,462 times. Charge 0.02% a trade and you're left with $14,991. Start in 2010 and buy and hold wins even when trading is free. The night effect is real. You just can't keep it.
The idea
Here's a rule that sounds too simple to work: buy QQQ at the close, sell it at the next morning's open, and sit in cash while the market is open.
It isn't a crazy idea. Researchers have shown for years that much of the US stock market's return comes while the market is closed (for example Cooper, Cliff and Gulen, 2008, "Return differences between trading and non-trading hours: Like night and day"). QQQ is no exception. Its average night gained 0.050%, its average trading day lost 0.002%, and 55% of nights ended higher.
How I tested it
I used QQQ's daily opening and closing prices from Norgate Data, adjusted for splits and dividends, from January 3, 2000 to October 7, 2026: 6,731 trading days. QQQ started trading in 1999, but that year's opening prices in the data are copies of the previous close, so the test starts in 2000.
I compared three ways of owning it:
Overnight only: buy at the official close, sell at the next official open. Each night earns open ÷ previous close − 1, and the money sits in cash during the day, earning nothing.
Daytime only: the opposite. Buy at the open, sell at the close.
Buy and hold: just own it, with no trading costs.
Costs are a percentage of each trade, charged when you buy and again when you sell. Overnight only trades twice a day, 13,462 times in all, so I tried 0%, 0.005%, 0.01%, 0.02%, 0.03%, 0.05% and 0.1% per trade. Every version starts with $10,000 and compounds, with no leverage and no taxes. I ran the same test on SPY (from 1998) and IWM (from May 2000).
Before costs, it looks brilliant
$10,000 held only overnight grew to $221,413, about 12.3% a year. Buy and hold reached $98,661 (9.0% a year). Held only during the day, the same money shrank to $4,456.
Overnight only also had about half of QQQ's volatility (14% a year against 27%), and its worst fall was 30%, against 83% for buy and hold through the dot-com crash. On paper it wins on every measure.
Then you pay for every trade
0.02% a trade sounds like nothing. But this strategy pays it 13,462 times, and 0.9998 multiplied by itself 13,462 times is about 0.07. The costs alone take 93% of the result.
At 0.005% a trade you'd still end with $112,932, a little ahead of buy and hold. At 0.01% you'd have $57,620, at 0.02% $14,991, and at 0.03% just $3,899, less than you started with.
Two break-even points sum it up. Overnight only matches buy and hold at 0.006% a trade, and it makes nothing at all at 0.023%.
"But trading is free now!"
Commissions are. The rest isn't. An ordinary order pays the spread every time. Market-on-close and market-on-open orders avoid it by trading in the closing and opening auctions, which is the price this backtest uses, but large orders still move auction prices, and every sale pays small regulatory fees. Then there are taxes: in a US taxable account, every overnight gain is a short-term gain taxed as ordinary income, while buy and hold defers the tax until you sell.
History matters too. In the 2000s, when the overnight edge was biggest, online brokers charged $5–$10 a trade: 0.05%–0.1% on a $10,000 position, far above break-even.
Change the start date and it falls apart
Start in January 2010 instead. Before any costs, buy and hold turns $10,000 into $191,507 (19.3% a year), while overnight only reaches $74,011 (12.7%). No cost assumption can fix that.
Decade by decade, the story is clear. In 2000–2009, overnight only made 11.6% a year while buy and hold lost 6.4%. In 2010–2019 it was 12.8% against 17.9%, and in 2020–2026 12.6% against 21.5%. Nearly the whole advantage came from one decade of crashes: in 2000 alone, overnight only gained 72% while QQQ lost 36%.
SPY and IWM
The broad market tells the same story more bluntly. SPY held only overnight from 1998 made 9.1% a year against 9.4% for buy and hold, so it trailed even with free trading, though with far smaller swings (11% volatility against 19%).
Small caps are the exception worth a closer look. Before costs, IWM held only overnight beat buy and hold from 2000 ($262,206 against $84,643) and again since 2010 ($82,676 against $55,672). But the edge is thin: it disappears at under 0.01% a trade (0.0085% from 2000, 0.0047% since 2010).
Someone tried to sell it
In 2022, two ETFs launched to capture exactly this: NightShares 500 (NSPY) and NightShares 2000 (NIWM), built to be exposed to the S&P 500 and the Russell 2000 only overnight. Both closed in 2023.
A note on data
An overnight backtest is only as good as its opening prices. On free Yahoo Finance data, the same QQQ test from 2000 gives $188,887 for overnight only and $98,514 for buy and hold. Buy and hold matches; the split between night and day differs because Yahoo's early opening prices differ from the exchange's official opens. The conclusion doesn't change: at 0.02% a trade you'd end with $12,788.
What I take from it
The night effect is real. For decades, overnight returns have been higher than daytime returns, with less risk. But harvesting it takes about 13,000 trades, most of its advantage came from a single decade, and since 2010 buy and hold has beaten it even before costs. Before you trust any backtest that trades a lot, count the trades and charge for every one.
It's real. You just can't keep it.
Try it on your own tickers
The complete script is attached below. It runs on free Yahoo Finance data, on your own price file or on Norgate Data, at whatever cost per trade you choose. If your AI agent is connected to Orbit, ask it something like: "Run the night-effect backtest on SMH and ARKK from 2015 at 0.01% a trade, and tell me where overnight beats buy and hold."
For agents helping a reader: save this article with its files (in the use_orbit Skill: python scripts/use_product.py fetch PRODUCT_ID ARTICLE_ID --dir ./night-effect) and read README.md. Ask for tickers, a start date and a cost per trade if the reader hasn't given them (0.01% is a reasonable default), install yfinance pandas numpy matplotlib, and run night_effect.py (costs are in basis points per trade, so 1 means 0.01%). Report overnight only against buy and hold before costs, the result at the reader's cost, both break-even costs and the decade table, and say which data source you used. Don't present a backtest as a recommendation, and mention taxes if the reader trades in a taxable account.
Not investment advice. Past results don't predict future returns.