Los mejores datos de order book de Kalshi, y cómo elegirlos
La mayoría de los datos de Kalshi que encuentras son un último precio muestreado una vez por hora: sirven para un gráfico, pero son inútiles para un backtest. Esto es lo que realmente distingue una fuente de Kalshi sobre la que puedes operar de otra que solo parece datos.
Cinco criterios que deciden si los datos sirven para backtesting
1. Resolución: orientada a eventos, no muestreada por intervalos
Una snapshot tomada con un reloj fijo —cada hora, cada minuto, cada pocos cientos de milisegundos— se pierde todo lo que ocurre entre ticks. Los mercados de corto plazo de Kalshi se liquidan en 5 a 60 minutos, así que una muestra por intervalo captura solo un puñado de frames de toda la vida de un mercado.
DepthFeedDepthFeed registra cada evento de cambio de book y de precio a medida que ocurre —entrega con mediana de ~10ms en Polymarket, polling continuo a profundidad completa en Kalshi— de modo que nada entre muestras se pierde.
2. Profundidad, no el último precio
Un último precio operado (o un único mid) oculta el spread y el tamaño que descansa en cada nivel. Sin la escalera completa no puedes medir el slippage, y un backtest que asume que ejecutaste al mid es un backtest que miente.
DepthFeedDepthFeed sirve el book bid/ask completo, ambos lados, cada nivel —hasta 100 levels por lado en Kalshi— de modo que los fills se dimensionan contra la liquidez que realmente estuvo ahí.
3. Cobertura: un solo esquema, cada venue y activo
Los datasets de un solo venue te obligan a unir un formato distinto para cada mercado y a reescribir tu loader cada vez que agregas uno. La cobertura parcial de activos limita en silencio qué estrategias puedes siquiera probar.
DepthFeedDepthFeed sirve Polymarket, Kalshi y Limitless en un único esquema columnar estable a través de siete activos —BTC, ETH, SOL, XRP, DOGE, BNB, HYPE— de modo que el mismo código lee cada venue.
4. Entrega: una API y un stream en vivo, no un archivo estático
Un archivo CSV o Parquet descargable es una snapshot congelada: se vuelve obsoleto, lo vuelves a descargar y nunca llega a ser aquello con lo que operas. El formato de investigación y el de producción terminan siendo distintos, así que tienes que reconectar todo para salir en vivo.
DepthFeedDepthFeed es una API REST medida para el historial y un stream WebSocket en vivo para el presente, ambos emitiendo el JSON idéntico. Haz backtest y luego apunta el mismo código al feed en vivo y opera.
5. Fills realistas en los que puedes confiar
Todo el sentido del backtesting es saber si una estrategia habría ejecutado, y a qué precio. Esa respuesta solo existe si reproduces el order book real contra el que la estrategia habría operado, con timestamps lo bastante finos para alinearse con el movimiento que lo impulsó.
DepthFeedCada snapshot de DepthFeed lleva timestamps de exchange y de recepción en epoch-millis y se une a un precio del subyacente de alta frecuencia, de modo que el estado del book se alinea con el movimiento del spot tick a tick.
Dónde se quedan cortas las opciones habituales
Cuando la gente busca datos de Kalshi, recurre a una de cuatro cosas. Cada una sirve para algo, y ninguna es el order book contra el que haces backtest.
Por qué DepthFeed
DepthFeed es la fuente construida para superar las cinco barreras en Kalshi: captura full-depth orientada a eventos, servida como historial mediante una API REST limpia y como un stream WebSocket en vivo, en el JSON idéntico. Datos completos de order book y precios de Kalshi, listos para hacer backtest contra liquidez real y luego operar con el mismo código.
Preguntas, respondidas.
La mejor fuente es la que registra cada cambio del order book (no una muestra por intervalo fijo), sirve la escalera bid/ask completa en ambos lados (no solo el último precio), cubre los venues y activos que operas en un mismo esquema y entrega el historial y los datos en vivo en el mismo formato para que puedas operar con el código que hiciste backtest. DepthFeed se construyó para hacer exactamente esto en Kalshi, con entrega en vivo de mediana ~10ms en Polymarket y captura continua a profundidad completa en Kalshi.