Insights & News

Blog

Inmersiones profundas en el trading con IA, análisis de mercado y el futuro de DeFi.

Browse collections →
Filter by tag:
July 2, 2026
#algotrading

El impuesto del framework: cuando tu librería de backtest es más lenta que un bucle ingenuo de pandas

Comparamos ocho motores de backtest en un mismo barrido de parámetros idéntico: 150k barras, 80 combinaciones de cruce de HMA, con la paridad de número de operaciones fijada en 2707. Dos de los frameworks orientados a eventos más populares resultaron más lentos que un bucle de pandas escrito a mano, mientras que un motor vectorizado/compilado ejecutó el mismo trabajo unas 13,000× más rápido. Un estudio de la sobrecarga por barra que las librerías populares nunca fueron diseñadas para amortizar.

#algotrading#backtest#rendimiento
Leer artículo →
July 1, 2026
#algotrading

La Probability of Backtest Overfitting: ¿superó su búsqueda a una moneda al aire?

El Deflated Sharpe Ratio evalúa la estrategia ganadora; PBO evalúa la búsqueda que la eligió. Combinatorially Symmetric Cross-Validation ejecuta C(16,8) = 12.870 divisiones train/test sobre una matriz de rendimiento de 1000x200 y pregunta: ¿el ganador in-sample cae en la mitad inferior fuera de muestra? La trampa que casi todos pasan por alto: el valor nulo de PBO es 0.5, no 1. En 200 estrategias sin edge, el mejor Sharpe anualizado in-sample de 1.98 colapsa a 0.06 fuera de muestra y PBO = 0.476: una moneda al aire, sobreajuste total. Plante un edge real (Sharpe anualizado 2.38) y PBO cae a 0.001, con el 3.73 in-sample sobreviviendo a un 2.34 fuera de muestra. Una grilla de medias móviles sobre un paseo aleatorio puro tampoco tiene habilidad fuera de muestra —PBO 0.463 promediado en 60 matrices, estadísticamente indistinguible del nulo— y en una matriz representativa el espejismo es evidente: un mejor Sharpe in-sample de 2.33 colapsa a una mediana fuera de muestra de -0.22, PBO 0.573, un 63% de probabilidad de pérdida.

#algotrading#backtest#overfitting
Leer artículo →
June 30, 2026
#algotrading

El impuesto IPC: pon el motor de backtesting detrás de un socket y pierde un 13% — casi nada de eso es del socket

Portamos un kernel de backtesting de numba línea por línea a Rust y lo llamamos a través de un límite de proceso de cuatro formas, con una puerta de equivalencia que confirma un PnL idéntico hasta el último trade. Enviar toda la serie de precios de 1.2 MB por un socket Unix cuesta ~2 ms — alrededor del 0.1% del trabajo. Codificar el mismo payload en JSON cuesta 1348 veces más que los bytes crudos, las llamadas charlatanas por combinación reenvían los datos 80 veces, y un patrón de llamada por barra pagaría 2.1 s de IPC pura en un trabajo de 2.0 s. El límite es barato; el impuesto está en cómo lo cruzas.

#algotrading#backtest#performance
Leer artículo →
June 29, 2026
#algotrading

El Deflated Sharpe Ratio: ¿Cuántos de los 'ganadores' de tu backtest sobreviven al multiple testing?

Una búsqueda de parámetros es una máquina para fabricar suerte. Sobre ruido puro — 1.000 estrategias con cero edge real — el mejor Sharpe anualizado promedia 1,63 y el test de significancia ingenuo marca un descubrimiento el 100% de las veces. Construimos una verdad de referencia controlada y mostramos que el Deflated Sharpe Ratio, el recorte de Harvey-Liu y el Reality Check de White restauran la honestidad: los falsos descubrimientos caen de 1,000 a 0,001-0,057, los edges genuinos por encima del techo de ruido se conservan con power ~1 — y una trampa real (grids correlacionados) donde el DSR crudo sobre-deflaciona y el veredicto debe leerse a través de toda una banda de estimaciones de trials efectivos, no de una sola.

#algotrading#backtest#overfitting
Leer artículo →
June 28, 2026
#algotrading

Diseño de la función objetivo: la métrica que optimizas elige en secreto tu estrategia

Para buscar la 'mejor' estrategia primero hay que definir 'mejor' — y ese escalar elige el ganador en silencio. Con datos sintéticos y un edge conocido (600 semillas, T=2000, 80 umbrales), un Sharpe por operación ingenuo corona una lotería: elige un ganador con menos del 5% de exposición en el 56% de las semillas y degenera en el 57% — en la semilla más extrema, 8 operaciones producen un Sharpe in-sample de 21.09 que colapsa a 0.13 fuera de muestra. La reparación honesta es casi aburrida: medir en la línea temporal completa, que nunca degenera (fuera de muestra 1.71). Un shrinkage por número de operaciones (conf_k) y un piso de exposición pueden reparar una métrica por operación, pero incluso totalmente corregidos solo igualan al Sharpe de línea temporal completa (1.70 frente a 1.71) — nunca lo superan. La ley de Goodhart, en un backtest, con verdad de base controlada.

#algotrading#backtest#overfitting
Leer artículo →
June 27, 2026
#algotrading

Look-Ahead Bias: cómo un error de una vela fabrica un Sharpe de 15 a partir de puro ruido

Un estudio controlado de las sutiles fugas de look-ahead que inflan silenciosamente los backtests. Sin ningún edge real, una ejecución en la misma vela fabrica un Sharpe anualizado de +14,8 a partir de puro ruido; un vistazo de un indicador una vela hacia adelante, +4,8. La taxonomía, las magnitudes medidas y cómo detectar cada fuga antes de que le cueste dinero.

#algotrading#backtest#look-ahead bias
Leer artículo →
June 26, 2026
#algotrading

La escalera de velocidad del backtest: 298x en la CPU de un portátil, PnL idéntico hasta la última operación

Cinco implementaciones del mismo barrido de 80 combinaciones de parámetros, todas verificadas para producir el mismo PnL: pandas rolling.apply tarda 69,9 segundos, numpy 3,1, numba 2,0, numba paralelo 0,23 — una aceleración medida de 298x en un Apple M2 Max sin ningún cambio de hardware, y aun así ~13x sobre una base vectorizada competente. Qué compra cada peldaño, por qué una GPU no es la pieza que falta, y dónde vive el verdadero cuello de botella en la búsqueda masiva de parámetros.

#algotrading#backtest#performance
Leer artículo →