Heatスコアを項ごとに
Heatは0から100の有界なスコアで、ミームコインを市場全体ではなくそのコイン自身の規模に対して、いまどれだけ動きが起きているかで順位づけします。サーバー側の単一の関数で計算しており、このページはその関数のすべての項を記録しています。
Heatが答える問い
時価総額の列は最も大きいコインを上位にします。24時間出来高の列もまた最も大きいコインを上位にします。出来高は規模に比例するからです。板の中で最大のプールは、中で何も起きていない閑散な日でも小さなプールより多く取引されます。
Heatは別の問いを立てます。資金は、それが動いている対象の規模に対してどこで動いているか。直近1時間はそれ以前より強く動いているか。動かしているのは買い手か売り手か。そしてプールは、そのどれかが実体を伴うだけの深さを持っているか。
すべての項が有界です。それがスコア全体を貫く設計上の制約です。単一の入力が順位を乗っ取ることはできません。4000パーセント上げたコインが、価格だけで60パーセント上げたコインを埋めることはできませんし、非常に大きなプールが、ほとんど回転していない出来高で順位を買うこともできません。
スコアの構造
5つの加重要素が0から1の活動スコアを生みます。そのスコアに方向ゲートと該当するペナルティを掛け、クランプしたうえで、小数第1位までの0から100のスケールで表示します。
activity = SUM( weight[i] * part[i] ) for the five parts below
score = activity * direction * PRODUCT(penalties)
reported = round( clamp(score, 0, 1) * 100, 1 )
重みの合計はちょうど1なので、活動の項は何かを掛ける前の時点ですでに0から1の範囲に収まっています。
| 要素 | 重み | 何に答えるか |
|---|---|---|
| Turnover | 0.30 | コイン自身の規模に対する出来高 |
| Momentum | 0.22 | 価格が実際にどこへ行ったか、減衰あり |
| Acceleration | 0.20 | 直近1時間は直近6時間より熱いか |
| Buy pressure | 0.14 | どちら側が取引しているか |
| Freshness | 0.14 | プールがどれだけ新しいか |
2つの有界化関数
どちらの関数も、非有界な量を急な打ち切りなしに有界へ変えるために存在します。それぞれが折れ点というパラメータを取ります。出力が半分に達する値のことです。それより下ではほぼ線形、それより上では飽和します。
soft(v, mid) = v / (v + mid) for v > 0, else 0
signed(pct, mid) = sign(pct) * soft(|pct|, mid)
折れ点の選択こそが判断の宿る場所であり、値が測定ではなく主張される唯一の箇所です。以下、それぞれを理由とともに示します。
回転率、重み0.30
中核となるシグナルです。直近24時間の出来高をコインの規模で割ります。したがって流通量すべてを回している小さなプールは、ごく一部しか回していない大きなプールより高い点になります。
size = max( 1, min( marketCap, liquidity * 40 ) )
turnover = soft( volume24h / size, 0.35 )
分母は、申告された時価総額とプール流動性の40倍のうち小さいほうを取ります。この防御は重要です。トークンは誰も保有していない供給を発行することでほぼ任意の時価総額を申告でき、その水増しされた数値で割ると、非常に活発なコインが静かに見えてしまいます。分母を実際のプールの40倍で頭打ちにすることで、架空の時価総額が活況を覆い隠すことも、薄いプールが実態以上に活発に見えることも防げます。
折れ点0.35は、1日で自身の規模の35パーセントを回転させたコインがこの項で半分の点を得ることを意味します。時価総額が欠けている場合は完全希薄化評価額を用います。
加速、重み0.20
いま動いているコインと、今朝動いたコインを分けるのがこの項です。直近1時間を6時間のペースと比べ、直近5分の短期項を加えます。
accel = max(0, h1 - h6/6) + max(0, m5 * 3)
acceleration = soft( accel, 12 )
どちらの項も下限はゼロです。冷えつつあるコインはここで負になって他の要素と争うのではなく、単に点が付きません。6時間の変化を6で割ると時間あたりの率になり、比較が対等になります。折れ点12は、自身の最近のペースを1時間あたり約12パーセントポイント上回って走っているコインが半分の点を得ることを意味します。
モメンタム、重み0.22
価格が実際にどこへ行ったかを2つの時間軸で見ます。古い放物線が板の上位を丸一日占め続けるのではなく薄れていくよう、強く減衰させています。
raw = 0.65 * signed(change24h, 45) + 0.35 * signed(change6h, 20)
momentum = clamp(raw, -1, 1) * 0.5 + 0.5
折れ点は、45パーセントの1日と20パーセントの6時間が、それぞれの時間軸で半分の点に相当すると述べています。最後の行は符号付きの結果を0から1へ写像し直すので、横ばいのコインはゼロではなく0.5に位置し、下落しているコインは除外されるのではなく中点より下の点になります。
買い圧力、重み0.14
どちら側が取引しているかを、証拠の量で重み付けします。11件の取引で買い9対1という比率はほとんど意味を持ちませんが、2000件の取引での同じ比率は大きな意味を持ちます。
ratio = buys / (buys + sells) 0.5 when there are no trades
confidence = soft( buys + sells, 150 )
buyPressure = 0.5 + (ratio - 0.5) * confidence * 2
重要なのは確信度の係数です。取引が少ないと、比率がどれほど偏って見えても項は中立の0.5へ潰れるので、ひと握りの取引がシグナルを捏造することはできません。150件で比率は半分の強さとして算入され、そこから満点の強さに近づいていきます。
新しさ、重み0.14
プールの経過時間に対する指数減衰で、時定数は96時間です。
freshness = exp( -ageHours / 96 ) 0.25 when the age is unknown
初日はほぼ満点、3日で約0.47、1週間で約0.13、2週間後で約0.03になります。スコアの中で最も主張の強い項であり、含めている理由はひとつです。ミームの動きは圧倒的に若いプールから始まるからです。経過時間を特定できないトークンにはゼロでも満点でもなく一律0.25を与え、タイムスタンプの欠落が報酬にも破滅にもならないようにしています。
方向ゲート
活況だけでは熱ではありません。そして実務上いちばん効くのがこの補正です。70パーセント崩れているコインは、皆が逃げていく間に巨大な出来高を刻み、激しく加速し、高い取引件数を示します。活動の項だけで見れば板の首位に立ちます。それは誰も読みたくない順位です。
direction = clamp( 0.55 + 0.45 * signed(change24h, 45)
+ 0.25 * max(0, signed(change1h, 8)),
0.12, 1.15 )
活動スコアにこのゲートを掛けます。1日で70パーセント下げ、直近1時間に回復のないコインは、活動スコアの約28パーセントを保持します。下げたが直近1時間で反発しているコインは明らかに多くを保持します。投げ売り後の反発は本当に興味深いからです。上昇しているコインはそのままか、最大で15パーセント引き上げられます。
下限をゼロではなく0.12にしているのは意図的です。激しい崩落は板の下へ押しやるべきであって、板から消すべきではありません。それも依然として情報であり、隠せば順位はより安全になるのではなく、より不誠実になります。
ペナルティ
方向はゲートが扱います。ペナルティが扱うのは別種の問題です。高いスコアを単に高すぎるものではなく、無意味なものにしてしまう条件です。それぞれが乗数なので、重なれば累積します。
| 条件 | 乗数 | 理由 |
|---|---|---|
| liquidity < $15,000 | liquidity / 15,000, floored at 0.15 | この深さを下回ると上記の入力はほぼノイズです |
| liquidity = 0 | 0.15 | 取引の相手となるものがありません |
| marketCap / liquidity > 5,000 | 0.35 | それを支えるプールをはるかに超える評価額 |
| trades < 10 | 0.4 | チャートが何と言おうと、ほとんど誰も取引していません |
| price is stale | 0.5 | もはや信頼できない価格をライブの順位の先頭に立たせるべきではありません |
分布の実際の姿
以下の数値はライブのクエリではなく凍結したスナップショットです。このページを書いた元のファイルそのものに対して検証できるようにするためです。ダウンロードして再計算してください。
/data/heat-snapshot.json 取得日 2026-09-09
| 指標 | 値 |
|---|---|
| 採点したトークン数 | 336 |
| 最高スコア | 59.7 |
| 90パーセンタイル | 23.1 |
| 中央値 | 11.4 |
| 10パーセンタイル | 7.6 |
| 最低スコア | 0.2 |
| 熱い基準の45以上 | 5 |
重要なのは分布の形です。中央値は11付近にあり、どのスナップショットでも45を超えるのはごく少数です。40台のスコアは本当に珍しく、インターフェースが45から熱いと表示するのはそのためです。90というスコアはこの関数が生むように作られていません。上昇する価格とペナルティなしの状態で、すべての項が同時に上限近くにある必要があります。
分解の実例
同じスナップショットの板上位を、各項が加重和に入ったそのままの値で示します。再実装ではなくスコアリング関数そのものが生成しているため、この表が記述対象のコードから乖離することはありません。
| トークン | Heat | 回転 | 加速 | モメ | 買い | 新しさ | 方向 |
|---|---|---|---|---|---|---|---|
| DUO | 59.7 | 0.95 | 0.11 | 0.88 | 0.45 | 0.57 | 0.93 |
| USEFUL | 58.8 | 0.74 | 0.76 | 0.73 | 0.57 | 0.35 | 0.89 |
| PURR | 57.2 | 0.63 | 0.76 | 0.87 | 0.66 | 0.01 | 0.91 |
| Stonks | 46.8 | 0.84 | 0.41 | 0.61 | 0.59 | 0.26 | 0.8 |
| PURPS | 45.6 | 0.93 | 0 | 0.64 | 0.56 | 0.01 | 0.91 |
| BTC | 44.7 | 0.56 | 0 | 0.92 | 0.69 | 0.09 | 0.93 |
1行を左から右へ読めば順位はそれ自体で説明がつきます。あるコインは回転率で首位に立ちながら加速では無得点ということがあり、それは資金はあるが動きが加速していないことを意味します。別のコインは控えめな回転率のまま新しさと買い圧力で板を支えることがあり、それは別種の面白さです。
Heatではないもの
Heatが測るのは活況です。安全性の格付けではありません。極めて熱く、同時に罠であるコインはあり得ますし、スコアは意図的にそうでないふりをしません。ペナルティが下げるのは無意味なスコアであって、危険なスコアではありません。
予測ではありません。関数の中に将来を見る要素はなく、将来のリターンに当てはめた項もありません。直近の過去の要約であり、どの入力も支配しないよう有界化されています。
投資助言ではありません。ミームコインは高リスクで、大半は価値を失います。行動する前に、ひとつの数字ではなく、安全性チェックとトークンページを使ってください。
再現する方法
定義はひとつだけで、サーバー上で動きます。したがって同じスコアがテーブルにも並び順にもAPIにも現れます。クライアントが再計算することはありません。
| 場所 | 内容 |
|---|---|
scripts/token-heat.mjs | スコアリング関数と重み |
test/token-heat.test.mjs | これらの数値を固定する挙動テスト |
GET /api/tokens | 各行でheatとheatRankを返します |
/data/heat-snapshot.json | このページが引用する凍結スナップショット |
ひとつだけ明確に述べておくべき注意があります。チェーン別にトークンを並べるハブページは、ビルド時に計算するより単純な並び順、すなわち24時間トレンドで重み付けした24時間出来高を使っており、それらのページにはまさにその言葉で書かれています。この並び順はHeat列ではなく、その有界性も共有していません。
よくある質問
- Heatスコアが高いことは買いシグナルですか。
- いいえ。Heatは直近の過去について、コインの規模に対する活況の大きさを測るものです。将来を見る項は含まれておらず、将来のリターンに当てはめてもいません。崩落中のコインでも実際の活況は示し得ます。方向ゲートが存在する理由も、このスコアが安全性の格付けでない理由もそこにあります。
- 出来高に上限がないのに、なぜスコアは100で頭打ちなのですか。
- すべての要素が飽和する有界化関数を通るため、どの入力も順位を乗っ取れません。それがなければ、数千パーセント上げた1銘柄や非常に大きなプール1つが単一の項で板を支配し、残る4つの項は意味を失います。
- なぜ若いプールのほうが古いプールより高い点になるのですか。
- 新しさは0.14の重みを持ち、時定数96時間で指数的に減衰します。ミームの動きが圧倒的に若いプールから始まるからです。スコアの中で最も主張の強い項ですが、単独でコインを押し上げることはできません。満点でも、方向ゲートと各種ペナルティの前で14点の寄与にとどまります。
- 流動性がほとんどないコインはどうなりますか。
- 流動性が15,000ドル未満の場合、スコアには流動性を15,000で割った値が掛かり、下限は0.15です。流動性がまったくない場合、乗数は一律0.15です。入力自体は計算され続けますが、順位の先頭に立たせるほどには信頼しません。
- Heat列はチェーン別ハブページの並び順と一致しますか。
- いいえ。チェーンページはビルド時に計算するより単純な並び順、24時間トレンドで重み付けした24時間出来高を使っており、そのことをページ上に記しています。Heat列はここで説明した0から100の有界なスコアです。
Keep reading
Nothing here is financial advice. Meme coins are high risk and most lose value. Read the full risk disclosure before trading.