Sentiment Energy
Definition
Sentiment Energy is a single bullish-vs-bearish reading for an asset. It answers one question: right now, is the crowd unusually bullish or unusually bearish about this coin — and is there real volume behind it?
It is built on top of the Sentiment Bullish / Bearish metrics, which add up the model’s bullish, bearish, and neutral scores across every social message (document) about an asset — classified by Santiment’s CryptoBERT model across Telegram, Twitter/X, Reddit, 4chan, Bitcointalk, and more. Sentiment Energy combines those totals into one easy-to-read line.
Intuitive definition
Think of it as a needle that swings between bullish and bearish:
- Positive values — bullish energy. There is more bullish than bearish chatter than is normal for this asset, and there is volume behind it.
- Negative values — bearish energy. The balance has tipped unusually bearish.
- The bigger the value, the stronger the signal — either the balance is more lopsided than usual, or there is simply a lot more chatter than usual, or both.
- Around zero — nothing unusual. Sentiment is mixed, or the asset just isn’t being talked about much right now.
The key word is unusually. Sentiment Energy always compares today’s balance to the same asset’s own recent history, not to some fixed scale. That keeps it honest: a quiet coin and a mega-cap are each measured against their own normal, so a spike means the same thing for both.
How to read it
| You see… | It means… |
|---|---|
| Large positive value | Strongly bullish crowd, with volume — a notable positive shift |
| Small positive value | Mildly bullish, or bullish but on thin volume |
| Near zero | Normal / mixed sentiment, or quiet period |
| Small negative value | Mildly bearish |
| Large negative value | Strongly bearish crowd, with volume — a notable negative shift |
Many users overlay it on price to eyeball whether crowd sentiment is leading, lagging, or diverging from the market.
Technical definition
The metric starts from a 5-minute base series and is built in a few simple steps (here a “bucket” is one time step — for example a day, an hour, or 5 minutes):
- Add up the sentiment. Sum the bullish, bearish, and neutral message scores in the bucket. The bullish-vs-bearish balance is measured as the (log) ratio of the bullish total to the bearish total.
- Compare to the asset’s own past. Rank that balance against the last 180 days of the same asset’s history: out of the last 180 days, how unusual is today’s balance? This step removes the model’s natural optimism and makes assets comparable to themselves.
- Put it on a clean scale. The rank is reshaped onto a -1 to +1 scale, so middling readings sit near zero and only genuine extremes approach the ends.
- Weight by volume. Multiply by how much total chatter there was. The same sentiment from 1,000 messages counts for more than from 5.
- Smooth. Apply a short exponential moving average so the line is readable and not jumpy.
Because of step 4, the published value is centered on zero but not capped at ±1 — strong, high-volume moves can push it to several units in either direction. The sign is the direction; the size reflects how unusual and how loud the sentiment is.
Because step 2 ranks each reading against the last 180 days of the same asset’s history, values are not meaningful until an asset has roughly six months of social history behind it.
Formulas
For one asset and one time bucket at a given interval, let , , be the building-block Sentiment Bullish / Bearish / Neutral values — each a sum of sentiment scores over the messages in the bucket — and let the total volume be .
1. Balance signal — log-ratio of the bullish vs bearish totals:
2. 180-day percentile rank of against the same asset’s earlier buckets :
3. Normalize to via the inverse standard-normal CDF :
4. Volume weighting:
5. EMA smoothing — exponential moving average with span (so ):
Default span for the daily interval and for hourly and 5-minute.
Good to know
Sentiment Energy is a relative signal. A value of +2 for one asset and +2 for another both mean “unusually bullish for that asset” — it is not a cross-asset absolute scale.
Access
As of this writing, the SanAPI returns the following error for every asset covered by these metrics, regardless of subscription tier:
The metric
integral_sentiment_bbis currently in beta phase and is exclusively available to alpha and beta users.
Measuring Unit
A signal centered on 0. Typical values fall roughly between -1 and 1, but the value is not hard-capped and strong, high-volume moves can push it further in either direction. Positive means bullish, negative means bearish.
Data Type
Change Metrics
No _change_1d, _change_7d, or _change_30d variants exist for these metrics.
Frequency
Sentiment Energy ships as three separately computed base series:
integral_sentiment_bb— five-minute intervalsintegral_sentiment_bb_1h— hourly intervalsintegral_sentiment_bb_1d— daily intervals
Each of these can also be queried at coarser aggregation windows: the 5-minute series at 1h, 2h, 3h, 4h, 6h, 8h, or 12h; the hourly series at those same hourly windows; and the daily series at 2d, 3d, or 7d.
Latency
Available Assets
Available for these assets.
Unlike most metric families on this site, the three base series do not share the same asset set. As of this writing:
integral_sentiment_bb(5-minute) — 2,146 assetsintegral_sentiment_bb_1h(hourly) — 2,227 assetsintegral_sentiment_bb_1d(daily) — 2,597 assets
The daily series covers more assets than the hourly series, which covers more than the 5-minute series — consistent with the 180-day warm-up requirement being easier to satisfy at a coarser, less data-hungry interval.
Sanbase
Sentiment Energy is available in the Sanbase app at all intervals except 5-minute, which is API-only via SanAPI.
SanAPI
Available under the metric names integral_sentiment_bb, integral_sentiment_bb_1h, and integral_sentiment_bb_1d.
Sentiment Energy for an Asset
{ getMetric(metric: "integral_sentiment_bb") { timeseriesDataJson( slug: "ethereum" from: "utc_now-7d" to: "utc_now" interval: "5m" ) }}As of this writing, this query returns the beta-access error described under Access instead of data.
Full List of Metrics
Sentiment Energy ships as three metrics:
- integral_sentiment_bb
- integral_sentiment_bb_1h
- integral_sentiment_bb_1d