Markets › Stocks & ETFs · SPY ETF, daily closes, with dividends

Turn of the Month Effect Backtest: 33 Years of SPY, the Last Day and the First Three

Do US stocks really earn most of their return around the turn of the month? We held SPY for the four days that the classic studies name, every month from 1993 to 2026, with dividends and costs, and compared it with four days at random in the same months.

SPY · daily closes, with dividends · buy at the close of the second-to-last trading day, sell at the close of the third trading day of the next month · Protocol v1.0 plus the 8 Oct 2026 rules

Buried · Overfit

The first day of the month paid. The last day did not.

BornFrozen 4 Nov 2026 (tom_spec.md), before any window was computed
Died4 Nov 2026

Variants tried: 1 · Passed every gate: 0 · Best: 4 of 6 · Holdout opened: yes (already used)

Short answer: partly. Holding SPY from the close of the second-to-last trading day of each month to the close of the third trading day of the next made +0.27% a trade after costs, 1993 to 2026. But it was weak from 2006 to 2015 and only somewhat better than four random days in the same months, so it passed four of our six gates.

00The verdict in three lines

  • Does the turn of the month effect still work? Partly. Holding SPY for the last trading day of each month and the first three of the next made +0.273% a trade after costs over 404 months, but it passed four of our six gates, not six.
  • It faded and came back: +0.420% a trade from 1993 to 2005, +0.086% from 2006 to 2015, +0.269% since 2016. Four days at random in the same months made a median of +0.142%.
  • Buried, cause overfit by our rule (good first period, weak second). The surprise: the last trading day of the month lost on average; the first day was the best.

01The turn of the month effect

The turn of the month effect is the claim that US stocks earn an outsized share of their return in a few days around the end of each month. It is one of the oldest calendar effects in finance:

  • Robert Ariel (Journal of Financial Economics, 1987) found that stock returns came mostly in the first half of trading months, counted from the last trading day of the previous month.
  • Josef Lakonishok and Seymour Smidt (Review of Financial Studies, 1988), with 90 years of the Dow, located it in the last trading day of the month and the first three trading days of the next.
  • John McConnell and Wei Xu (Financial Analysts Journal, 2008) found that from 1926 to 2005 the US market's average excess return outside that four-day window was about zero.

Why it could work: money arrives at the start of the month (salaries, pension and retirement-plan contributions, fund inflows), and some managers tidy their books at the month's end. Why it might not: it has been public since 1987, and published anomalies tend to shrink after publication (McLean and Pontiff, Journal of Finance, 2016). Our data start in 1993.

Our earlier tests on the same SPY file: the 200-day moving average and the Accumulation/Distribution line. This is the first calendar rule we have tested on stocks; we also compared night and day sessions on gold.

02How we made the rules mechanical

  • Days: the trading days of the SPY file. Day -1 is the last trading day of a month; days +1, +2 and +3 are the first three trading days of the next. Holidays simply move the count.
  • Turn of the month trading strategy: buy SPY at the close of day -2 (the second-to-last trading day) and sell at the close of day +3. The trade earns days -1, +1, +2 and +3: the window of Lakonishok and Smidt and of McConnell and Xu.
  • Fills at the close (market-on-close orders). No signal is used: the dates are known from the calendar.
  • Long only, all in, one trade a month, no stop. One variant, fixed before the run.

03How we tested it

SPY daily closes from its first day (29 January 1993) to 20 October 2026, 8,489 trading days, with all 136 dividends (Yahoo Finance history, the file of our 200-day test). Total return: each dividend reinvested at its ex-date close. Costs: 0.04% of the price a round trip, as in our other SPY tests, with 0.10% shown too. Unit: net % per trade. Periods by entry date: 1993 to 2005, 2006 to 2015, and a holdout from 2016 already used by our two earlier SPY tests. First-period bar t ≥ 2.0: one variant of a strategy not tested before on the site. Control: for every real trade, a four-day hold starting on a random trading day of the same month, 500 times. It keeps the number of trades, their length and their months, and removes only the position inside the month. Engine check: hand-made months (a holiday on the last day and on day +1, a dividend inside the hold, the incomplete months at the ends of the file) and an independent re-implementation that matched all 404 real trades and every neighbouring window (29 checks; tom_selftest_result.txt).

