Todas las entradas

Diario5 min de lectura

Por dentro de nuestro motor de backtest

Un simulador de una sola pasada que podemos leer de principio a fin, 46 indicadores probados contra el sesgo de anticipación, ejecuciones y costes realistas, y pruebas de estrés antes de que confíes en un resultado.

Cada número que muestra QuantPrompt sale de un simulador que escribimos y probamos nosotros. Recorre las barras de precio en una sola pasada, con NumPy y pandas, y es lo bastante corto para leerlo entero. Por eso podemos decirte exactamente qué supone cada resultado.

Las órdenes se ejecutan como en una cuenta real

  • La señal se decide al cierre de una barra y se ejecuta a la apertura de la siguiente. Ejecutar al cierre que usaste para decidir es anticipación.
  • La comisión y el deslizamiento se pagan en ambos lados de cada operación, y el deslizamiento también se aplica a las salidas por stop loss y take profit. Un stop que se ejecuta justo a su precio es una fantasía de backtest.
  • Si una entrada y una salida coinciden en la misma barra, gana la que encaja con la posición: entrar si no hay posición, salir si la hay.
  • Puedes dimensionar cada operación como una parte del efectivo disponible; el resto queda en efectivo.
  • Una posición que sigue abierta al final se valora al último cierre y se muestra abierta, no se cierra en silencio.

Métricas que respetan el calendario del mercado

Sharpe, Sortino y la rentabilidad anual se anualizan con la densidad de barras que hay realmente en los datos: unas 252 barras al año en acciones diarias, 365 en cripto y unas 1.764 en acciones de EE. UU. por horas. Suponer 365 días para todo inflaría el Sharpe de una estrategia de acciones en torno a un 20 %.

46 indicadores, cada uno probado contra la anticipación

Cada indicador está escrito con NumPy y pandas. Una prueba automática lo calcula sobre un histórico de precios y luego sobre ese mismo histórico recortado, y falla si algún valor pasado cambia al añadir barras posteriores. Las barras en las que un indicador aún se está calentando nunca pueden disparar una operación.

Contrastado con una referencia

Antes de confiar en él, ejecutamos el simulador junto a una biblioteca de backtesting de código abierto muy utilizada, sobre 60 series de precios y conjuntos de señales generados al azar, y comparamos ejecuciones, comisiones y curvas de capital barra a barra. Coinciden salvo donde elegimos ser más estrictos, como el deslizamiento en las salidas por stop.

Pruebas de estrés antes de confiar en un resultado

  • Cada resultado se muestra junto a simplemente comprar y mantener el mismo activo.
  • El análisis de meseta repite la estrategia en una cuadrícula de 9×9 ajustes cercanos, 81 backtests sobre los mismos datos, para ver si la ventaja es una meseta amplia o un pico aislado.
  • También duplica los costes, prueba cada mitad del periodo por separado y mide cuánto del beneficio aportaron las tres mejores operaciones.
  • El análisis de reglas quita cada regla por turnos y la juzga en el último 30 % del histórico, que la comparación nunca usó para entrenar.

Lo bastante rápido para ejecutarlo muchas veces

Los datos de precios se descargan una vez por ejecución y se reutilizan en cada variante, así que un barrido de 81 backtests cuesta una sola descarga. Cada ejecución registra cuánto tardaron el análisis del texto, los datos, los indicadores y la simulación; así encontramos y corregimos los pasos lentos.

Que el motor sea nuestro significa que podemos decirte exactamente qué supone. Un backtest que no puedes inspeccionar es un número que tienes que creer a ciegas.

Prueba esta estrategia

Buy AAPL when the close crosses above its 50-day SMA, sell when it crosses below. 5% stop loss.

Abre un backtest nuevo con este texto ya escrito.

Fuentes

Prueba tu propia idea

Describe una estrategia con palabras sencillas y mira cómo habría funcionado, con costes incluidos.

Empezar un backtest

Más del diario