Signal trajectory visualization

On April 1, 2026, Nike filed a 10-Q. Buried in the risk factor section was a sentence about operating margin pressure. Our classifier flagged it. It was the 19th time in a row.

Nineteen consecutive quarterly filings. Five years. Through CEO changes, strategic pivots, pandemic disruption, and two product cycles. Every quarter, Nike has found a way to say operating margins are under pressure. Every quarter, we have caught it.

If you were reading that April filing cold, you would see a company acknowledging some margin challenges. That is not news. Nike has been talking about margins for a while now.

But 19 in a row is something else. This is what "cooking" a financial signal means — not telling you what a company said this quarter, but what it has been saying for the last five years.
270M
Cooked Rows
signal records, updating live
407
Signal Sources
SEC, 8-K, insider, credit
20+
Years of History
back to 2004
19
Nike Streak
consecutive quarters flagged

The Commodity Problem

Every quant fund has the same raw data. EDGAR publishes SEC filings for free. FINRA publishes bond trades. FRED publishes macro indicators. The SEC publishes insider transactions the day they are filed. If you know how to run a data pipeline, the raw material is all there for anyone willing to download it.

So why do some funds consistently find signals in this data and others do not?

The answer is not better data. It is better cooking.

Raw data is a snapshot. A sentence from a 10-Q tells you what one company said at one moment. A Form 4 tells you one insider bought some shares on one day. A spread widening tells you bond investors got nervous during one week.

These are all inputs. None of them is a signal. A signal requires context: is this normal for this company? Has it been happening? Is it getting worse? How does it compare to what the company has said in the past?

Context requires history. History requires cooking.

Raw vs. cooked signal comparison

What Cooking Adds

Provenance Stream is built on one idea: every raw data point becomes more useful when you know its trajectory. Not just "this classifier fired" but "this classifier has fired for eight consecutive quarters, its echo has been climbing for a year, and today it fired more intensely than 97% of the time it has ever fired for this company."

We apply the same transformation battery to every source:

Echo Decay
Signal Memory
Measures how persistently a signal has appeared across a company's history. A fresh firing = 1.0. Three consecutive firings push it to 2.19. Twenty quarters of steady firing sits above 5.0. When it stops, echo decays — but slowly.
Streak
Consecutive Count
Counts consecutive firings. Nike's 19. A new signal's 1. A broken streak's 0 even when echo is still 4.0 — a signal of potential change that echo alone would miss.
Bernoulli Z-Score
Anomaly Detection
Measures how unusual the current state is — globally (how rare across all companies) and locally (how rare for this specific company). A company that has never disclosed a restatement suddenly doing so has a local z-score of 9+.
Markov Stickiness
Persistence Model
When this classifier fires, what is the probability it fires again next quarter? High stickiness identifies entrenched conditions. Low stickiness identifies transient events.

We compute these metrics for 407 SEC classifiers, 28 8-K item codes, 7 insider signal types, credit spread events, and price-based features — across every public company with enough history, going back to 2004. That is 270 million cooked signal rows, updating continuously.

Cooking pipeline — from raw data to cooked signal

The Convergence Moment

A single cooked signal is better than a single raw signal. The real advantage comes from cross-source convergence.

Cooking normalizes signals across different data sources into the same temporal frame. Echo works the same way on SEC classifiers, 8-K item codes, insider buying patterns, and credit spread events. Once every channel speaks the same language, you can ask: when do multiple channels fire on the same company at the same time?

The answer, empirically, is "when something big is about to happen."

Consider the shape of a typical corporate crisis:

SEC Filing
Going-concern language in 10-Q
Streak: 3 · Echo: 2.4 · z-score: +6.1
Credit Spread
Spread widening +180 bps
Local z-score: +4.8 · 3-week trend
Form 4 Insider
Insider buying stops entirely
Conviction: 0 · Historical avg: 0.42

Each of these signals, individually, is a weak signal. The base rate for any of them to precede a big move is low. Together, they are a different story.

Provenance Stream's design philosophy is that the platform does not decide what "together" means. We cook every signal. We store every cooked signal in a queryable database. Our consumers — portfolios, risk teams, clients — apply their own rules to the cooked stream.

Why This Is the Moat

Raw data is commodity. SEC filings, insider transactions, credit spreads, and stock prices are available to anyone who knows where to look and has the engineering to ingest them.

The cooking is not commodity.

Training 407 NLP classifiers on 30 years of regulatory text is not something a competitor replicates in a quarter. Neither is the per-company temporal cooking. Neither is the cross-source normalization. Neither is the data-quality work of recognizing reverse-split artifacts and SPAC trust-value trading and CIK mapping issues that corrupt downstream analysis when left unfixed.

Bloomberg
Raw News
no temporal cooking
Quandl
Raw Alt Data
no cross-source echo
Provenance
Cooked Stream
echo · streak · z-score · stickiness

The 19-quarter Nike streak is not in Bloomberg. It is not in NeuData. It is in Provenance Stream.

What Clients Do with It

Every number in this post came from a query against our database. Here is one:

Query — NKE operating margin signal pseudocode
// for a given company + classifier + filing date
// ask: what does the cooked signal look like right now?

find cooked_signals
  where company = "NKE"
    and classifier = "operating margin declining"
    and filing = "2026-04-01"

return echo, streak, stickiness

The result is one row:

tickerclassifierechostreakstickiness
NKE is_operating_margin_declining 4.96 19 0.65

Not a score. Not a rating. Not a prediction. A cooked signal they can reason about, filter, combine with other signals, and use as input to their own investment process.

What they do with it is their edge. That we cook the signal in the first place is ours.