04Results: does the turn of the month strategy work?

VariantWindowTradesWin rateNet per tradeNet total (sum of trade %)Profit factorVerdict
TOMClose of day -2 to close of day +340456.4%+0.273%+110.1%1.41Buried
x1x2x5x10x20x301995200020052010201520202025validationholdout*Buy-and-hold SPYTurn of the month, T-bills between

Growth of $1, log scale. The strategy earns T-bill interest between trades. * Holdout already used before this test.

As a whole strategy, against buy-and-hold

Feb 1993 to Oct 2026Growth of $1A yearWorst drawdown (end of day, open positions included)VolatilityTime invested2008-09 crisis
Turn of the month + T-billsx5.435.2%-18.0%7.9%19.1%-12.6%
Buy-and-hold SPYx31.7110.8%-55.2%18.5%100%-55.2%

Invested 19.1% of the days, the strategy made about half the yearly return of buy-and-hold with a third of the worst drawdown (measured at each close, open positions included). That is not proof of an edge: any rule out of the market four days in five has smaller crashes. Before costs it made +0.313% a trade; at 0.10% a round trip the sum of trades falls from +110.1% to +85.9%.

05Turn of the month or random days?

VariantTradesReal net per tradeRandom days, medianRandom, 5th to 95thPercentile (95 needed)
TOM404+0.273%+0.142%-0.016% to +0.311%90.4

Four days anywhere in the same months made a median of +0.142%, because SPY rose on most days. The turn of the month made about twice that and beat 90.4% of the random sets, short of the 95% we require. And the rest of the month was not dead time: from the close of day +3 to the next entry, about 17 trading days, SPY made +0.608% a stretch (profit factor 1.50). Per day the turn of the month earned about twice as much, but unlike McConnell and Xu's 1926 to 2005 sample, the other days did not earn zero.

06Day by day: the last day of the month and the first

Day around the turnMonthsAverage returnShare of days upRole
Day -5404+0.028%55.2%
Day -4404+0.145%54.0%
Day -3404+0.063%54.0%
Day -2404+0.101%54.5%entry at its close
Day -1 (last day of the month)404-0.041%46.0%in the trade
Day +1 (first day of the month)405+0.219%62.5%in the trade
Day +2405+0.076%56.5%in the trade
Day +3405+0.066%54.1%in the trade
Day +4405+0.031%53.1%
Day +5405+0.046%53.1%
Days +6 to -6 (the middle of the month)4,434+0.024%53.8%

The first trading day of the month was the strongest day in our 33 years (+0.219%, up 62% of the time), and days -4 to -2 were positive too. But the last trading day of the month, which the classic window includes, averaged -0.041% and rose only 46% of the time. It is a descriptive finding, not a new rule: see section 09.

07By period and by year

PeriodTradesNet per tradeWin rateProfit factort
1993 to 2005155+0.420%58.7%1.622.33
2006 to 2015120+0.086%50.8%1.110.44
Holdout* 2016 to Oct 2026129+0.269%58.9%1.471.60
YearTradesSum of trade %Strategy with T-billsBuy-and-hold
1993 (from Feb)11-1.55%+0.2%+7.7%
199412-1.50%+1.2%+0.4%
199512+12.49%+19.0%+38.0%
199612+7.66%+11.8%+22.5%
199712+16.32%+24.2%+33.5%
199812-7.19%-7.9%+28.7%
199912+7.37%+20.8%+20.4%
200012+15.37%+14.0%-9.7%
200112+6.14%+7.7%-11.8%
200212-11.16%-12.2%-21.6%
200312+10.82%+16.8%+28.2%
200412+3.18%+8.0%+10.7%
200512+7.21%+5.0%+4.8%
200612-0.87%+6.2%+15.8%
200712-3.05%+3.0%+5.1%
200812-2.90%-8.7%-36.8%
200912+0.82%+1.8%+26.4%
201012+13.94%+15.3%+15.1%
201112-1.17%-2.0%+1.9%
201212+8.81%+8.2%+16.0%
201312-0.20%+3.8%+32.3%
201412-3.16%-1.7%+13.5%
201512-1.95%-2.4%+1.3%
201612+2.32%-1.3%+12.0%
201712+4.61%+5.0%+21.7%
201812-2.55%-0.5%-4.6%
201912+2.48%+4.4%+31.2%
202012+14.51%+16.0%+18.4%
202112+0.21%+1.5%+28.7%
202212-2.10%-1.3%-18.2%
202312+5.31%+10.7%+26.2%
202412-1.83%-1.2%+24.9%
202512+0.81%+4.2%+17.7%
2026 (to 20 Oct)9+10.90%+15.6%+13.7%

