Skip to content

Sector constituents

The for_sector selector resolves a SEC SIC division name to its constituent ticker universe and drives the same per-symbol subscribe the symbol-first accessor argument ships. Operators no longer maintain a sector-to-ticker table — the resolution happens inside the engine behind one builder call.

Supported sectors

SlugSEC divisionSIC rangeAliases
agriculture_forestry_fishingA — Agriculture, Forestry, Fishing0100–0999Agriculture
miningB — Mining1000–1499(none)
constructionC — Construction1500–1799(none)
manufacturingD — Manufacturing2000–3999Manufacturing, Mfg, Industrials
transportation_communications_utilitiesE — Transportation, Communications, Utilities4000–4999Transportation, Utilities
wholesale_tradeF — Wholesale Trade5000–5199Wholesale
retail_tradeG — Retail Trade5200–5999Retail
finance_insurance_real_estateH — Finance, Insurance, Real Estate6000–6799Financials, Finance
servicesI — Services7000–8999Services, Tech, Technology
public_administrationJ — Public Administration9100–9729Public
CUSTOMCaller-supplied basketn(verbatim ticker list)

The bare-string accept-shape canonicalises case and slug — "manufacturing", "Manufacturing", and "MANUFACTURING" resolve identically — and accepts the Display-formatted division names ("FinanceInsuranceRealEstate") plus common short aliases ("Tech" → Services, "Financials" → Finance/Insurance/Real Estate, "Industrials" → Manufacturing). Unrecognised names fall through to an empty custom payload; the subscribe-side materialiser surfaces a structured invalid-spec rejection citing the offending input.

A crate-bundled embedded snapshot covers a curated subset of large-cap US tickers so the resolver is offline-functional with no network egress. Deployments that need the full upstream snapshot pre-install it at boot.

sector_rotation_strength auto-wire

The Sector rotation strength analytic additionally auto-populates its per-symbol (symbol, sector tag) mapping off the constituent cache. Consumers no longer thread their own sector mapping — the SEC-published per-registrant SIC codes flow into the analytic's sector-cohort classifier automatically.

Explicit overrides still win: a consumer that supplies its own (symbol, sector) mapping keeps it, because the auto-wire only fires when no mapping was supplied. This preserves the desk-supplied GICS / ICB taxonomy escape hatch.

Hydration semantics

Hydration is lazy and per-engine-session. The first for_sector("Manufacturing").subscribe(...) decodes the bundled offline snapshot — no network egress required. Subsequent subscribes against any sector reuse the session-level cached symbol map. The cache is session-level — every analytic builder on a single client shares one constituent map.

Tier-cap interaction

Sector resolution happens before the cap-aware subscribe gate, and the gate is symbol-list-count agnostic — for_sector("Manufacturing") and a verbatim Manufacturing-constituent accessor argument produce identical gate paths once the universe is materialised. A broad sector union can exceed a narrower tier's quote / trade cap. See tier quotas for the envelope.

Methodology and data sourcing

SIC — Standard Industrial Classification — was established in 1937 by the US Department of Labor. The SEC has published the SIC code of every registrant on the cover page of 10-K filings since 1939 and exposes the live value on its JSON submissions endpoint. SIC codes group into ten top-level divisions (A–J) per the boundaries the SEC publishes.

Why SIC and not GICS / ICB

GICS (S&P / MSCI) and ICB (FTSE) are the institutional standards but are licensed and cannot be redistributed. SIC sits in the public domain, published by a US government agency, and remains the authoritative taxonomy the SEC uses for filer metadata. It is coarser than GICS but is sufficient for breadth, rotation, and McClellan-style aggregates. Desks that require GICS / ICB granularity supply their own taxonomy via a custom ticker basket on the analytic accessor argument or via the analytic's explicit sector-tag override.

See also

Proprietary. All rights reserved.