Updated October 4, 2026
Exposure engine
EXPO: scenario shocks, operating exposure ranges and filing evidence across holdings.
EXPO analyzes a typed ticker list, watchlist or portfolio against country, region, supplier, customer, commodity, interest-rate, currency and tariff shocks. The scenario library includes Taiwan disruption, China demand, a semiconductor export ban, oil, rates, USD, a TSMC outage and a customer capex cut. Customize the targets and shock sizes, or combine shocks in one scenario.
Pro supports 100 holdings and four relationship hops. Free and signed-out previews analyze the first holding at one hop. Preview totals include only that holding and preserve its original weight.
Table shows each holding's operating exposure range, stress contribution, basis and reporting period. Drivers shows current company KPIs, active guidance and credit disclosures with native units, fiscal periods, conditions and source evidence. Paths opens the relationships behind a result with each hop's quote, filing, evidence tier, date and reporting entity. Portfolio shows signed and gross weighted exposure alongside country, supplier and customer concentration. Missing disclosures and unsupported assumptions remain visible.
Read the numbers
An exposure is a share of an operating denominator such as revenue, purchasing costs or receivables. Revenue exposure and purchasing exposure stay separate, as do different reporting periods. NAV weights are signed fractions: 0.25 means a 25% long position; -0.1 means a 10% short. Weights are never silently normalized. Cash and residual financing remain explicit.
Weighted exposure is an operating stress contribution. It does not forecast a share-price move or portfolio profit and loss. The engine has no calibrated equity beta or valuation pass-through model.
Direct filing percentages can be disclosed. SEG shares calculated from tagged amounts, region allocations, country/product intersections and chained percentages are estimates. All scenario impacts are estimates. A range describes uncertain disclosure overlap or a stated assumption, not a statistical confidence interval.
Validated, disjoint revenue rows can add. Overlapping paths use conservative bounds. Multiplying compatible percentages produces a separately labeled proportional estimate; it does not establish how an intermediate company's activity is allocated to the holding. A supplier's percentage of sales is never inverted into the buyer's purchasing share.
Country demand shocks scale supported geographic revenue. Revenue destination does not establish manufacturing location, import origin or invoice currency. Domicile and sector provide context. Commodity, tariff, FX and rate impacts require a disclosed sensitivity or an explicit user transmission assumption; otherwise the impact is unknown. Hedges, substitutes, indirect relationships and unreported counterparties can materially change the result.
Sources and coverage
EXPO reads Gloom's retained SPLC relationships, SEG revenue facts and cached listing profiles. Supply-chain entity identifiers work globally where stored disclosures exist. SEG currently covers the SEC dimensional revenue dataset; non-US issuers are covered when their facts or relationships are available. Countries are matched by exact ISO codes and multilingual names. A filer-defined region such as Greater China is not automatically allocated to individual countries. When only a taxonomy label is available, the engine uses a zero-to-share range because a label can hide a broader scope; a sourced definition is required for an exact country allocation. Regional totals retain the possible contribution of unallocated geography.
Every calculation carries its period and evidence, including primary filing links and accession revisions. Q4 derived from annual and nine-month amounts retains both inputs. The analysis uses the latest stored facts: SEG corrections supersede old values, so EXPO cannot reconstruct a historical point-in-time portfolio. A refresh reads current stored data and does not trigger extraction.
Company KPI, guidance and credit adapters read stored disclosures. Conflicting actuals, withdrawn guidance and closed debt instruments are excluded. Credit commitments remain separate from drawn balances; uncomputable, stale or conditional covenant headroom stays unknown. Source previews apply before drivers are returned, including through MCP. Empty or failed sources appear among the coverage gaps. These observations provide scenario context; they do not infer rate or FX sensitivity, future earnings or equity returns.
Programmatic access
Use GET /cloud/exposure/scenarios for the editable library and POST /cloud/exposure/analyze for analysis. The request contains holdings, scenario, optional cashWeight, and depth. The response includes holding components, complete evidence paths, portfolio measures, concentrations, company drivers and unknowns. REST applies the caller's Pro entitlement and returns private, non-cacheable results.
MCP and Ask Gloom expose portfolio.exposure with the same request fields and entitlement. MCP results keep evidence inside each holding or concentration row and report truncation when the response limit is reached. Use REST for the complete response.
{
"holdings": [{ "symbol": "AAPL", "weight": 0.4 }],
"cashWeight": 0.6,
"depth": 2,
"scenario": {
"label": "Japan demand -20%",
"shocks": [{ "id": "japan", "kind": "country", "target": "JP", "changePct": -20 }]
}
}Use SPLC for the wider supply-chain graph, SEG for revenue partitions, DES for company context, FA for financial statements and G for price history.