Event classifiers on SEC filings · for a quant desk
Every sentence a public company files, scored against a library of event classifiers and stamped with a date. The raw hits are the substrate; the value is what you build on top — a company story read down one name, or echo, streak, and rolling z-scores read across time. 15 years, point-in-time, provenance to every primary filing.
The raw material
Each classifier answers one economically meaningful question about one sentence — is_demand_softening, is_pricing_power_expanding, is_restatement_announced — and emits a calibrated probability plus an alpha direction. Frozen and versioned, every hit deep-linked to the primary EDGAR filing.
The library
Classifiers group into families by the economic thread they trace. Each name below is a real production classifier; the arrow is its alpha direction.
Revenue quality moving in the MD&A before it reaches the print — the softening, the price increase, the backlog.
▼ is_demand_softening · ▲ is_pricing_power_expanding
▲ is_backlog_building · ▲ is_market_share_gaining
Where operating leverage turns — cost structure, utilization, and the working-capital tells that lead it.
▼ is_operating_margin_declining · ▲ is_cost_structure_improving
▲ is_utilization_improving · ▼ is_dso_deteriorating
The disclosures that lead a re-rating — you see them in the filing before they hit the 8-K wire.
▼ is_restatement_announced · ▼ is_auditor_change
▼ is_management_exodus · ▼ is_reverse_stock_split_effected
Balance-sheet and control events — refinancings, takeover defenses, ownership shifts.
▲ is_debt_refinanced_favorably · ▼ anti_takeover_poison_pill
▲ is_institutional_investment
Cross-sectional work only holds if a classifier reads each industry's own drivers. It does — a sentiment score can't tell a dry hole from a discovery.
Biotech is_trial_endpoint_missed, is_clinical_hold · Energy is_proved_reserves_upgraded · Mining is_resource_estimate_upgraded · Banks is_allowance_for_loan_losses_disclosure · Retail is_same_store_sales_declining · SaaS is_bookings_deceleration
How they're built & validated
Each classifier is a calibrated logistic model on 768-dimension E5 sentence embeddings. They come from two places — roughly half hypothesis-driven, half data-driven.
Designed from an investment thesis: hypothesize the event, pull and label examples, train. Every one has a name you can read — and audit.
Unsupervised. HDBSCAN over the embedding space surfaces recurring events no analyst hypothesized, each trained into its own classifier — then held to the same bar.
AUC is necessary, not sufficient. A model can hit 0.98 AUC by separating its training set and still fire on the wrong real-world sentence. So every classifier clears a validation battery on held-out, cross-validated data — and the ones that don't never ship.
Plus fire-rate and coherence gates that cut topic-detectors and vocabulary-matchers — models that pass AUC but fire on the concept's neighborhood, not the concept.
The cooking layer
Because every hit is timestamped, a classifier is a time series — per name or per sector. The platform cooks those series into signals with historical memory. A rolling z-score is one; here's the fuller kit.
Rolling windows on frozen, point-in-time data means every cooked value is backtestable with no lookahead — the number on any date is exactly what you'd have computed that day. Drop it in as a factor, or wire the crossing as an alert.
Reading one name
Pull every classifier that fired on a company over a window and the story assembles itself. Four positive events off one routine quarter is an acceleration read the tape hasn't priced.
Straight talk