v1.0 · Tier 4claude-haiku-4-5Live Story-rate × sentiment composite.
Catalysts and "storm" conditions don't move price linearly with story count — they move with story count × sentiment magnitude × novelty. v95 produces F08_news_velocity factor input + storm flags for the alert pipeline.
{
ticker: 'NVDA',
storyCount30m: 7,
storyCount24h: 42,
sentimentMean: +0.34, // -1..+1
sentimentStd: 0.42, // disagreement signal
novelty: 0.78, // vs trailing 7d baseline (1.0 = avg)
storm: true, // storm = ≥5σ above baseline
composite: 0.62, // F08_news_velocity input
topHeadlines: [{ title, source, sentiment, ts }, ...]
}
storm = (storyCount30m / baseline_30m) ≥ 5σ AND |sentimentMean| ≥ 0.4. Flags fire alerts in the inbox + suppress new entries on the playbook (event-window disqualifier per playbook §"when NOT to act").
engine/v95-news-velocity.js, fed by /api/news-aggregator, /api/news-flow, /api/sentiment-analysis
Reviewed: 2026-04-27 · Next: 2026-07-27 · Per Bible §15.61