Financiación y posicionamiento
Cómo se calculan el percentil de la tasa de financiación, el contador de racha y la estructura temporal: fuentes, fórmulas, casos límite, restricciones.
Consulta los widgets en vivo en /perpetuals/funding.
Fuentes de datos
El análisis de financiación de MarketTrace combina tres entradas: el histórico público de tasas de financiación de Binance, la instantánea por activo y la lista de activos cubiertos.
- Tasas históricas de financiación. Perpetuos con margen en USDS de Binance, endpoint público de tasas de financiación. Se descargan por activo en ciclos de 8 horas, paginadas 1000 filas a la vez. La ingesta local mantiene aproximadamente 2 años de historia por activo (≈ 2.190 ciclos por activo × 6 activos ≈ 13k filas en total).
- Tasa de financiación actual. Se lee de la instantánea por activo, refrescada cada ~5 minutos. El widget muestra el valor en porcentaje (el campo crudo del API es una fracción; multiplicamos por 100 en el borde).
- Activos cubiertos. BTC, ETH, SOL, BNB, XRP, DOGE. Los feeds cross-exchange de Bybit y OKX para financiación quedan fuera del alcance de esta versión.
Rango de percentil: cómo se calcula
Un percentil de tasa de financiación N significa que el N % de los ciclos de 8 horas de los últimos dos años se imprimieron al nivel actual o por debajo. Repartimos los empates de forma uniforme: las observaciones idénticas quedan entre el conteo “estrictamente menor” y “menor o igual”.
Concretamente, dada una lista ordenada de valores históricos en porcentaje S:
left = elementos de S estrictamente menores que el actual right = elementos de S menores o iguales al actual rank = (left + right) / 2 percentil = (rank / |S|) × 100
El resultado está acotado a [0, 100]. Un percentil 0 significa que la tasa actual es la lectura más negativa de la ventana; 100, la más positiva.
Rango de percentil: casos límite
- Historia insuficiente. Cuando la ventana almacenada cubre menos de
90 días, el API devuelvepartial: truey un percentil null. El frontend renderiza una celda “historia insuficiente” en lugar de un número engañoso a partir de una muestra escasa. - Tasa actual ausente.Cuando la instantánea no tiene el campo de tasa de financiación (arranque en frío, daemon caído), el percentil es null y el frontend muestra —.
- Divulgación del tamaño de muestra. El número real de ciclos contribuyentes se muestra junto a cada percentil para que el lector pueda juzgar cuán robusta es la posición.
Racha: cómo se calcula
Una racha de financiación es la sucesión de ciclos consecutivos de 8 horas que comparten el mismo signo que el ciclo más reciente. La longitud de la racha, en días, es el tiempo transcurrido entre el primer ciclo de la sucesión y el ciclo más reciente. Un ciclo neutral (tasa exactamente 0) termina cualquier racha.
direction = sign(latest.rate) // "neg" | "pos" | "neutral" recorre la historia hacia atrás mientras el signo coincida streak.days = (latest.ts - first_in_streak.ts) / 86_400_000
Etiquetas de dirección: "neg" (los shorts pagan a los longs), "pos" (los longs pagan a los shorts), "neutral" (el ciclo más reciente es cero o no hay historia).
Racha: bandera de rareza
La bandera rare se activa cuando la longitud actual de la racha está en el 10 % superior de las longitudes históricas de rachas en la misma dirección para ese activo. También exigimos al menos 10 rachas completadas previamente antes de declarar una rareza. Sin ese suelo, el umbral puede salir de una muestra diminuta y dispararse en exceso.
Estructura temporal
La estructura temporal de financiación es una tabla que muestra la tasa actual, el percentil de 2 años y la longitud de la racha activa para los seis pares de perpetuos cubiertos a la vez. El endpoint devuelve una fila por activo; los embeds pueden anular la lista de activos vía ?assets=btc&assets=eth.
Histograma de distribución
El histograma de distribución de la tasa de financiación es un gráfico de frecuencia de 30 bins que cubre cada ciclo de 8 horas de los 2 años de historia del activo. El ancho del bin es dinámico por activo a lo largo del rango observado [mín, máx]; un rango fijo [-0,1 %, +0,1 %]recortaría las colas de DOGE/SOL y desperdiciaría resolución en el cuerpo de BTC. Cada bin guarda el timestamp del ciclo más reciente que cayó en él, de modo que el tooltip puede mostrar “visto por última vez YYYY-MM-DD”.
Ratio L/S
El ratio de posicionamiento Long/Short no se incluye en esta versión deliberadamente. Binance expone el ratio de un solo venue, pero una lectura de divergencia con sentido requiere también los feeds de Bybit y OKX. El widget L/S cross-exchange llegará junto con el resto de la infraestructura multi-venue, en lugar de publicar un sparkline solo de Binance que enmarca mal la métrica.
Cacheo
- Percentil. Caché de 1 hora. El rango de 2 años apenas cambia en una hora.
- Racha. Caché de 1 minuto. La longitud de la racha avanza en cada ciclo de 8 h, pero el frontend puede querer un latido más estrecho cerca de los cambios.
- Estructura temporal. Caché de 1 minuto, igualando al componente de racha (su dependencia más reciente).
- Distribución. Caché de 24 horas. Un ciclo nuevo al día añade ~1 fila a un histograma de 2k filas; la forma apenas se mueve.
Limitaciones
- Solo Binance para financiación. Las tasas de financiación difieren entre venues; los percentiles de un solo venue pueden engañar cuando los venues divergen con fuerza.
- Granularidad de 8 horas. La financiación se liquida a las 00:00 / 08:00 / 16:00 UTC. Los cambios de dirección intra-ciclo (raros) son invisibles para este widget.
- La composición de cuentas es opaca. La tasa de financiación es un precio de equilibrio entre el interés abierto long y short; no se descompone en quién está posicionado dónde.
- La profundidad de historia son 2 años rodantes. Las comparaciones con regímenes más antiguos (p. ej. los picos de 2020) no se representan en el percentil.
Versionado
Metodología versión v1.1.0 · actualizado 2026-05-09. Los cambios materiales (nuevas fuentes, ajustes de fórmula, cambios de umbral) suben la versión y actualizan dateModified en los datos estructurados de arriba.