SpaceMacro, cycles, seasonality & positioning

Calendar Effects

Intra-month and day-of-week seasonal tendencies — the short-timeframe complement to the annual seasonality tool.

Live data·30 Oct, 16:45 UTC1-hour cache · Yahoo Finance · ~10y daily bars per asset

Today’s edge · S&P 500 (10y of data · for Fri 30 Oct)

For S&P 500 on Fri 30 Oct: Fridays: median +0.079% (55% up, n=526); trading day 22: median -0.046% (n=39); inside the Turn of month window (median +0.574%/instance, 67% positive, n=126). Historical tendency, not a promise — size accordingly.

Average return by day of week

Average return by trading day of month

Monthly seasonality · S&P 500

■ median■ mean· win rate below · current month highlighted

YearJanFebMarAprMayJunJulAugSepOctNovDec
Win rate70%40%50%70%90%80%91%64%45%50%90%60%
2026+1.4-0.9-5.1+10.4+5.1-1.1-0.1+2.6-0.5-0.7––
2025+2.7-1.4-5.8-0.8+6.2+5+2.2+1.9+3.5+2.3+0.1-0.1
2024+1.6+5.2+3.1-4.2+4.8+3.5+1.1+2.3+2-1+5.7-2.5
2023+6.2-2.6+3.5+1.5+0.2+6.5+3.1-1.8-4.9-2.2+8.9+4.4
2022-5.3-3.1+3.6-8.8+0-8.4+9.1-4.2-9.3+8+5.4-5.9
2021-1.1+2.6+4.2+5.2+0.5+2.2+2.3+2.9-4.8+6.9-0.8+4.4
2020-0.2-8.4-12.5+12.7+4.5+1.8+5.5+7-3.9-2.8+10.8+3.7
2019+7.9+3+1.8+3.9-6.6+6.9+1.3-1.8+1.7+2+3.4+2.9
2018+5.6-3.9-2.7+0.3+2.2+0.5+3.6+3+0.4-6.9+1.8-9.2
2017+1.8+3.7+0+0.9+1.2+0.5+1.9+0.1+1.9+2.2+2.8+1
2016––––––+3.6-0.1-0.1-1.9+3.4+1.8

Monthly returns, %. Win rate and the median/mean bars exclude the current (partial) month; the year rows include it as month-to-date.

The documented calendar windows · measured on S&P 500

WindowMedianMean% posnStatus
Turn of month+0.574%+0.468%67%126active now
OPEX week+0.02%-0.05%50%125—
Mid-month lull+0.269%+0.066%58%125—

Per-instance cumulative returns. “Active” refers to the session in the Today’s-edge card (Fri 30 Oct); the current month’s last-two-sessions test uses the US exchange calendar (approximate), not the bars printed so far.

The 60-second version

The annual Seasonality tool answers “which months favour this asset”. This one answers the day trader’s version: which days. Markets have documented micro-rhythms — the turn-of-month institutional bid, the mid-month lull, options- expiry pinning, and persistent day-of-week tilts (crypto trades all seven). Each is measured here from ~10 years of daily bars for eight majors, and the search box computes the same profile for any Yahoo ticker on demand — your exact stock, ETF or coin, not a proxy.

How a short-timeframe trader uses it

  • Start with Today's edge — the card at the top pre-combines the weekday, trading-day-of-month and every active named window into one sentence — the calendar's read on the next session (its date is on the card; weekends roll to Monday), refreshed hourly. It leads with the median, and says when a few outlier days have dragged the mean away from it.
  • Time entries with the month's shape — the trading-day chart shows where in the month the asset historically gets its bid. Buying planned exposure into the mid-month lull and holding through the turn-of-month has been the structural pattern; the windows table quantifies it with hit rates.
  • Respect the weekday tilt at the margin — day-of-week effects are small per instance but persistent across hundreds of observations. They're tie-breakers for WHEN to execute a decision already made — never the reason for the decision.
  • Check your own ticker — single names have their own rhythms (earnings drift, index-rebalance flows). Type the ticker, get the same three panels computed on its actual history with sample sizes shown.

Methodology & honesty

All effects are computed from raw Yahoo daily closes (~10 years, seven-day weeks for crypto): day-of-week and trading-day-of-month show the median and the mean with hit rates and sample sizes on hover; the named windows measure per-instance cumulative returns (turn-of-month = last 2 + first 3 sessions, OPEX week = the week containing the 3rd Friday, mid-month = trading days 10-15). For the month in progress, “last 2 sessions” and today’s trading-day number come from the US exchange calendar (regular holidays; one-off closures aren’t modelled), not from the bars printed so far. Tickers with under ~2 years of history are flagged and charted by median — a single listing-day spike can otherwise pass for a weekday edge. These edges are real but SMALL — a few basis points per day on average — so they pay as execution-timing improvements on trades you were already making, not as standalone strategies. Costs and slippage would eat them traded naked.

In the MTS framework

Calendar effects are the finest-grained seasonal layer — beneath annual seasonality and the election cycle, which all sit in Space. Use them last: after Motion picks the trade, Time confirms the window and the bigger seasonal tools frame it, this page picks the day. A planned entry that can wait two sessions for the turn-of-month bid, or an exit moved ahead of a historically weak weekday, is the entire practical application.