La puntuación Heat, término a término
Heat es una puntuación acotada de 0 a 100 que clasifica una meme coin según cuánto está ocurriendo en ella ahora mismo, medido frente a su propio tamaño y no frente al resto del mercado. Se calcula en el servidor mediante una única función, y esta página documenta cada término de ella.
La pregunta que responde Heat
Una columna de capitalización de mercado clasifica las monedas más grandes. Una columna de volumen de 24 horas vuelve a clasificar las más grandes, porque el volumen escala con el tamaño: el pool más grande del tablero superará en operaciones a uno pequeño en un día tranquilo sin que ocurra nada en él.
Heat plantea una pregunta distinta. Dónde se mueve el dinero en relación con el tamaño de aquello en lo que se mueve, si se mueve con más fuerza en la última hora que antes, si son compradores o vendedores quienes lo mueven, y si el pool tiene profundidad suficiente para que algo de eso sea real.
Cada término está acotado. Esa es la restricción de diseño sobre la que se construye toda la puntuación: ninguna entrada por sí sola puede apoderarse de la clasificación. Una moneda que sube un cuatro mil por ciento no puede enterrar a una que sube un sesenta por ciento solo por el precio, y un pool muy grande no puede comprar posición con volumen que apenas rota.
Forma de la puntuación
Cinco componentes ponderados producen una puntuación de actividad entre 0 y 1. Esa puntuación se multiplica después por una compuerta de dirección y por las penalizaciones que apliquen, se acota y se reporta en una escala de 0 a 100 con un decimal.
activity = SUM( weight[i] * part[i] ) for the five parts below
score = activity * direction * PRODUCT(penalties)
reported = round( clamp(score, 0, 1) * 100, 1 )
Los pesos suman exactamente uno, de modo que el término de actividad ya está acotado al rango de 0 a 1 antes de aplicarle nada.
| Componente | Peso | Qué responde |
|---|---|---|
| Turnover | 0.30 | Volumen en relación con el tamaño de la propia moneda |
| Momentum | 0.22 | Adónde ha ido realmente el precio, amortiguado |
| Acceleration | 0.20 | Si la última hora está más caliente que las seis anteriores |
| Buy pressure | 0.14 | Qué lado está operando |
| Freshness | 0.14 | Cuán joven es el pool |
Las dos funciones de acotación
Ambas funciones existen para convertir una cantidad no acotada en una acotada sin un corte abrupto. Cada una toma un parámetro de inflexión, el valor en el que la salida alcanza la mitad. Por debajo de ese punto la función es casi lineal; por encima, se satura.
soft(v, mid) = v / (v + mid) for v > 0, else 0
signed(pct, mid) = sign(pct) * soft(|pct|, mid)
La elección del punto de inflexión es donde reside el criterio, y es el único lugar donde se afirma un valor en lugar de medirlo. Cada uno se indica más abajo con su razonamiento.
Rotación, peso 0,30
La señal principal. El volumen de las últimas 24 horas dividido por el tamaño de la moneda, de modo que un pool pequeño que rota todo su float puntúa por encima de un pool grande que rota una fracción.
size = max( 1, min( marketCap, liquidity * 40 ) )
turnover = soft( volume24h / size, 0.35 )
El denominador toma el menor entre la capitalización de mercado reportada y cuarenta veces la liquidez del pool. Esa salvaguarda importa: un token puede reportar casi cualquier capitalización que quiera acuñando suministro que nadie posee, y dividir por esa cifra inflada haría que una moneda muy activa pareciera tranquila. Limitar el denominador a cuarenta veces el pool real impide que una capitalización ficticia oculte la actividad, y evita que un pool delgado parezca más activo de lo que es.
Un punto de inflexión de 0,35 significa que una moneda que rota el treinta y cinco por ciento de su tamaño en un día obtiene la mitad de la puntuación en este término. La capitalización de mercado recurre a la valoración totalmente diluida cuando falta.
Aceleración, peso 0,20
Esto es lo que separa una moneda que se mueve ahora de una que se movió esta mañana. Compara la última hora con el ritmo de seis horas y añade un término de corto plazo para los últimos cinco minutos.
accel = max(0, h1 - h6/6) + max(0, m5 * 3)
acceleration = soft( accel, 12 )
Ambos términos tienen suelo en cero, así que una moneda que se enfría simplemente no puntúa aquí en lugar de volverse negativa y competir con los demás componentes. Dividir la variación de seis horas entre seis la convierte en una tasa horaria para que la comparación sea equivalente. El punto de inflexión de 12 significa que una moneda que avanza unos doce puntos porcentuales por hora por encima de su propio ritmo reciente obtiene la mitad de la puntuación.
Momento, peso 0,22
Adónde ha ido realmente el precio, en dos horizontes, amortiguado con fuerza para que una parábola antigua se desvanezca en lugar de ocupar lo alto del tablero durante un día.
raw = 0.65 * signed(change24h, 45) + 0.35 * signed(change6h, 20)
momentum = clamp(raw, -1, 1) * 0.5 + 0.5
Los puntos de inflexión dicen que un día del 45 por ciento y unas seis horas del 20 por ciento valen cada uno la mitad de la puntuación en su horizonte. La última línea reasigna el resultado con signo al rango de 0 a 1, de modo que una moneda plana se sitúa en 0,5 en lugar de en cero, y una moneda que cae puntúa por debajo del punto medio en vez de quedar excluida.
Presión compradora, peso 0,14
Qué lado está operando, ponderado por cuánta evidencia hay. Una proporción de nueve a uno a favor de la compra en once operaciones significa muy poco; la misma proporción en dos mil operaciones significa muchísimo.
ratio = buys / (buys + sells) 0.5 when there are no trades
confidence = soft( buys + sells, 150 )
buyPressure = 0.5 + (ratio - 0.5) * confidence * 2
El factor de confianza es la parte importante. Con pocas operaciones el término colapsa hacia un 0,5 neutro por muy desequilibrada que parezca la proporción, de modo que un puñado de operaciones no puede fabricar una señal. En 150 operaciones la proporción se acredita a la mitad de su fuerza, y se aproxima a su fuerza plena a partir de ahí.
Frescura, peso 0,14
Decaimiento exponencial sobre la edad del pool, con una constante de tiempo de 96 horas.
freshness = exp( -ageHours / 96 ) 0.25 when the age is unknown
Eso da casi la puntuación máxima el primer día, alrededor de 0,47 a los tres días, alrededor de 0,13 a la semana y alrededor de 0,03 tras dos semanas. Es el término más opinable de la puntuación y se incluye por una razón: los movimientos de las meme coins empiezan abrumadoramente en pools jóvenes. A un token cuya edad no podemos establecer se le asigna un 0,25 fijo en lugar de un cero o la puntuación máxima, de modo que una marca de tiempo ausente ni lo premia ni lo destruye.
La compuerta de dirección
La actividad por sí sola no es heat, y esta es la corrección que más importa en la práctica. Una moneda que se desploma un setenta por ciento imprime un volumen enorme, acelera con fuerza y muestra un recuento de operaciones alto mientras todos se van. Solo en términos de actividad encabeza el tablero. Esa es una clasificación que nadie quiere leer.
direction = clamp( 0.55 + 0.45 * signed(change24h, 45)
+ 0.25 * max(0, signed(change1h, 8)),
0.12, 1.15 )
La puntuación de actividad se multiplica por esta compuerta. Una moneda que cae un 70 por ciento en el día, sin recuperación en la última hora, conserva alrededor del 28 por ciento de su puntuación de actividad. Una moneda que cayó pero rebota en la última hora conserva bastante más, porque un rebote tras una purga es genuinamente interesante. A una que sube se la deja igual o se la eleva como mucho un quince por ciento.
El suelo de 0,12 en lugar de cero es deliberado. Un desplome violento debe empujarse hacia abajo en el tablero, no borrarse de él: sigue siendo información, y ocultarla haría la clasificación menos honesta, no más segura.
Penalizaciones
La compuerta se ocupa de la dirección. Las penalizaciones se ocupan de otra clase de problema: condiciones que hacen que una puntuación alta carezca de significado, no que sea meramente demasiado alta. Cada una es un multiplicador, así que se acumulan.
| Condición | Multiplicador | Por qué |
|---|---|---|
| liquidity < $15,000 | liquidity / 15,000, floored at 0.15 | Por debajo de esta profundidad las entradas anteriores son sobre todo ruido |
| liquidity = 0 | 0.15 | Nada contra lo que operar |
| marketCap / liquidity > 5,000 | 0.35 | Una valoración muy por encima del pool que la respalda |
| trades < 10 | 0.4 | Casi nadie lo opera, diga lo que diga el gráfico |
| price is stale | 0.5 | Un precio en el que ya no confiamos no debe encabezar una clasificación en vivo |
Cómo es realmente la distribución
Las cifras siguientes son una captura congelada, no una consulta en vivo, para que sigan siendo verificables frente al mismo archivo desde el que se escribió esta página. Descárgalo y recalcúlalas.
/data/heat-snapshot.json capturado el 2026-09-09
| Medida | Valor |
|---|---|
| Tokens puntuados | 336 |
| Puntuación más alta | 59.7 |
| Percentil 90 | 23.1 |
| Mediana | 11.4 |
| Percentil 10 | 7.6 |
| Puntuación más baja | 0.2 |
| En o por encima de la marca caliente de 45 | 5 |
La forma es lo importante. La mediana se sitúa cerca de 11 y solo un puñado de monedas supera 45 en una captura dada. Una puntuación en los cuarenta es genuinamente inusual, y por eso la interfaz marca una moneda como caliente a partir de 45. Una puntuación de 90 no es algo que la función esté construida para producir: todos los términos tendrían que estar cerca de su techo a la vez, con un precio en alza y sin penalización.
Una descomposición trabajada
La misma captura, lo alto del tablero, con cada término tal como entró en la suma ponderada. Los produce la propia función de puntuación y no una reimplementación, de modo que esta tabla no puede desviarse del código que documenta.
| Token | Heat | Rot. | Acel. | Mom. | Compra | Fresc. | Dir. |
|---|---|---|---|---|---|---|---|
| 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 |
Lee una fila de izquierda a derecha y la clasificación se explica sola. Una moneda puede liderar en rotación sin puntuar nada en aceleración, lo que dice que el dinero está ahí pero el movimiento no se acelera. Otra puede sostener el tablero con frescura y presión compradora con una rotación modesta, que es un tipo distinto de interés.
Lo que Heat no es
Heat mide actividad. No es una calificación de seguridad. Una moneda puede estar extremadamente caliente y ser una trampa, y la puntuación deliberadamente no finge lo contrario: las penalizaciones reducen puntuaciones que carecen de significado, no puntuaciones que son peligrosas.
No es una predicción. Nada en la función mira hacia el futuro, y ningún término está ajustado a rendimientos futuros. Es un resumen del pasado reciente, acotado para que ninguna entrada domine.
No es asesoramiento de inversión. Las meme coins son de alto riesgo y la mayoría pierde valor. Usa las comprobaciones de seguridad y la página del token, no un único número, antes de actuar.
Cómo reproducirlo
Hay una sola definición y se ejecuta en el servidor, así que la misma puntuación aparece en la tabla, en el orden de clasificación y en la API. El cliente nunca la recalcula.
| Dónde | Qué |
|---|---|
scripts/token-heat.mjs | La función de puntuación y los pesos |
test/token-heat.test.mjs | Pruebas de comportamiento que fijan estas cifras |
GET /api/tokens | Devuelve heat y heatRank en cada fila |
/data/heat-snapshot.json | La captura congelada que cita esta página |
Vale la pena señalar una salvedad con claridad. Las páginas de agrupación que listan tokens por cadena usan un orden más simple calculado en la compilación, volumen de 24 horas ponderado por la tendencia de 24 horas, descrito en esas páginas con esas mismas palabras. Ese orden no es la columna Heat y no comparte sus límites.
Preguntas frecuentes
- ¿Una puntuación Heat alta es una señal de compra?
- No. Heat mide cuánta actividad tiene una moneda en relación con su tamaño, durante el pasado reciente. No contiene ningún término prospectivo y no está ajustada a rendimientos futuros. Una moneda que se desploma puede seguir mostrando actividad real, y por eso existe la compuerta de dirección y por eso la puntuación no es una calificación de seguridad.
- ¿Por qué se limita la puntuación a 100 si el volumen no tiene límite?
- Todos los componentes pasan por una función de acotación que se satura, de modo que ninguna entrada puede apoderarse de la clasificación. Sin eso, una moneda que sube varios miles por ciento, o un pool muy grande, dominaría el tablero con un solo término y los otros cuatro dejarían de importar.
- ¿Por qué un pool joven puntúa más alto que uno antiguo?
- La frescura tiene un peso de 0,14 y decae exponencialmente con una constante de tiempo de 96 horas, porque los movimientos de las meme coins empiezan abrumadoramente en pools jóvenes. Es el término más opinable de la puntuación. No puede sostener una moneda por sí sola: con la puntuación máxima aporta 14 puntos antes de la compuerta de dirección y de cualquier penalización.
- ¿Qué ocurre con una moneda con casi nada de liquidez?
- Por debajo de 15.000 dólares de liquidez la puntuación se multiplica por la liquidez dividida entre 15.000, con un suelo de 0,15. Sin liquidez alguna el multiplicador es 0,15 fijo. Las entradas se siguen calculando, simplemente no se confía en ellas para encabezar una clasificación.
- ¿Coincide la columna Heat con el orden de las páginas de agrupación por cadena?
- No. Las páginas de cadena usan un orden más simple calculado en la compilación, volumen de 24 horas ponderado por la tendencia de 24 horas, y así lo indican en la página. La columna Heat es la puntuación acotada de 0 a 100 documentada aquí.
Keep reading
Nothing here is financial advice. Meme coins are high risk and most lose value. Read the full risk disclosure before trading.