PolyWorkBench
Banco de trabajo sobre datos de mercados de predicción
47.000 mercados y decenas de millones de eventos: un endpoint de estadísticas que expiraba pasó a responder en 2 ms en caliente.
- Python
- FastAPI
- PostgreSQL
- Alembic
- React
- Docker Compose
- pytest
Qué es
Un banco de trabajo para analizar datos de mercados de predicción —Polymarket, esos mercados donde la gente compra y vende contratos sobre si algo va a pasar—. Recoge sus datos por API de forma continua, los guarda en una base propia y encima monta tres cosas: un panel para explorar mercados y su histórico de precios, backtesting de estrategias sobre ese histórico, y seguimiento de carteras públicas para ver qué mueven las que más aciertan.
Está en pausa, y lo interesante de haberlo hecho es que casi todo el trabajo terminó siendo de datos, no de análisis: el recolector aguanta caídas de la API con reintentos y cortacircuitos, las migraciones son incrementales para no perder lo ya recogido, y el backtesting corrige lo que hace bonitos los backtests falsos —ventanas hacia delante y modelo de deslizamiento— porque una estrategia que se prueba con datos que no existían aún siempre gana.
El dato: la pantalla de estadísticas hacía COUNT(*) sobre tablas de decenas de millones
de filas y devolvía error por tiempo de espera agotado. Con la consulta pesada retirada y
una caché de 60 segundos, responde en ~2 ms en caliente. Fue mi recordatorio de que a
partir de cierto tamaño un contador deja de ser gratis, y 47.271 mercados ya son ese
tamaño.
