Cómo Hacer Backtest de Estrategias en Mercados de Predicción en Polymarket & Kalshi
Hacer backtest en un mercado de predicción no es como hacerlo en una acción. Los contratos liquidan a $0 o $1, las ventanas duran minutos y el libro se adelgaza cerca del cierre. Así se hace honestamente.
Para hacer backtest honestamente de una estrategia en mercados de predicción debes reproducir el libro de órdenes grabado contra el que habría operado cada mercado, dimensionar cada fill contra la liquidez que realmente estaba en reposo y liquidar cada posición al resultado real de $0/$1. En DepthFeed puedes hacerlo de dos formas — sin código en el Backtest Lab, o mediante la API de datos en tu propio entorno — y luego poner a prueba prospectivamente al superviviente en libros en vivo con paper trading.
Por qué los mercados de predicción son diferentes para hacer backtest
Un contrato en un mercado de predicción no es una acción ni un perpetuo. Cada resultado se cotiza de 0 a 1 — su probabilidad implícita — y al liquidar, un lado vale exactamente $1 y el otro $0. Los mercados al alza/baja de criptomonedas liquidan en 5 a 60 minutos contra un precio de referencia, los spreads se amplían y la profundidad se adelgaza hacia el cierre, y toda la vida de un mercado puede ser más corta que una sola vela en un gráfico normal.
Esa forma cambia lo que necesita un backtest. Tomar un último precio una vez por minuto pierde la mayor parte de un mercado de cinco minutos; ignorar el libro oculta el spread que determina tu P&L en un contrato que paga como máximo un dólar; y etiquetar mal la liquidación convierte ganadores en perdedores. El resto de esta guía trata de hacer cada uno de esos pasos correctamente.
Paso 1 — Parte del libro de órdenes real
Un backtest solo puede ser tan honesto como sus datos. Necesitas el libro de órdenes completo — cada bid y ask en reposo con su tamaño, en ambos lados — capturado en cada cambio en lugar de en un reloj fijo, porque la captura guiada por eventos es la única forma de ver el arco completo de un mercado de corta duración. Ni Polymarket ni Kalshi sirven su propia profundidad histórica de libro de órdenes, por lo que reproducir el libro tal como era requiere un proveedor que lo haya capturado de forma continua.
DepthFeed sirve exactamente eso para ambos venues en un solo esquema: Polymarket capturado por eventos desde el WebSocket CLOB, Kalshi sondeado continuamente a profundidad completa (hasta 100 niveles por lado), con cada snapshot portando timestamps en milisegundos de época y un precio de referencia de criptomoneda subyacente unido. Un solo loader lee cualquiera de los dos venues.
Paso 2 — Modela los fills contra la profundidad, no contra el precio medio
Este es el paso que separa un backtest con el que puedes operar de uno que miente. Una orden de mercado recorre el libro — llena el mejor nivel primero, luego el siguiente, por lo que su precio promedio es peor que el tope cuando consume más del nivel superior. Una orden en reposo se une a la cola y solo se llena si el mercado opera a través de su precio con suficiente tamaño detrás. Llenar todo al precio medio con slippage cero, el valor predeterminado de la mayoría de los backtests casuales, sobreestima sistemáticamente la ventaja.
Sea cual sea la vía que elijas, insiste en un fill ajustado a la profundidad. Con un spread de ida y vuelta de cuatro centavos, en un contrato que paga como máximo un dólar, la diferencia entre un fill al precio medio y uno real es enorme — y se acumula en cada operación.
Paso 3 — Liquida al resultado real
Como el pago es binario, la liquidación no es un detalle de redondeo — es la mayor parte del P&L. Los mercados al alza/baja de Polymarket se resuelven contra un 'precio a superar' fijado en la apertura frente a la referencia final en el cierre; los contratos de Kalshi liquidan sí/no contra un precio de referencia publicado al vencimiento. Haz backtest contra la resolución real, no contra una suposición, y verifica la proporción: entre los mercados al alza/baja de criptomonedas que hemos capturado, los resultados se distribuyen cerca de un lanzamiento de moneda, por lo que cualquier backtest cuya liquidación se desvíe mucho de eso probablemente está etiquetando mal los ganadores.
Paso 4 — Elige tu flujo de trabajo: sin código o API
Hay dos formas de ejecutar todo lo anterior en DepthFeed. La vía sin código es el Backtest Lab: elige un activo y una ventana, selecciona un preset o escribe una regla corta, elige un modelo de ejecución, y reproduce mercados resueltos y los liquida por ti en el navegador — fills VWAP ajustados a la profundidad incluidos, sin necesidad de construir un pipeline.
La vía API es para investigación personalizada a escala: obtén snapshots de profundidad completa mediante la API REST, reconstruye el libro en tu propio entorno y ejecuta el modelo que quieras. Como la API REST histórica y el WebSocket en vivo emiten el mismo JSON, el loader que escribes para reproducir el historial lee el feed en vivo sin cambios — operas con el código exacto con el que hiciste el backtest.
Paso 5 — Test prospectivo antes de arriesgar dinero
Un backtest está ajustado al pasado, por más ligero que sea, por lo que el último paso es ejecutar al superviviente hacia adelante en mercados cuyo resultado nadie conoce aún. Despliega la regla en paper trading — o condúcela desde tu propio bot por webhook — y opera libros en vivo con dinero virtual, ejecutando al bid/ask real y liquidando automáticamente al resolverse. La curva de patrimonio que construye es la evidencia prospectiva que un backtest no puede darte.
Eso completa el ciclo: datos → backtest honesto → test prospectivo. Elimina ideas de forma económica en el historial, asciende las que sobreviven a libros en papel en vivo, y solo entonces considera capital real.
Errores comunes
- Datos de último precio o por hora: oculta el spread y pierde la vida de un mercado de 5 a 60 minutos.
- Fills al precio medio: asumir slippage cero sobreestima gravemente la ventaja en un contrato que paga como máximo $1.
- Liquidación supuesta: etiqueta los ganadores desde el precio de referencia real, no desde una suposición — es la mayor parte del P&L.
- Sesgo de look-ahead: reacciona solo a datos con un timestamp de recepción igual o anterior a tu momento de decisión.
- Omitir el test prospectivo: una ventaja que solo existe en el historial resuelto puede no sobrevivir a los mercados en vivo.
Key takeaways
- 01Los mercados de predicción liquidan a $0/$1 en minutos, por lo que la profundidad, el timing y la liquidación importan más que en cualquier gráfico normal.
- 02Haz backtest contra el libro de órdenes grabado real — ambos lados, cada nivel — capturado en cada cambio, no muestreado.
- 03Modela los fills contra la profundidad (recorre el libro); un fill al precio medio sobreestima silenciosamente la ventaja en un contrato que paga como máximo $1.
- 04Liquida al resultado real y verifica la proporción cercana al lanzamiento de moneda; una liquidación mal etiquetada convierte ganadores.
- 05Ejecútalo sin código en el Backtest Lab o mediante la API, luego pon a prueba prospectivamente al superviviente en libros en vivo con paper trading.
Hacer backtest en un mercado de predicción no es como hacerlo en una acción. Los contratos liquidan a $0 o $1, las ventanas duran minutos y el libro se adelgaza cerca del cierre. Así se hace honestamente.
Empieza gratis