Skip to content

Regime & flows — where the market is, and where the money went

Where the market regime stands today: the deployment gate, the Markov state and the day's rotation read.

Data as of 12 Nov 2026Built 12 Nov 2026, 21:40 UTCNext refresh weekdays after the closeSource macro gate · Markov regime · money-flow feed (FMP, CBOE, Massive)

Where the market is, in three descriptive layers, each from the file that produced it. The deployment gateA six-signal macro reading that sits at FULL, REDUCED or STAND DOWN. It describes conditions; what anyone does with it is their own decision. scores six market stress signals as of 12 Nov 2026. The Markov stateA regime label — Bull, Sideways or Bear — assigned day by day by a hidden-state model of the index's returns, shown with the model's one-day transition probabilities and its long-run mix. Descriptive; never a price forecast, and never projected beyond seven days. says where each index ETF sits on its own sample (last bar SPY 9 Nov 2026, QQQ 9 Nov 2026). Today's read summarises the 12 Nov 2026 session; the full rotation map is on /money-flow/. Everything here is a reading of what has already happened or what a stated model computes from it; nothing is a forecast or a price target.

Deployment gate

ZoneFULL DEPLOYread off the composite
Composite score72.7 / 100six signals, weighted
As of12 Nov 2026, 14:36 UTCgate run for 12 Nov 2026
Signals degraded0stale feed: Equity put / call
SignalScoreWeightReadingAs of
VIX level4915%VIX 17.49 · 51st pct 1y11 Nov 2026
VIX term structure10020%VIX/VIX3M contango +10.0% (17.49 / 19.24)11 Nov 2026
S&P 500 breadth (200-day)8525%64% of S&P 500 above 200-day (500 names)12 Nov 2026
Credit (HYG / IEF)6815%HYG/IEF 0.850 · z +0.73 (2y)12 Nov 2026
Equity put / call5210%equity P/C 0.65 vs 20d 0.664 Oct 2019 STALE
Factor crowding (MTUM vs VTV)5815%MTUM–VTV 60d corr 0.42 · MTUM −11.2% / VTV +1.6% 60d11 Nov 2026

Scale: each signal scores 0–100, higher = more supportive of putting capital to work; the composite is the weighted sum (weights from config/macro_gate.yaml, shown above). Zones are read off the composite. A STALE pill means the upstream feed has not updated — the figure is shown as the file carries it, not as current.

Composite score, last 67 run days (23 Jul 2026 → 12 Nov 2026) — point colour = that day's zone

Source: scripts/macro_gate → macro_gate_2026-11-12.json, computed 12 Nov 2026, 14:36 UTC; signal feeds FMP / CBOE as each row states. Page pulled 12 Nov 2026, 21:40 UTC.

Market regime (Markov)

A three-state Markov chain (Bear / Sideways / Bull) fitted on each index ETF's own rolling returns. What it gives is model output: the state today, the model's probability for each state tomorrow (one row of the transition matrix), how sticky each state has been, and the long-run share of time in each state. No multi-day path is computed.

SPY · sample 9 Nov 2016 → 9 Nov 2026 · 2513 rows

Current stateSidewaysSPY daily closes
As of9 Nov 2026, 22:49 UTClast bar 9 Nov 2026

Next-day model probabilities

Bear2.4%
Sideways93.2%
Bull4.4%

Persistence (stay-in-state) · stationary mix

StatePersistenceStationary
Bear76.2%8.1%
Sideways93.2%79.2%
Bull72.8%12.7%

Transition matrix (row = from, column = to)

From \ ToBearSidewaysBull
Bear76.2%23.8%0.0%
Sideways2.4%93.2%4.4%
Bull0.0%27.2%72.8%

Params: window 20, threshold 0.05.

QQQ · sample 9 Nov 2016 → 9 Nov 2026 · 2513 rows

Current stateBearQQQ daily closes
As of9 Nov 2026, 22:49 UTClast bar 9 Nov 2026

Next-day model probabilities

Bear79.8%
Sideways20.2%
Bull0.0%

Persistence (stay-in-state) · stationary mix

StatePersistenceStationary
Bear79.8%11.7%
Sideways88.9%63.5%
Bull81.1%24.8%

Transition matrix (row = from, column = to)

From \ ToBearSidewaysBull
Bear79.8%20.2%0.0%
Sideways3.7%88.9%7.4%
Bull0.0%18.9%81.1%

Params: window 20, threshold 0.05.

Model probability, not a price prediction. STANDING RULE R7 enforced: n-step forecasts capped at 7 days. Framework: Roan (@RohOnChain); vendored from github.com/jackson-video-resources/markov-hedge-fund-method @ 2026-05-19.

Source: outputs/markov_regime/{SPY,QQQ}.json (scripts/markov_regime, daily closes via FMP); as-of per card. Page pulled 12 Nov 2026, 21:40 UTC.

Today's read

The read is the sign of 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. across the proxies; 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. is how many names explain half of the index move and median captureWhat the typical stock got of the index move, as a share of it. Below half means a handful of large names did the lifting. is what the typical stock got of it (418% this session).

Session12 Nov 2026after-close
ReadBroad de-riskingpressure across the proxies
Cap-weighted−0.18%equal-weighted −0.87%
N501names explain half the move · 25% advancing · broad

Full rotation map → /money-flow/ — cross-asset and sector pressure, relative rotation, depth vs breadth, style spreads and the options tape, daily and for the week.

Source: scripts/signal_feeds/money_flow.py → money-flow-2026-11-12.json; fetched 12 Nov 2026, 21:20 UTC. Page pulled 12 Nov 2026, 21:40 UTC.

Descriptive, not predictive: states, scores and model probabilities describe the data as of the dates shown and are not forecasts. Altamira publishes no positions on this page. Sources: FMP (daily closes and quotes), CBOE (VIX, equity put/call), Massive (options snapshots), SEC-listed S&P 500 constituents; computations by the Altamira workspace scripts named under each block. Research for information only — not investment advice; see Disclosures.