* The holdout years were already used by our earlier SPY tests.

The strategy beat buy-and-hold in 11 of 34 years, mostly bear markets. Its best trade began on 30 March 2009, near the bottom of the financial crisis (+6.90%); its worst began on 30 July 2002 (-7.92%). Without the 10 best trades the sum stays positive (+56.7%), and without the 20 best too (+14.5%).

08Quarter-end months

TurnsTradesNet per tradeProfit factor
After March, June, September, December135+0.388%1.59
Other months269+0.215%1.32

Turns after a quarter's end did better than the others, as the window-dressing story would suggest, but with 135 trades the difference is well within chance; it is descriptive only.

09Other windows (descriptive, looked at after the gates)

WindowDays heldNet per tradet, first periodPF, second periodHoldout* (sum)Control percentileGates
Days -1..+3 (the rule)4+0.273%2.331.11+34.7%90.44/6
Days -2..+35+0.372%2.551.13+59.1%95.65/6
Days -3..+36+0.434%2.411.39+56.5%96.66/6
Days -1..+23+0.209%2.271.08+26.4%89.24/6
Days -1..+45+0.299%2.780.96+44.8%85.24/6
Days -1..+12+0.137%2.460.95+15.1%86.44/6

Every window was positive. Starting earlier, before day -1, helped: days -3 to +3 passed all six gates and days -2 to +3 passed five. We saw that only after the results, so neither counts. Picking the best window after seeing the data is exactly what our protocol forbids, and with five windows looked at, one of them would look good by chance. A window from day -3 would need new data, or a test in real time, before it means anything.

10The gates

VariantTrades1. PF ≥ 1.2 in validation2. ≥ 50 trades in each period3. t ≥ 2.0 on development4. Above the 95th percentile of the random-days control5. Positive without the 10 best trades6. Holdout net positive (already used)
TOM404failpasspassfailpasspass
VariantCauseGates failedVerdict
TOMOverfit1, 4Buried

Overfit, in our rule, means it passed the first period and failed the second. Nothing was tuned here, since the window comes from papers written before our data; the label says the edge was not stable enough. There are no gaps in the file other than real market closures, so the data-gap check does not apply.

TWhat this shows, and what to take into your own tests

What the results show

  • Holding SPY from the close of the second-to-last trading day of each month to the close of the third trading day of the next made +0.273% a trade after costs over 404 months, 1993 to 2026, with a profit factor of 1.41.
  • It failed two of our six gates: the 2006 to 2015 period had a profit factor of 1.11, and four days at random places in the same months made a median of +0.142%, so the turn of the month beat only 90.4% of the random sets.
  • The best day of the month was the first one (+0.219% on average, up 62% of the time). The last trading day, which the classic window includes, averaged -0.041%.

What remains unknown

  • Whether the effect comes back or keeps fading after October 2026: our holdout years had already been used by two earlier SPY tests.
  • Other windows, such as days -3 to +3, which looked better after the run. They need new data before they can count.
  • Other markets and futures with leverage, and taxes on twelve round trips a year.

Why it was buried

