ZNMacro is a systematic market research tool. It classifies the current market regime, compares it to historical periods with similar characteristics, ranks sectors and individual securities against that context, and tracks how its own past calls actually performed — so you can evaluate the evidence yourself, not to tell you what to buy.
Data. Live prices, technicals, and macro series (yield curve, credit spreads, inflation) feed every stage below.
Regime. The Thesis Engine classifies today's macro/market environment and rates how strongly today's evidence supports that call, using a disclosed four-part framework (Macro, Liquidity, Structure, Psychology).
Historical Analog. Compares today's conditions to past periods with similar characteristics. A close match means the current setup resembles history — not that history will repeat.
Sector Rotation. Ranks 10 sector ETFs by historical-analog support, technical structure, and macro fit.
Candidates. Ranks individual securities that currently satisfy ZNMacro's model criteria strongly enough to rank — a research output, not a buy or sell recommendation.
Performance. Tracks what actually happened to past tracked outcomes, honestly, including when the record is weak.
Regime classification is the Thesis Engine's own judgment, made against the disclosed framework above and grounded in the evidence shown on this page — not a statistical probability of market direction. Sector, Candidate, and setup scores are computed deterministically in code from that same data; AI is used only to summarize and explain them, never to compute them.
ZNMacro provides systematic market research and analytics. It does not:
guarantee returns or claim a proven trading edge
give personalized financial advice — Candidate rankings and sector scores reflect model criteria, not a recommendation to buy or sell
predict outcomes from historical analogs — similarity to a past period is comparative context, not a forecast
hide stale or missing data — data freshness/coherence status is shown, not concealed, when it degrades
Model performance figures (Performance tab) reflect a limited number of tracked outcomes and may mix different historical engine versions — treat them as directional, not conclusive. You are responsible for your own investment decisions.
ZNMacro is currently an early public beta — the model and product are actively being evaluated, and behavior may change as it's refined. Send feedback if something is confusing, broken, or missing.
This is a plain-language product summary, not a Terms of Service, Privacy Policy, or legal risk disclosure — those remain a separate, later task.
Portfolio—
Snapshot freshness—
Raw evidence — live prices, yields, spreads, and calendar events — that every later stage reads from. A ⚠/⛔ banner appears at the top of the app whenever an input is materially older than the rest (ⓘ what fresh/degraded/stale/invalid mean) — computation itself is never silently skipped, only flagged.
Macro indicators
10Y yield
—
US Treasury
2Y yield
—
US Treasury
2s10s spread
—
Yield curve
Fed funds
—
EFFR
Waiting for worker URL...
Credit spreads
HY OAS
—
High yield spread
IG OAS
—
Investment grade
HY–IG spread
—
Risk premium
Stress signal
—
1998 graduation
Fetching credit spreads...
Economic calendar
Loading calendar...
Equities
SPY
—
S&P 500
QQQ
—
Nasdaq 100
IWM
—
Russell 2000
NVDA
—
Bellwether
Waiting for worker URL...
Crypto
Bitcoin
—
24h
Ethereum
—
24h
Solana
—
24h
Risk signal
—
Crypto avg
Fetching CoinGecko...
Morning briefing
AI-written summary of the data above — narration, not a separate analysis with its own inputs.
Load data, then generate your briefing.
A market regime is ZNMacro's classification of the current macro/market environment (e.g. "Selective Risk-On") — a read on present conditions, not a forecast. Historical Analog (below) grounds this page's regime read in precedent — expand it to run or review, then Generate Thesis. Thesis Ledger (also below) tracks every past thesis and what changed.
Carried forward — last recorded regime
Historical context — feeding into thesis
Today's highest conviction theme
—
Regime classification ⓘ
—
Overall confidence ⓘ
—
Regime score breakdown
Macro environment
Weight: 35%
—
Liquidity environment
Weight: 30%
—
Market structure
Weight: 20%
—
Positioning & psychology
Weight: 15%
—
Dominant driver
—
Historical analog — integrated context
Supporting data points
Counterargument
—
Would confirm this thesis
Would invalidate this thesis
Thesis prompt
—
Generate your thesis to see it here.
▸Historical Analog
Scores today's data against your regime library, purely by similarity across the same weighted pillars used above. A close match means today resembles a past period — not that it will play out the same way; where a match is misleading, that's flagged directly as a false-similarity warning rather than left for you to discover. Click any pillar chip to see the variable-level breakdown. Results feed into the Thesis Engine above.
Find historical analogs to see them here.
▸Thesis Ledger
What the system believed, why, what would invalidate it, and what changed. Entries are created automatically by "Generate & save daily snapshot" — see feature_specs/v6.7-thesis-ledger.md. This view shows the thesis for whichever snapshot is currently loaded (live active thesis, or the one tied to a replayed date).
Active thesis
No thesis history yet — generate a snapshot to begin.
Regime · confidence · age
—
Theme
—
Would confirm
Would invalidate
Thesis history
No thesis history yet.
What changed
Click any row above to compare it against the thesis it superseded.
Select a history entry to see a field-by-field diff.
Carried forward — from Thesis
Scores 10 sector ETFs across three layers: historical analog support, technical structure, and macro regime fit. Each runs 0-100; a higher combined conviction score means stronger current alignment across those layers — not a return forecast. Run Historical Analog first for full conviction scoring.
Run sector rotation analysis to see it here.
Carried forward — from Sector Rotation
A Candidate is a security that currently satisfies ZNMacro's model criteria strongly enough to rank — a research output, not a recommendation to buy or sell. Regime confidence, sector conviction, ticker quality, and setup quality are shown as separate signals, never blended into one number — a strong overall score does not mean every layer agrees. This list is a separate system from the "Generate & save daily snapshot" button above (that's Snapshot Replay, an unrelated feature).
ⓘ
Load candidates to see the top-ranked tickers from the latest candidate data build, or build a fresh one below.
Carried forward — from Candidates
Read-only view of the Trade Plan Engine's persisted records (feature_specs/trade-plans-ui.md, feature_specs/v7.6-trade-plan-engine.md) — entry trigger, stop, targets, and captured Trade Thesis for every ticker+setup the Opportunity Validation Engine has approved. Plans only ever change state during a Market Snapshot Builder run; nothing here can be edited or closed from this tab.
Open plans
Load trade plans to see watching, armed, triggered, and active positions.
Closed plans
Load history to see completed, invalidated, and expired plans.
Daily Review
AI-written summary of today's session and Model Scorecard data below — narration, not a separate analysis with its own inputs.
Small-sample, early-stage live record — not a validated trading edge. Figures reflect actual tracked outcomes to date, not a backtest or a projection. ⓘ What's an R-multiple?
Loading outcome scorecards…
Win Rate
—
Average R
—
Mean final R-multiple, traded plans
Cumulative R
—
Sum of final R-multiple, traded plans
Cumulative R-Multiple Curve
Model Performance — from the Model Scorecard (V8.2)
Observed hit rate and excess return by regime/sector/quality tier, current engine cohort only. "(low confidence)" marks sample sizes below the reporting threshold — treat those cells as directional, not conclusive. ⓘ What do these terms mean?
Loading model scorecard…
Regime Hit Rate
Sector Top 3 (by excess return vs. SPY)
Opportunity Ranking Performance (by Quality Tier)
No "Setup"-based breakdown exists in the Model Scorecard backend today — only Regime, Sector, and Quality-Tier bucketing are computed (see GET /model-scorecard, V8.2). Not fabricated here; disclosed rather than invented.
Future Portfolio Metrics — require position-sizing data this system does not track yet
Portfolio Equity Curve
Coming soon
Current Drawdown
Coming soon
Rolling Return
Coming soon
Average Monthly Return
Coming soon
Sharpe Ratio
Coming soon
Capital Growth
Coming soon
Generates all four publishing outputs simultaneously from your thesis and live data. Run Thesis Engine and Historical Analog first for best results.
Generate your thesis first — the publishing pipeline needs it as its source material.
Publishing from thesis
Generating
○ @ZNMacro thread
○ @ColeMercer thread
○ Newsletter skeleton
○ YouTube outline
@ZNMacro thread
Institutional · declarative · data-backed
@ColeMercer thread
Behind-the-scenes · personal · observational
Newsletter skeleton
ZNMacro voice · Beehiiv-ready structure
YouTube outline
Faceless screen-recorded format · timestamps
Worker connection
Worker URL
Auto-detected from where this page is hosted (api.znmacro.com in production, localhost:8788 for local API dev, the public Worker URL otherwise). Only change this if you're pointing at a different environment.
Account (optional)
Sign in with a one-time email code
Optional — no password, no account required to use ZNMacro. A 6-digit code is emailed to you and expires in 10 minutes. Unrelated to Founder Mode/Publishing authorization below.
Founder Access
Admin Secret
Not in founder mode — you are viewing the public experience.
Founder-only tools (Trade Plans, Publishing, Position Sizing, and the daily-snapshot builder) only appear after the Admin Secret is verified against the server. Kept only in this browser tab's session storage — cleared when the tab closes, never saved to disk or synced.
Daily snapshot
Generate & save
Snapshot replay
Position Sizing
Account equity ($)
Risk budget per trade (%)
Max position size (% of equity)
These settings are stored only in this browser, on this device — they are not synced to any account and are never sent to or stored on the ZNMacro server. Used to compute a suggested position size (Trade Plans → a gate-approved trade → "Position size →").