Kaleidoscope  /  Signal Research
Prepared for Jump Street

Event classifiers on SEC filings · for a quant desk

529 validated event classifiers — and a cooking layer that turns them into signal.

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

Discrete, dated, directional.

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.

529
Event classifiers
745M
Timestamped hits
15YR
Point-in-time
~47S
Accept → scored

The library

Organized by the story they tell.

Classifiers group into families by the economic thread they trace. Each name below is a real production classifier; the arrow is its alpha direction.

Demand & pricing power

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

Margins & efficiency

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

Distress & red flags

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

Capital & governance

Balance-sheet and control events — refinancings, takeover defenses, ownership shifts.

▲ is_debt_refinanced_favorably · ▼ anti_takeover_poison_pill
▲ is_institutional_investment

… and native to every sector

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

Two origins, one bar.

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.

159

Human-curated

Designed from an investment thesis: hypothesize the event, pull and label examples, train. Every one has a name you can read — and audit.

370

Cluster-discovered

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.

0.97
Median test AUC
97% score above 0.90 out-of-sample.
4.25
Median d′ separability
Every production classifier clears d′ ≥ 2.5.
≥75%
Top-hit precision @20
Precision on real sentences it never saw — median 100%.

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

Raw hits are the commodity. The cooking is the moat.

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 z-score
Fires when a concept runs far above its own baseline. Unit-free, cross-sectionally comparable, global or self-relative.
echo
Decaying memory of how strongly a signal has reverberated — persistence, not just a single-filing blip.
streak
Consecutive filings a signal keeps firing. A fourth straight quarter of softening is a different read than the first.
markov stickiness
Probability a state persists vs. is just onset — separates a new event from an entrenched one.
entropy surprise
How novel this filing's whole signal set is versus the company's own history. A quiet name suddenly lighting up.
category composites
Themed rollups — catalyst, distress, operational, governance — that echo and streak as a group.
is_demand_softening · sector intensity, rolling 8-qtr z-score latest: +2.8σ
z-score ±1σ baseline ±2σ alert

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

The events line up into a thesis.

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.

One 10-Q, read by every classifier signal stack · acceleration setup
is_backlog_building“Contracted backlog rose to a record, bookings outpacing revenue.”0.94
is_pricing_power_expanding“List-price increases absorbed by customers without volume loss.”0.91
is_market_share_gaining“Wins against incumbent suppliers drove share gains in the core segment.”0.88
is_cost_structure_improving“Facility consolidation lowered fixed cost per unit year over year.”0.86
Flip the signs — softening demand, margin compression, aging receivables — and the same mechanic surfaces a deterioration thesis before the 8-K makes it official.

Straight talk

What it is, and isn't.

  • Features, not forecasts. Each classifier ships a direction and a historical IC. Individually the ICs are small — expected. They're inputs you weight and combine, raw or cooked.
  • Score is confidence, not magnitude. The probability the event is present in a sentence — never a return estimate.
  • US SEC filings. Not news, not transcripts. Every hit resolves to a primary EDGAR document, one click from the source.
  • Point-in-time throughout. Sentence scores and every cooked signal above are frozen and versioned — a backtest returns exactly what production returned then.