Sentiment Intelligence
Methodology
How we collect, process, score, and validate market sentiment signals across 185 financial assets — with full backtesting results and open methodology.
Data coverage
SentiSignal aggregates news from financial news outlets, crypto publishers, commodity and energy news feeds, social media aggregators, and central bank data feeds. The 185 tracked assets span four classes:
| Asset class | Count | Examples | Sentiment pipeline |
|---|---|---|---|
| Cryptocurrency | 130 | BTC, ETH, SOL, XRP, DOGE, AVAX… | Full — all 5 stages |
| Commodities | 20 | GOLD, SILVER, OIL_BRENT, NATURAL_GAS, WHEAT… | Full — all 5 stages |
| FX pairs | 35 | EUR/USD, GBP/USD, USD/JPY, AUD/USD… | LLM only — no algo prefilter |
| Macro indicators | 13 | VIX, SPX, DXY, US10Y, YIELD_SPREAD… | LLM only |
The 5-stage sentiment pipeline
Every ingested article passes sequentially through five stages. The two-stage prefilter eliminates irrelevant content at low cost before the more expensive deep-analysis stages are invoked.
Algorithmic Prefilter
3-tier keyword matching (safe identifiers / industry terms / reject) applied to title and snippet. Scope: crypto and commodity only — FX excluded by design.
LLM Prefilter
Relevance classification on title + snippet (≤400 chars). Resolves ambiguous cases keyword matching cannot handle.
Content Fetch
Full HTML extraction via headless browser crawler. TDM opt-out declarations are respected.
LLM Deep Analysis
Full-article scoring across 6 dimensions: generalSentiment (–1 to +1), plus quality, credibility, importance, market_impact, and influence scores (0–1 each). Per-symbol sentiment extracted for every tracked asset mentioned.
VADER Cross-Validation
Rule-based lexicon analysis as a deterministic consistency anchor. Compound score: s / √(s² + 15), clamped to [–1, +1]. Constants: B_INCR=0.293, negation=–0.74, ALL-CAPS=0.733.
Composite signal formula
The production signal combines two validated components at empirically derived weights, computed hourly per tracked symbol:
composite(t) = 0.585 × z(article_volume[t])
+ 0.415 × is_extreme(sentiment[t])
S1 — Article Volume Z-Score
Weight: 0.585
All-crypto article volume z-score normalized over a rolling 30-day window. A spike in article volume — regardless of direction — precedes BTC volatility increases at a +2h lag.
S2 — Sentiment Extreme Flag
Weight: 0.415
Binary flag triggered when BTC sentiment reaches the 95th or 5th percentile of the rolling 30-day distribution. Extreme sentiment episodes exhibit a contrarian property at +24h.
Backtesting results
Volume–Volatility Correlation
All-crypto article volume predicts BTC realized volatility. Peak Pearson r = 0.211 at +2h lag (p<0.001, n=1,393). Statistically significant at lags +0h through +8h. ETH spillover: r=0.201 at +2h.
Extreme Sentiment Reversal
Bullish extremes (top 5%, 64 events): 72.1% reversal at 24h, avg return –1.02%. Bearish extremes: 53.3% reversal — a notable asymmetry between fear and euphoria signals.
Out-of-Sample Validation
3-fold (60d train / 30d test): avg out-of-sample r = 0.181, accuracy 53.3%, Sharpe 5.81. BTC multi-asset: r=0.189, accuracy=57.3%, Sharpe=7.46 → GO status.