Method
How this is built, and where it stops being reliable
A monitor whose method is published can be argued with. That is the point of this page — and it ships before the board is reachable, not after.
Methodology version asymmetric-investor-brief:2026-08 · cycle 2026-W34 · scope: United States
The pipeline
Source to page1 · Collect
Deep research runs against a fixed source hierarchy per indicator. Official publishers first; vendor and press only where no official series exists.
2 · Interpret
Structured extraction into a numeric register — one row per indicator per observation, with units, source and observation date.
3 · Accumulate
Rows append to a persistent register. Revisions write a new vintage; nothing is overwritten. State is computed from the register, not from prose.
4 · Compose
Narrative is written from the register. A claim with no backing row cannot be published, which is what makes the prose auditable.
The separation matters: numbers and words come from one record, so the sentence and the chart can never disagree.
Thresholds and their basis
Every level declares how it was set"Hard-won" is provenance, not a basis. Each threshold below declares one of: defined by the source itself, drawn from published literature, set at a historical percentile, calibrated empirically against prior episodes, or analyst judgement. Analyst judgement is legitimate and is labelled as such.
| Indicator | Warn | Trigger | Basis | Source tier | Now |
|---|---|---|---|---|---|
| ISM services PMI | 51 | 48 | Source defined | Official | 55.4 |
| High-yield OAS | 400 bps | 450 bps | Literature | Official | value withheld — rights holder |
| Shiller CAPE | 43× | 45× | Percentile | Official | 40.58× |
| S&P 500 top-10 weight | 43% | 45% | Percentile | Vendor | 40% |
| BDC discount to NAV | 30% | 35% | Percentile | Vendor | 26% |
| U6 underemployment | 8.8% | 9.5% | Empirical | Official | 7.7% |
| Private credit default rate | 7% | 8% | Empirical | Press | 6.3% |
| Margin debt, y/y | 22% | 30% | Empirical | Official | — |
| Auction indirect bid | 63% | 60% | Empirical | Official | 79.2% |
| 30-year Treasury yield | 5.5% | 5.75% | Analyst judgement | Official | 5.61% |
| Hyperscaler capex growth | 10% y/y | 0% y/y | Analyst judgement | Official | — |
| Effective tariff rate | 17% | 20% | Analyst judgement | Official | 11.8% |
8 of the 12 levels declare a basis with no derivation recorded; open any row for what is and is not documented behind it. 1 is currently past its published warn level. 5 rows carry a board state that a straight read of the band does not produce, which the row explains. 1 comparison is withheld because the board's observation cannot be read against the published band.
What gets admitted
Inclusion rubricA candidate indicator must answer all nine before it renders. This exists so the second cut is not simply an accretion of whatever turned out to be fetchable.
- — Rationale: what question does it answer that nothing else does
- — Transmission channel: how does it reach a portfolio
- — Source tier: official, vendor or press
- — Cadence and publication calendar
- — Revision behaviour
- — History availability and depth
- — Threshold basis
- — Overlap with indicators already admitted
- — Licensing and redistribution rights
Declared gaps
Twelve indicators are a starting cut, not a macro framework. Known absences, stated rather than implied:
- — Inflation momentum and breadth
- — Policy-path expectations and real rates
- — Dollar and cross-currency funding conditions
- — Housing and consumer stress
- — Market breadth
- — Anything outside the United States
Four of the twelve admitted indicators are also universe-dependent — top-10 weight, BDC discount, private credit defaults and hyperscaler capex all depend on a defined constituent set that changes over time.
How to read the numbers
Three kinds of figure, two scalesNot every number on this site is the same kind of thing, and the difference matters more than any individual value. Three kinds are published, and each is presented differently on purpose.
Measured observations
A figure read from a named source with a stated release and revision policy — the twelve board indicators. These carry a source, a tier and a revision note, and they are the only figures on the site that a third party could independently reproduce.
Derived scores
A figure computed from measured observations by a stated formula. These are drawn as bars, because a bar invites comparison and these are comparable: the same formula over the same register produces the same score.
Assessed judgements
A figure the interpreter assigns, including every scenario probability. No formula reproduces these from the observation register. They are printed as numbers and never drawn as bars.
Why scenario probabilities carry no bars
Ruled 28 August 2026: the scenario probabilities published on the weekly read are not measurements. They are the interpreter’s assessed judgement over how the current episode resolves. A bar encodes magnitude and places a figure on the same visual footing as the measured series published elsewhere here, which would lend an authored number standing it has not earned — so the values are printed and the geometry is withheld. A scenario not assessed in a given cycle is shown as “not assessed”, never as zero, because zero would assert a judgement that was never made. This constraint is enforced in the build, not left to editorial discipline.
Two scales, and they are not the same axis
Composite and component health scores run 0.00 to 1.00, where a higher number is a healthier reading and the midpoint carries no special meaning. The asset-class-against-jurisdiction matrix is signed: the sign carries direction, zero is neutral, and the magnitude is a strength of read rather than a level of health. A 0.45 on the first scale and a −0.45 on the second are not opposites and not comparable. Where a figure appears without its scale stated, treat that as a defect on this page rather than as an invitation to infer one.
The aggregate posture, and how it is computed
posture-composite/v1 · declared, not assertedA single 0–100 figure summarising twelve indicators is worth publishing only if the reader can reproduce it. Until 2026-08-28 this site showed a posture of 65 that no field in the report or the persistent state produced: it was typed by hand, it could not follow the data, and the component board beneath it disagreed with it. That figure was withdrawn. What follows is the formula that replaced it. It is applied by one function that every surface on this site reads, so the strip, the posture panel and the board cannot quote different numbers.
The expression
posture = 100 × (1 − mean stress)
Each indicator with a reading contributes the stress weight of its tripwire state. Those weights are averaged over the assessed indicators only, and the mean is subtracted from one so that higher is calmer. The result is rounded half up to a whole number — stated because banker's rounding would send a posture of 62.5 to 62 while sending 63.5 to 64, and a published formula should not depend on which rounding rule a language happens to default to.
| Tripwire state | Stress weight | Meaning |
|---|---|---|
| CLEAR | 0.0 | Reading is inside its warn level |
| WATCH | 0.5 | Past warn, short of trigger |
| WARNING | 1.0 | At or past its trigger level |
| No reading | — | Excluded from the mean, counted in the denominator |
Coverage is published with the figure
12 indicators are tracked. The figure always travels with the count actually assessed — 8 of 12, not a bare number — because a posture computed over eight wires and one computed over twelve are different claims. The tracked count is fixed by the indicator set, so a cycle that ships fewer rows narrows the coverage, never the denominator.
Below 8 assessed it is withheld
With fewer than 8 of the 12 indicators carrying a reading, no figure is published and the reason states the count. A thin composite is not published with a caveat attached: a number on the page is read as a number, whatever sits beside it in smaller type.
A wire with no reading is not a calm wire
Absence is not a state. An indicator whose reading is missing is excluded from the mean rather than treated as clear, which would let the composite improve as coverage got worse. It still appears in the denominator, so the loss of coverage is visible instead of silently flattering the figure.
This is not Macro health
The posture composite runs over the twelve discrete tripwire states. Macro health, shown on the status strip, averages five continuous macro component scores on a 0–1 scale. Different inputs, different scales, different meanings; neither is the other, and neither is signal.system_average_score, the signed stress index where lower is more stressed.
The week-on-week move shown with the figure is recomputed from the recorded indicator history under this same formula, so a change in the posture cannot come from a change in method. Where a past week did not meet the coverage floor, that week is absent from the trend rather than interpolated. The formula is versioned (posture-composite/v1) and declared in the repository as data; a check in the build fails if this page and the code disagree about any of the numbers above. No band labels — “calm”, “fragile” — are attached to ranges of this figure, because no calibration exists yet to justify where such a boundary would sit.
Track record
Published on one dated pageEvery claim about how this model has performed lives on the validation page and nowhere else, labelled by basis — live publication or retrospective simulation, never merged into one number. It is not repeated here, on the read, on the monitor or on the posture map, because a hit rate printed next to a live reading is read as a forecast of that reading.
Also on that page: the regime audit, the source-tier breach we have not resolved, and what would have to change for a live record to begin.
Validation record →Why some panels say pending
Collecting, not publishedA panel marked pending has a producer that is still collecting. It is not an error, and it is not a panel we have forgotten: it is the state a measurement occupies before there is enough of it to publish. Nothing is shown in one until the pipeline produces it, because a placeholder value is indistinguishable from a measurement once it is on the page — a reader who sees a number does not also see the note explaining that the number was invented to fill the space.
A panel marked not published is a different state. There, the producer ran and returned nothing publishable for this cycle — no upstream source reported, or too few of the inputs carry a reading for the result to mean anything. The panel states the reason rather than falling back to the previous cycle’s figure, because a stale number presented without its date is the most durable kind of error we can make.
Both states are deliberate and both are reversible without any change to the page: when the producer publishes, the panel fills. That is also why we do not estimate when it will. The alternative to a pending panel is not a fuller page; it is a page that is wrong in a way you cannot see.
How freshness is stated
Cycle provenanceThe banner at the top of every page states which cycle produced the figures below it,
taken from the published record’s own meta.published field, together with the next scheduled
run derived from the dispatcher schedule (Sundays, 08:00 UTC). The banner reads
awaiting this week’s cycle only when the published cycle genuinely predates the most recent
scheduled run; when the cycle is the current one it says so instead, and when the record carries no readable
publication date it says that, rather than implying freshness by omission.
We deliberately do not print an age in days. A static page cannot carry a live number:
“seven days old” is true on the morning it is built and false every day after. What the page can
state truthfully is the cycle that produced it and when the next is due, so that is what it states. The cycle
timestamp is also published as a machine-readable data-cycle-published attribute for anything that
wants to compute an age at the moment of reading.
Note the scope of the claim: it covers the data-bound figures on the page. Standing explanatory prose is authored, not regenerated each cycle, and is not warranted by the banner. Each hand-authored block instead carries its own As of line, dated from the date that text was authored; where no authored date is recorded the line says so, and it never borrows the build date.
Revision policy
Corrections logEvery observation is stored against the period it describes, when we retrieved it, and when the source published it. A revision does not edit the earlier row — it writes a new vintage and points back at the one it supersedes.
Consequence: history on this site shows the state that was computable at the time, not the state that is computable now. That makes the board less flattering and the record more usable.
- Observation date
- Period described
- Retrieved at
- When we fetched
- Source released at
- Publisher timestamp
- Vintage
- Monotonic per series
- Supersedes
- Prior vintage, or null
- Quality
- observed · provisional · revised · estimated · stale · unavailable
Why it matters commercially
A monitor that quietly restates last month's number is indistinguishable from one that got it right. The corrections log is the cheapest trust artefact available on a priced macro surface, and it is the reason the track record below can be labelled honestly.
It also constrains us: once a vintage is published it cannot be edited, only superseded. That is the intended effect.
Recent corrections
Pending We are collecting the point-in-time corrections ledger. Why nothing is shown
◇ Illustrative. Requires the point-in-time vintage fields, which the pipeline does not emit yet.
Known limits
Read this before relying on any of itScope is the United States
Every deterministic source is a US publisher. The board is titled by scope for that reason. Jurisdiction pages carry non-US narrative, but no non-US indicator is admitted to the board.
7 of 12 have no reading
Shiller CAPE; S&P 500 top-10 weight; Margin debt, y/y; ISM services PMI; U6 underemployment; BDC discount to NAV; and Auction indirect bid are shown dark. The count is published on the board rather than quietly excluded from the denominator. A further Effective tariff rate, Hyperscaler capex growth, and Private credit default rate have a reading carried at reduced confidence (estimated) rather than none at all.
The aggregate posture is derived, and loses information
A single 0–100 figure over twelve heterogeneous series discards which wire is firing and by how far past its level. It is published because the alternative in practice was a hand-typed number that could not follow the data — the 65 carried on the read, monitor and posture pages until 2026-08-28 — not because one scalar is a sufficient account of twelve. The formula is published above with its coverage denominator, it is withheld below eight assessed indicators, and the component board remains the fuller answer to the same question. A gate refuses any gauge no builder emits.
Thresholds are candidates
Three of twelve rest on analyst judgement. They are labelled, and they are the first candidates for recalibration as history accumulates. All three are on watch this cycle, so the least-calibrated levels on the board are also the ones currently signalling. Two of those have no settled observation behind the state (estimated).
Two scenario vocabularies exist
The brief and the underlying state use different scenario sets that are not mappable one-to-one. Both are published until one is ratified; neither is silently preferred.
Directional, not quantitative
Stress scores order and compare conditions. They are not return forecasts, and no cell or score implies an expected magnitude over any horizon.
What this is, and is not
Macro data and analysis, published with its method. Not advice, and not tailored to anyone.
Asymmetric Investor publishes indicator readings, regime assessments and directional macro analysis. It does not make personal recommendations, does not assess suitability, and does not know or take account of any reader's circumstances, objectives or risk capacity, so there are no risk-profile tiers. What it will not do is name an individual security to buy or sell. Within that limit it publishes the regime, scenario weights, the tripwire board and the judgments behind them. What the data supports is published in full; what it does not support is labelled as absent.