Methodology
What we do
Macro Lens uses a three-layer architecture. A deterministic rotation engine computes a market regime score every morning from public price data. An AI synthesis layer — using state-of-the-art AI models (agentic AI) — translates that structured score into prose in a calibrated voice. A simple user experience — a daily brief, a "Should I Worry?" tool, an archive — delivers the result.
This separation is deliberate, and it is the single most important difference between Macro Lens and generic AI fintech products. The engine carries the analytical weight. The AI carries voice and context. The AI is structurally constrained from contradicting the engine. The math is reproducible by any reader from publicly available data.
What each brief tells you — and when
Each brief is one thing: a calm, plain-language read of the market's macro regime — whether the broad market is leaning risk-on, risk-off, or somewhere in between — and what, if anything, that means for an ordinary investor. Most mornings, the honest answer is "nothing needs doing."
On timing: the engine reads the market from each session's close, when the day's data is final, and that read is published before the next open. So the brief you read on a Monday morning is the read from Friday's close — and it is current, because the macro signals don't change while the market is shut. A regime is a slow-moving picture of where money is positioned; it doesn't flip because a bell rings. Friday's read carries through the weekend into Monday's open; Monday's close informs Tuesday's brief, and so on. The most recent brief is always your current read until the next session closes.
The rotation engine — the analytical backbone
Every morning, before any AI is involved, the engine computes six market ratios from yfinance close prices:
| Ratio | Reads |
|---|---|
| SMH/SPY | Tech leadership |
| XLY/XLP | Consumer health |
| XLF/XLU | Rates + risk signal |
| IWM/SPY | Small-cap participation |
| HYG/TLT | Credit conditions |
| XLE/SPY | Inflation pressure |
For each ratio the engine computes a 21-day simple moving average (the "fast" line) and a 50-day simple moving average (the "slow" line). The classification rule for each ratio is mechanical:
- Bullish when the ratio is above its fast line and the fast line is above the slow line.
- Bearish when the ratio is below its fast line and the fast line is below the slow line.
- Neutral in any other state — typically transitions, where the data is genuinely ambiguous.
The 21- and 50-day periods are deliberate. They align with how institutional flows are framed and avoid the whipsaw of shorter periods. They are not optimized to a backtest, and they are not changed without a published methodology revision.
The aggregate regime is derived from the count of ratios in each state. Five or more bullish ratios → "bullish, high confidence." Four → "mixed-bullish, medium." Five or more bearish → "bearish, high." Four → "mixed-bearish, medium." Anything else → "transitional, low confidence." A reader who downloads the same ETF closes from any free source and reproduces the moving averages will arrive at the same regime call.
The framework is published, versioned, and dated. The current version is v1.0. The full specification — including edge-case handling, aggregation rules, reproducibility instructions, and version history — is published in full on the framework page. We treat the framework as serious analytical infrastructure, not as a marketing artifact.
The AI synthesis layer
The AI receives the regime score, the supporting ratio data, and a small market snapshot. It does not receive prompts that ask it to predict, opine, or invent. It receives prompts that ask it to translate the structured regime data into prose in the Macro Lens voice.
The system prompts for the daily brief and the "Should I Worry?" tool both contain the same load-bearing instruction: you must not contradict the regime engine. If the regime is bullish with high confidence, the AI is forbidden to manufacture alarm. If the regime is transitional, the AI is required to explain the conflict in the data rather than pick a side. The voice is anchored against three reference samples: Stratechery, Apricitas Economics, and Howard Marks memos. It is not anchored against CNBC, Reddit, or financial Twitter.
Five things every AI output must include
- An explicit confidence level — high, medium, or low — with the reasoning behind it.
- A historical base rate for any predictive claim.
- Invalidation conditions — what new evidence would change the view.
- Identified, verifiable sources — every figure traces to a public series.
- A standard publisher's disclaimer — Macro Lens is a publication, not an advisor.
What we don't do
- We don't auto-execute trades. The product has no brokerage integration.
- We don't recommend specific securities. We address "the market" and "investors" only.
- We don't personalize advice. There is no user-account "what should I do with my portfolio" tool.
- We don't pretend to predict the future. We describe the present regime and the historical base rates that bound it.
- We don't allow the AI to override the engine. Ever.
- We don't hide AI provenance. Every brief carries a transparent badge — see below.
How briefs get published — transparent provenance, every time
Why we publish without mandatory human review
Every brief is generated by the rotation engine + AI synthesis and publishes on a scheduled cadence. We do not claim a human reviews every brief before it ships — that would be untrue, and it would contradict the central thesis of this publication, which is that the calibrated AI synthesis, constrained by the deterministic engine, is the analytical edge. The engine prevents the AI from contradicting the regime call. The AI carries the voice. The publication ships on time.
The two provenance badges on every brief
So readers always know exactly what they are reading, every brief carries a provenance badge:
- MacroLens Certified — every brief gets this. Generated by the rotation engine + AI synthesis. AI provenance is explicit, not buried.
- Founder Reviewed — a subset of briefs. The founder ran a 90-second pipeline-integrity check: does the engine call match the prose, no forbidden language ("you", specific tickers, sensational words), voice intact, disclaimer present. May include minor edits. This check happens at any time — before publication, after publication, or any time within a rolling two-week window. The badge appears on the canonical web version the moment the review is recorded, regardless of whether the brief was already in subscribers' inboxes. This is process hygiene, not editorial second-guessing. The AI synthesis layer does the analytical work. The Founder Reviewed badge confirms the data pipeline didn't break and the methodology constraints held.
Why both states are honest
Both states are auditable on the brief page. Readers can always see which is which.
We treat AI provenance the way nutrition labels treat ingredients: not as a posture, not as a press release, but as a default visible to every reader on every brief.
The "Should I Worry?" tool
"Should I Worry?" responses are generated on demand by the AI synthesis layer and grounded in the same rotation engine that produces the daily brief. When a response says "credit markets are accepting risk," that claim traces deterministically to the HYG/TLT ratio above its 21-day average above its 50-day average, today, at the timestamp shown in the response. The grounding is reproducible and verifiable. Responses are produced individually, not pre-curated, so they do not carry the founder-review badge — the engine grounding is the integrity layer.
Data sources
- yfinance — daily ETF close prices (six rotation ratios + the index snapshot).
- FRED — Federal Reserve Economic Data series (CPI, unemployment, Fed funds rate). Optional; the engine works without it.
- Treasury.gov, SEC EDGAR, FOMC press releases — authoritative source documents referenced in briefs as warranted.
Macro Lens does not use proprietary data feeds, does not maintain advisory accounts, and has no order flow visibility. The methodology is reproducible from public data because it has to be.
What we mean by "AI for Good"
AI for Good, in the way Macro Lens uses the phrase, means the deliberate use of agentic AI to close a capability gap that was previously gated by wealth, in a way that materially improves the autonomy of ordinary people. The early warning system Bloomberg sells to hedge funds, rebuilt for the surgeon and the retired engineer, is the literal definition of the phrase as we use it. Press releases are not.
Methodology versioning
The framework is versioned. Current version is 1.0. Future revisions — new ratios, threshold changes, momentum overlays — will be published here with effective dates and rationale. This is how a serious publication treats analytical infrastructure.
Questions and feedback
Direct everything via the contact form. Reasoned criticism is welcome. We update the methodology when the criticism is right.