Sentiment

What the news is saying

Every headline in our news feed is scored by FinBERT — a language model trained on financial text — as positive, negative or neutral for the market it concerns. Scored every 12 hours — 07:30 SGT as the US day closes and 19:30 SGT as Asia's closes — to bookend the day's regime verdicts. Each gauge is the average over the last 24 hours of headlines (widened to 48h when a market has fewer than 10); the chart tracks the daily average over time. Sentiment is what's being written, not what price is doing — divergence between the two is often the interesting part.

News sentiment right now

FinBERT news sentiment, scored every 12 hours (07:30 and 19:30 SGT), as of 2026-08-05 12:12 UTC: S&P 500 +0.20 (positive, 47 headlines/24h) · Nasdaq 100 +0.09 (neutral, 56 headlines/24h) · Euro Stoxx 50 +0.22 (positive, 48 headlines/24h) · Nifty 50 +0.16 (positive, 66 headlines/24h) · Nikkei 225 +0.15 (positive, 51 headlines/24h) · KOSPI Composite +0.23 (positive, 39 headlines/24h) · Shanghai Composite +0.21 (positive, 46 headlines/24h) · Bitcoin -0.00 (neutral, 80 headlines/24h) · Ethereum -0.00 (neutral, 80 headlines/24h) · Gold +0.17 (positive, 31 headlines/24h) · Silver +0.20 (positive, 51 headlines/24h) · Global Macro +0.00 (neutral, 63 headlines/24h). Score = P(positive) − P(negative) averaged over each market's recent headlines, −1 to +1.

How to read this page — start here

What's being measured. Our news feed collects headlines for each market from public RSS feeds, hourly. Each headline is run through FinBERT — a BERT language model fine-tuned on financial text (Araci, 2019) — which reads the headline and outputs probabilities that its tone is positive, negative or neutral for the market it's about. A headline's score is P(positive) − P(negative), from −1 (clearly bearish wording) to +1 (clearly bullish wording). Scoring runs every 12 hours — 07:30 and 19:30 SGT — once after the US close as Asia opens, and once after Asia's close ahead of the US session, so each reading is "the tone going into the next session". Each market's gauge averages its headlines over the last 24 hours, automatically widening to 48 hours whenever a market has fewer than 10 headlines, so no gauge rests on a tiny sample.

ReadingWhat it meansWhat it doesn't mean
positive (avg ≥ +0.15) Coverage of this market is leaning constructive — upbeat wording dominates the feed. Not a buy signal. The press is often most bullish near tops.
neutral (between) Mixed or factual coverage — no strong tilt either way. Not "nothing happening" — big but balanced news lands here too.
negative (avg ≤ −0.15) Coverage is leaning fearful or critical. Not a sell signal — peak-fear headlines often cluster near bottoms.

How to actually use it: look for divergence. Sentiment is what's being written; the regime models track what price is doing. When the two agree, the narrative is confirming the tape. When they diverge — a bull-regime market with persistently negative headlines, or euphoric coverage of a market the models call bear — that tension is usually more informative than either reading alone.

Honest limitations. Only the headline text is scored, never the article. The headline count matters — an average over 5 headlines is far noisier than one over 40, so check the count under each gauge. Feed composition adds its own bias (crypto media skews excitable; wire services skew dry). And FinBERT reads tone, not truth — a confidently wrong headline scores the same as a right one. Treat this as a narrative gauge, one lens among five, never a standalone signal.

Daily sentiment

Recent scored headlines

Sentiment labels are FinBERT model output (ProsusAI/finbert), scored on the headline text only — not the publisher's view and not investment advice. Score = P(positive) − P(negative), from −1 to +1. Headlines are aggregation-only and always link to the original publisher. Headlines collect hourly; scoring runs every 12 hours (07:30 and 19:30 SGT).