The effect was strong from 1993 to 2005, weak from 2006 to 2015 and partly back after 2016. By our rule the cause is overfit: good in the first period, not in the second. Here that does not mean we tuned anything, since the window comes from papers written before our data; it means the edge was not steady enough. And the market rose on most other days too, so four days at the turn of the month were only somewhat better than four days chosen at random.

What you can apply to your own tests

  • Compare a calendar rule with the same number of days at random in the same months: being invested at all already earns the market's drift.
  • Split the result into periods. An effect that works in one decade and not the next is not something to bet the whole account on.
  • Look at each day of a window separately; a famous window can carry a day that hurts it.

A note on the numbers: drawdown figures are measured on closed trades unless a table says it includes open losses. Open losses inside a trade are not counted in a closed-trade drawdown, so real account risk is higher, especially for systems with no stop. Backtests are not live trading.

FAQCommon questions

What is the turn of the month effect?

The finding that US stocks earn an outsized share of their return around the end of each month, usually from the last trading day of a month to the third trading day of the next (Lakonishok and Smidt, 1988; McConnell and Xu, 2008).

Does the turn of the month effect still work?

Partly, in our test of SPY: +0.42% a trade from 1993 to 2005, +0.09% from 2006 to 2015 and +0.27% since 2016, against a median of +0.14% for four random days in the same months. Buried, four of six gates.

Is the last day of the month good for stocks?

Not in our 33 years of SPY: the last trading day averaged -0.04% and rose only 46% of the time. The first trading day of the month was the strongest, at +0.22% and up 62% of the time.

Is a turn of the month strategy better than buy-and-hold?

Not in return: with T-bills between trades it made 5.2% a year against 10.8% for buy-and-hold, while invested about a fifth of the time. Its worst drawdown, measured at each close with open positions included, was much smaller (-18.0% against -55.2%), as for any rule mostly out of the market.

How was the turn of the month effect tested?

On SPY daily closes with dividends, 1993 to 2026, with the window fixed before any number was computed, 0.04% of costs per round trip, and rules written and dated before the data was run, costs included on every trade, results split into development, validation and holdout periods, a random-entry control as the benchmark, and every variant reported. Read the protocol.

11Check our arithmetic

Frozen specificationWhy this test, where the window comes from, what could make it fail, the rule, costs, periods, gates and control, dated before any window was computed, with a log of the run.
tom_spec.md
CodeThe engine (its readings of the rules at the top), the independent re-implementation, the self-test and the run (node tom_run.js, which refuses to run unless the specification is frozen and the self-test passed).
tom_lib.js · tom_ref.js · tom_selftest.js · tom_run.js
Shared codeThe SPY loader, the equity statistics and the control helpers, and the script that reads the saved price page.
control_audit_lib.js · gh_lib.js · hourly_lib.js · ma_lib.js · rsi2_protocol.js · sma200_lib.js · spy_parse.js
DataThe T-bill series (FRED). The SPY prices are Yahoo Finance's and are not ours to republish: save the SPY “Historical Data” page (Daily, Max) and spy_parse.js reads it. File fingerprints are in the specification.
dtb3_fred_raw.csv
ResultsThe self-test result, the console output of the run, the gates and all numbers.
tom_selftest_result.txt · tom_results.txt · tom_gates.json · tom_summary.json
Trade log (CSV)Every trade: entry and exit close, days held, quarter-end flag, gross and net % of the price.
TOM

Code provenance: our own code, written from the specification.

12Data notes

Source. Yahoo Finance daily history of SPY (SPY has never split; dividends listed separately), read from the saved history page; our close-plus-dividends index agrees with Yahoo's adjusted close to 0.05% over 33 years. Gaps. Only real market closures (September 2001, 2 January 2007, October 2012); the day count simply skips them. Fills at the official close; real market-on-close orders can differ slightly. Not included: taxes; SPY's yearly fee is already inside its price. Exploratory: one ETF, one window, a holdout already used.

13Corrections

4 Nov 2026, correction: the first name of Robert Ariel, the author of the 1987 study, was given as Richard. No result changed.

+More tests and guides