Der Heat-Score, Term für Term
Heat ist ein begrenzter Wert von 0 bis 100, der einen Meme-Coin danach einordnet, wie viel gerade in ihm passiert, gemessen an seiner eigenen Größe und nicht am übrigen Markt. Er wird serverseitig von einer einzigen Funktion berechnet, und diese Seite dokumentiert jeden ihrer Terme.
Die Frage, die Heat beantwortet
Eine Marktkapitalisierungsspalte sortiert die größten Coins nach oben. Eine 24-Stunden-Volumenspalte sortiert erneut die größten nach oben, denn Volumen skaliert mit Größe: der größte Pool im Board handelt an einem ruhigen Tag mehr als ein kleiner, ohne dass darin irgendetwas passiert.
Heat stellt eine andere Frage. Wo bewegt sich Geld im Verhältnis zur Größe dessen, worin es sich bewegt, bewegt es sich in der letzten Stunde stärker als zuvor, sind es Käufer oder Verkäufer, die es bewegen, und ist der Pool tief genug, damit irgendetwas davon echt ist.
Jeder Term ist begrenzt. Das ist die Entwurfsbedingung, um die herum der gesamte Score gebaut ist: keine einzelne Eingabe kann die Rangfolge an sich reißen. Ein Coin mit viertausend Prozent Plus kann einen Coin mit sechzig Prozent Plus nicht allein über den Preis begraben, und ein sehr großer Pool kann sich keinen Rang mit Volumen erkaufen, das er kaum umschlägt.
Aufbau des Scores
Fünf gewichtete Komponenten ergeben einen Aktivitätswert zwischen 0 und 1. Dieser Wert wird anschließend mit einem Richtungsgatter und allen zutreffenden Abschlägen multipliziert, begrenzt und auf einer Skala von 0 bis 100 mit einer Nachkommastelle ausgegeben.
activity = SUM( weight[i] * part[i] ) for the five parts below
score = activity * direction * PRODUCT(penalties)
reported = round( clamp(score, 0, 1) * 100, 1 )
Die Gewichte summieren sich auf genau eins, der Aktivitätsterm ist also bereits auf den Bereich 0 bis 1 begrenzt, bevor irgendetwas darauf angewendet wird.
| Komponente | Gewicht | Was sie beantwortet |
|---|---|---|
| Turnover | 0.30 | Volumen im Verhältnis zur eigenen Größe des Coins |
| Momentum | 0.22 | Wohin der Preis tatsächlich gegangen ist, gedämpft |
| Acceleration | 0.20 | Ist die letzte Stunde heißer als die letzten sechs |
| Buy pressure | 0.14 | Welche Seite handelt |
| Freshness | 0.14 | Wie jung der Pool ist |
Die beiden Begrenzungsfunktionen
Beide Funktionen existieren, um eine unbegrenzte Größe ohne harten Schnitt in eine begrenzte zu verwandeln. Jede nimmt einen Knickparameter, den Wert, bei dem die Ausgabe die Hälfte erreicht. Darunter verläuft die Funktion nahezu linear, darüber sättigt sie.
soft(v, mid) = v / (v + mid) for v > 0, else 0
signed(pct, mid) = sign(pct) * soft(|pct|, mid)
Die Wahl des Knickpunkts ist der Ort, an dem das Urteil liegt, und die einzige Stelle, an der ein Wert behauptet statt gemessen wird. Jeder ist unten mit seiner Begründung angegeben.
Umschlag, Gewicht 0,30
Das Kernsignal. Das Volumen der letzten 24 Stunden geteilt durch die Größe des Coins, sodass ein kleiner Pool, der seinen gesamten Umlauf umschlägt, besser abschneidet als ein großer Pool, der nur einen Bruchteil umschlägt.
size = max( 1, min( marketCap, liquidity * 40 ) )
turnover = soft( volume24h / size, 0.35 )
Der Nenner nimmt den kleineren Wert aus gemeldeter Marktkapitalisierung und dem Vierzigfachen der Pool-Liquidität. Diese Absicherung ist wichtig: ein Token kann praktisch jede beliebige Marktkapitalisierung ausweisen, indem es Angebot prägt, das niemand hält, und die Division durch diese aufgeblähte Zahl ließe einen sehr aktiven Coin ruhig erscheinen. Den Nenner auf das Vierzigfache des echten Pools zu deckeln verhindert, dass eine fiktive Marktkapitalisierung Aktivität verdeckt, und verhindert, dass ein dünner Pool aktiver wirkt, als er ist.
Ein Knick von 0,35 bedeutet, dass ein Coin, der an einem Tag fünfunddreißig Prozent seiner Größe umschlägt, in diesem Term die halbe Punktzahl erhält. Fehlt die Marktkapitalisierung, wird auf die vollständig verwässerte Bewertung zurückgegriffen.
Beschleunigung, Gewicht 0,20
Das trennt einen Coin, der sich jetzt bewegt, von einem Coin, der sich heute Morgen bewegt hat. Er vergleicht die letzte Stunde mit der Sechs-Stunden-Laufrate und ergänzt einen kurzfristigen Term für die letzten fünf Minuten.
accel = max(0, h1 - h6/6) + max(0, m5 * 3)
acceleration = soft( accel, 12 )
Beide Terme haben eine Untergrenze von null, ein abkühlender Coin erhält hier also einfach nichts, statt negativ zu werden und gegen die anderen Komponenten zu arbeiten. Die Sechs-Stunden-Veränderung durch sechs zu teilen wandelt sie in eine Stundenrate um, damit der Vergleich gleichartig ist. Der Knick von 12 bedeutet, dass ein Coin, der rund zwölf Prozentpunkte pro Stunde über seinem eigenen jüngsten Tempo läuft, die halbe Punktzahl erhält.
Momentum, Gewicht 0,22
Wohin der Preis tatsächlich gegangen ist, über zwei Zeithorizonte, stark gedämpft, damit eine alte Parabel verblasst, statt einen Tag lang die Spitze des Boards zu halten.
raw = 0.65 * signed(change24h, 45) + 0.35 * signed(change6h, 20)
momentum = clamp(raw, -1, 1) * 0.5 + 0.5
Die Knicke besagen, dass ein Tag mit 45 Prozent und sechs Stunden mit 20 Prozent je die halbe Punktzahl auf ihrem Horizont wert sind. Die letzte Zeile bildet das vorzeichenbehaftete Ergebnis auf 0 bis 1 ab, sodass ein flacher Coin bei 0,5 statt bei null liegt und ein fallender Coin unter dem Mittelpunkt liegt, statt ausgeschlossen zu werden.
Kaufdruck, Gewicht 0,14
Welche Seite handelt, gewichtet danach, wie viel Evidenz vorliegt. Ein Kaufverhältnis von neun zu eins über elf Trades bedeutet sehr wenig, dasselbe Verhältnis über zweitausend Trades bedeutet sehr viel.
ratio = buys / (buys + sells) 0.5 when there are no trades
confidence = soft( buys + sells, 150 )
buyPressure = 0.5 + (ratio - 0.5) * confidence * 2
Der Konfidenzfaktor ist der entscheidende Teil. Bei wenigen Trades kollabiert der Term unabhängig davon, wie einseitig das Verhältnis aussieht, auf ein neutrales 0,5, sodass eine Handvoll Trades kein Signal erzeugen kann. Bei 150 Trades wird das Verhältnis mit halber Stärke angerechnet und nähert sich von dort der vollen Stärke.
Frische, Gewicht 0,14
Exponentieller Zerfall über das Alter des Pools, mit einer Zeitkonstante von 96 Stunden.
freshness = exp( -ageHours / 96 ) 0.25 when the age is unknown
Das ergibt am ersten Tag nahezu die volle Punktzahl, etwa 0,47 nach drei Tagen, etwa 0,13 nach einer Woche und etwa 0,03 nach zwei Wochen. Das ist der meinungsstärkste Term des Scores und er ist aus einem Grund enthalten: Meme-Bewegungen beginnen ganz überwiegend in jungen Pools. Ein Token, dessen Alter sich nicht feststellen lässt, erhält pauschal 0,25 statt null oder die volle Punktzahl, sodass ein fehlender Zeitstempel es weder belohnt noch vernichtet.
Das Richtungsgatter
Aktivität allein ist keine Hitze, und das ist die Korrektur, die in der Praxis am meisten zählt. Ein Coin, der siebzig Prozent einbricht, druckt enormes Volumen, beschleunigt stark und zeigt eine hohe Trade-Zahl, während alle aussteigen. Allein nach Aktivitätstermen führt er das Board an. Das ist eine Rangfolge, die niemand lesen will.
direction = clamp( 0.55 + 0.45 * signed(change24h, 45)
+ 0.25 * max(0, signed(change1h, 8)),
0.12, 1.15 )
Der Aktivitätswert wird mit diesem Gatter multipliziert. Ein Coin, der am Tag 70 Prozent verliert und sich in der letzten Stunde nicht erholt, behält etwa 28 Prozent seines Aktivitätswerts. Ein Coin, der gefallen ist, aber in der letzten Stunde zurückspringt, behält deutlich mehr, denn ein Rücksprung nach einer Ausschüttung ist wirklich interessant. Ein steigender Coin bleibt unverändert oder wird um höchstens fünfzehn Prozent angehoben.
Die Untergrenze von 0,12 statt null ist Absicht. Ein heftiger Einbruch soll im Board nach unten gedrückt, nicht daraus gelöscht werden: er ist weiterhin Information, und ihn zu verbergen würde die Rangfolge unehrlicher machen, nicht sicherer.
Abschläge
Das Gatter behandelt die Richtung. Abschläge behandeln eine andere Klasse von Problemen: Bedingungen, die einen hohen Wert bedeutungslos machen, statt ihn bloß zu hoch zu machen. Jeder ist ein Multiplikator, sie verstärken sich also gegenseitig.
| Bedingung | Multiplikator | Warum |
|---|---|---|
| liquidity < $15,000 | liquidity / 15,000, floored at 0.15 | Unterhalb dieser Tiefe sind die obigen Eingaben überwiegend Rauschen |
| liquidity = 0 | 0.15 | Nichts, wogegen gehandelt werden kann |
| marketCap / liquidity > 5,000 | 0.35 | Eine Bewertung weit jenseits des sie tragenden Pools |
| trades < 10 | 0.4 | Fast niemand handelt ihn, was der Chart auch sagt |
| price is stale | 0.5 | Ein Preis, dem wir nicht mehr trauen, darf keine Live-Rangfolge anführen |
Wie die Verteilung tatsächlich aussieht
Die folgenden Zahlen sind eine eingefrorene Aufnahme, keine Live-Abfrage, damit sie gegen genau die Datei prüfbar bleiben, aus der diese Seite geschrieben wurde. Laden Sie sie herunter und rechnen Sie nach.
/data/heat-snapshot.json aufgenommen am 2026-09-09
| Maß | Wert |
|---|---|
| Bewertete Token | 336 |
| Höchster Wert | 59.7 |
| 90. Perzentil | 23.1 |
| Median | 11.4 |
| 10. Perzentil | 7.6 |
| Niedrigster Wert | 0.2 |
| Auf oder über der Hitzemarke von 45 | 5 |
Auf die Form kommt es an. Der Median liegt nahe 11 und nur eine Handvoll Coins überschreitet in einer Aufnahme 45. Ein Wert in den Vierzigern ist wirklich ungewöhnlich, und aus diesem Grund markiert die Oberfläche einen Coin ab 45 als heiß. Einen Wert von 90 soll die Funktion gar nicht erzeugen: jeder Term müsste gleichzeitig nahe seiner Obergrenze liegen, bei steigendem Preis und ohne Abschlag.
Eine durchgerechnete Zerlegung
Dieselbe Aufnahme, die Spitze des Boards, mit jedem Term so, wie er in die gewichtete Summe eingegangen ist. Sie stammen von der Score-Funktion selbst und nicht von einer Nachimplementierung, diese Tabelle kann also nicht von dem Code abweichen, den sie dokumentiert.
| Token | Heat | Umschl. | Beschl. | Mom. | Kauf | Frische | Richt. |
|---|---|---|---|---|---|---|---|
| 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 |
Lesen Sie eine Zeile von links nach rechts und die Rangfolge erklärt sich selbst. Ein Coin kann beim Umschlag führen und bei der Beschleunigung nichts erreichen, was heißt, dass das Geld da ist, die Bewegung sich aber nicht beschleunigt. Ein anderer kann das Board mit Frische und Kaufdruck bei bescheidenem Umschlag tragen, was eine andere Art von interessant ist.
Was Heat nicht ist
Heat misst Aktivität. Es ist keine Sicherheitsbewertung. Ein Coin kann extrem heiß und trotzdem eine Falle sein, und der Score tut bewusst nicht so, als wäre es anders: die Abschläge senken Werte, die bedeutungslos sind, nicht Werte, die gefährlich sind.
Es ist keine Prognose. Nichts in der Funktion blickt nach vorn, und kein Term ist auf künftige Renditen angepasst. Es ist eine Zusammenfassung der jüngsten Vergangenheit, begrenzt, damit keine Eingabe dominiert.
Es ist keine Anlageberatung. Meme-Coins sind hochriskant und die meisten verlieren an Wert. Nutzen Sie die Sicherheitsprüfungen und die Token-Seite, nicht eine einzelne Zahl, bevor Sie handeln.
Nachvollziehen
Es gibt genau eine Definition und sie läuft auf dem Server, derselbe Wert erscheint also in der Tabelle, in der Sortierung und in der API. Der Client berechnet ihn nie neu.
| Wo | Was |
|---|---|
scripts/token-heat.mjs | Die Score-Funktion und die Gewichte |
test/token-heat.test.mjs | Verhaltenstests, die diese Zahlen festschreiben |
GET /api/tokens | Liefert heat und heatRank in jeder Zeile |
/data/heat-snapshot.json | Die eingefrorene Aufnahme, die diese Seite zitiert |
Eine Einschränkung sei klar gesagt. Die Übersichtsseiten, die Token nach Chain auflisten, verwenden eine einfachere, zur Build-Zeit berechnete Reihenfolge, 24-Stunden-Volumen gewichtet mit dem 24-Stunden-Trend, und beschreiben sie auf jenen Seiten genau mit diesen Worten. Diese Reihenfolge ist nicht die Heat-Spalte und teilt deren Grenzen nicht.
Häufige Fragen
- Ist ein hoher Heat-Wert ein Kaufsignal?
- Nein. Heat misst, wie viel Aktivität ein Coin im Verhältnis zu seiner Größe in der jüngsten Vergangenheit hatte. Er enthält keinen zukunftsgerichteten Term und ist nicht auf künftige Renditen angepasst. Ein einbrechender Coin kann weiterhin echte Aktivität zeigen, deshalb gibt es das Richtungsgatter und deshalb ist der Score keine Sicherheitsbewertung.
- Warum ist der Wert bei 100 gedeckelt, wenn das Volumen es nicht ist?
- Jede Komponente durchläuft eine sättigende Begrenzungsfunktion, sodass keine Eingabe die Rangfolge an sich reißen kann. Ohne das würde ein Coin mit mehreren tausend Prozent Plus oder ein sehr großer Pool das Board über einen einzigen Term beherrschen und die anderen vier würden bedeutungslos.
- Warum erhält ein junger Pool einen höheren Wert als ein alter?
- Frische trägt ein Gewicht von 0,14 und zerfällt exponentiell mit einer Zeitkonstante von 96 Stunden, weil Meme-Bewegungen ganz überwiegend in jungen Pools beginnen. Es ist der meinungsstärkste Term des Scores. Allein kann er einen Coin nicht tragen: bei voller Punktzahl steuert er 14 Punkte bei, vor dem Richtungsgatter und allen Abschlägen.
- Was passiert mit einem Coin mit fast keiner Liquidität?
- Unter 15.000 Dollar Liquidität wird der Wert mit der Liquidität geteilt durch 15.000 multipliziert, mit einer Untergrenze von 0,15. Ganz ohne Liquidität beträgt der Multiplikator pauschal 0,15. Die Eingaben werden weiterhin berechnet, ihnen wird nur nicht zugetraut, eine Rangfolge anzuführen.
- Entspricht die Heat-Spalte der Reihenfolge auf den Chain-Übersichtsseiten?
- Nein. Die Chain-Seiten verwenden eine einfachere, zur Build-Zeit berechnete Reihenfolge, 24-Stunden-Volumen gewichtet mit dem 24-Stunden-Trend, und sagen das auf der Seite. Die Heat-Spalte ist der hier dokumentierte begrenzte Wert von 0 bis 100.
Keep reading
Nothing here is financial advice. Meme coins are high risk and most lose value. Read the full risk disclosure before trading.