How this works
Score corroboration
Trending concepts need either ≥3 co-occurring real companies, or ≥2 tracked commodity/FX instruments (for macro/geopolitical themes with no company driver) — political/geopolitical noise with neither is filtered out here.
Embed & compare
Each candidate is embedded locally and compared by cosine distance against every existing theme. Close match → attach. No match → a local LLM names a new theme.
Weekly signal
Every resolved fund launch or news cluster increments that theme's fund-launch and news-mention counts for its own real week — not the day it was processed.
Rank by trend
Computed fresh on every load from the weekly series, never stored: each week's news signal is the theme's share of all collected articles that week (so busy or quiet news weeks don't matter), compared with the theme's own trailing average. ≥1.5× → active. ≤0.5× → fading. Otherwise watching.