Money flow — where the money went today, this week, this month and this year
Where the money went today, this week, this month and this year, by asset class and sector.
Data as of 12 Nov 2026Built 12 Nov 2026, 21:40 UTCNext refresh weekdays after the closeSource scripts/signal_feeds money-flow feeds (FMP closes and quotes, Massive options snapshots)
Where the money went in the 12 Nov 2026 session, over the week, over the month so far and over the year so far: the pressure scoreHow unusual the move was for that asset: the return divided by its own 60-day volatility, scaled by how much dollar volume it drew against its 20-day average (clamped 0.5–2×). Positive = bought, negative = sold. by asset class and sector, who moved the index (N50The fewest names, taken in the index's direction, that account for half of its net move. A small N50 means a few large names carried the index. / N80The fewest names, in the index's direction, that account for 80% of its net move.), the rotation quadrants by RS ratioThe sector's price relative to the S&P 500, as a 10-day average over its 50-day average, times 100. Above 100 = stronger than its own recent norm., the heat grid (day by day, or month by month on the year-to-date view), style spreads and the options tape. Click a sector bar for the names behind it. Updated after every close; a reading of what has already happened, not a forecast.
Where the pressure landed
Across asset classes ETF proxies
Inside the S&P 500 select a sector for its drivers
Who moved the S&P 500 — depth against breadth
The index's cap-weighted move split into each stock's contribution (weight × return, in basis points). N50 is the fewest names, taken in the index's direction, that account for half the net move. Median capture is what the typical stock got of the index move; below half means a handful of large names carried it. Weights are end-of-day market caps, not float-adjusted index weights, so contributions are close but not exact.
Relative rotation — sectors against the S&P 500
Horizontal: whether the sector's strength relative to SPY sits above or below its own 50-day norm. Vertical: whether that relative strength is gaining or losing speed. Each tail is the last ten sessions and ends at the labelled dot. Sectors usually travel clockwise: Improving, Leading, Weakening, Lagging. It shows where each sector has been, not where it will go.
Continuation or reversal
−3 … 0 … +3
Style and risk-appetite spreads
Options tape — calls against puts
Premium traded today in near-the-money, near-dated contracts on the index, long bonds, and the day's most-bought and most-sold sector. Volume does not say who initiated a trade, so this stops at call-heavy, put-heavy or balanced. The comparison with each ticker's own recent days fills in as history accumulates.
Method, sources and what was skipped
Relative rotation: rs = sector / SPY; rs_ratio = 100 × SMA(rs,10) / SMA(rs,50); rs_momentum = 100 × rs_ratio / SMA(rs_ratio,10). An in-house approximation of the Relative Rotation Graph, not the proprietary JdK calculation. Options: one Massive snapshot page per ticker (at most 250 contracts inside the stated expiry and strike window); premium = volume × VWAP × 100.
ETF proxies stand in for asset classes and sectors; the sector drill-down is rebuilt bottom-up from all S&P 500 constituents (cap-weighted). Contribution is each stock's share of its sector's cap-weighted move, in basis points. This page describes what happened; it makes no forecast and recommends nothing.
Where the pressure landed
Across asset classes ETF proxies
Inside the S&P 500 select a sector for its drivers
Who moved the S&P 500 — depth against breadth
The index's cap-weighted move split into each stock's contribution (weight × return, in basis points). N50 is the fewest names, taken in the index's direction, that account for half the net move. Median capture is what the typical stock got of the index move; below half means a handful of large names carried it. Weights are end-of-day market caps, not float-adjusted index weights, so contributions are close but not exact.
Relative rotation — sectors against the S&P 500
Horizontal: whether the sector's strength relative to SPY sits above or below its own 50-day norm. Vertical: whether that relative strength is gaining or losing speed. Each tail is the last ten sessions and ends at the labelled dot. Sectors usually travel clockwise: Improving, Leading, Weakening, Lagging. It shows where each sector has been, not where it will go.
Continuation or reversal
−3 … 0 … +3
Style and risk-appetite spreads
Options tape — calls against puts
Premium traded today in near-the-money, near-dated contracts on the index, long bonds, and the day's most-bought and most-sold sector. Volume does not say who initiated a trade, so this stops at call-heavy, put-heavy or balanced. The comparison with each ticker's own recent days fills in as history accumulates.
Method, sources and what was skipped
Relative rotation: rs = sector / SPY; rs_ratio = 100 × SMA(rs,10) / SMA(rs,50); rs_momentum = 100 × rs_ratio / SMA(rs_ratio,10). An in-house approximation of the Relative Rotation Graph, not the proprietary JdK calculation. Options: one Massive snapshot page per ticker (at most 250 contracts inside the stated expiry and strike window); premium = volume × VWAP × 100.
ETF proxies stand in for asset classes and sectors; the sector drill-down is rebuilt bottom-up from all S&P 500 constituents (cap-weighted). Contribution is each stock's share of its sector's cap-weighted move, in basis points. This page describes what happened; it makes no forecast and recommends nothing.
Where the pressure landed
Across asset classes ETF proxies
Inside the S&P 500 select a sector for its drivers
Who moved the S&P 500 — depth against breadth
The index's cap-weighted move split into each stock's contribution (weight × return, in basis points). N50 is the fewest names, taken in the index's direction, that account for half the net move. Median capture is what the typical stock got of the index move; below half means a handful of large names carried it. Weights are end-of-day market caps, not float-adjusted index weights, so contributions are close but not exact.
Relative rotation — sectors against the S&P 500
Horizontal: whether the sector's strength relative to SPY sits above or below its own 50-day norm. Vertical: whether that relative strength is gaining or losing speed. Each tail is the last ten sessions and ends at the labelled dot. Sectors usually travel clockwise: Improving, Leading, Weakening, Lagging. It shows where each sector has been, not where it will go.
Continuation or reversal
−3 … 0 … +3
Style and risk-appetite spreads
Options tape — calls against puts
Premium traded today in near-the-money, near-dated contracts on the index, long bonds, and the day's most-bought and most-sold sector. Volume does not say who initiated a trade, so this stops at call-heavy, put-heavy or balanced. The comparison with each ticker's own recent days fills in as history accumulates.
Method, sources and what was skipped
Relative rotation: rs = sector / SPY; rs_ratio = 100 × SMA(rs,10) / SMA(rs,50); rs_momentum = 100 × rs_ratio / SMA(rs_ratio,10). An in-house approximation of the Relative Rotation Graph, not the proprietary JdK calculation. Options: one Massive snapshot page per ticker (at most 250 contracts inside the stated expiry and strike window); premium = volume × VWAP × 100.
ETF proxies stand in for asset classes and sectors; the sector drill-down is rebuilt bottom-up from all S&P 500 constituents (cap-weighted). Contribution is each stock's share of its sector's cap-weighted move, in basis points. This page describes what happened; it makes no forecast and recommends nothing.
Where the pressure landed
Across asset classes ETF proxies
Inside the S&P 500 select a sector for its drivers
Who moved the S&P 500 — depth against breadth
The index's cap-weighted move split into each stock's contribution (weight × return, in basis points). N50 is the fewest names, taken in the index's direction, that account for half the net move. Median capture is what the typical stock got of the index move; below half means a handful of large names carried it. Weights are end-of-day market caps, not float-adjusted index weights, so contributions are close but not exact.
Relative rotation — sectors against the S&P 500
Horizontal: whether the sector's strength relative to SPY sits above or below its own 50-day norm. Vertical: whether that relative strength is gaining or losing speed. Each tail is the last ten sessions and ends at the labelled dot. Sectors usually travel clockwise: Improving, Leading, Weakening, Lagging. It shows where each sector has been, not where it will go.
Continuation or reversal
−3 … 0 … +3
Style and risk-appetite spreads
Options tape — calls against puts
Premium traded today in near-the-money, near-dated contracts on the index, long bonds, and the day's most-bought and most-sold sector. Volume does not say who initiated a trade, so this stops at call-heavy, put-heavy or balanced. The comparison with each ticker's own recent days fills in as history accumulates.
Method, sources and what was skipped
Relative rotation: rs = sector / SPY; rs_ratio = 100 × SMA(rs,10) / SMA(rs,50); rs_momentum = 100 × rs_ratio / SMA(rs_ratio,10). An in-house approximation of the Relative Rotation Graph, not the proprietary JdK calculation. Options: one Massive snapshot page per ticker (at most 250 contracts inside the stated expiry and strike window); premium = volume × VWAP × 100.
ETF proxies stand in for asset classes and sectors; the sector drill-down is rebuilt bottom-up from all S&P 500 constituents (cap-weighted). Contribution is each stock's share of its sector's cap-weighted move, in basis points. This page describes what happened; it makes no forecast and recommends nothing.
See also the regime page for the deployment gate and the Markov market regime alongside this map.
Descriptive, not predictive: pressure, breadth and rotation describe the sessions shown and are not forecasts. Altamira publishes no positions on this page. Sources: FMP (daily closes, quotes, S&P 500 constituents), Massive (options snapshots); computations by scripts/signal_feeds/money_flow.py, money_flow_weekly.py, money_flow_monthly.py and money_flow_ytd.py. Research for information only — not investment advice; see Disclosures.