Hacer backtesting de una estrategia en acciones, forex o futuros es aplicar el mismo método a tres datos que no se parecen: cotizaciones de acciones que hay que ajustar, cotizaciones de forex que solo pertenecen a tu bróker, contratos de futuros que vencen. Esta guía dice, mercado por mercado, qué cambia el dato y qué debe cambiar la simulación con él, para que el backtest mida tu estrategia y no los defectos de su serie de precios.

El método está detallado en cómo backtestear una estrategia sin engañarte, y la elección entre test a mano y test programado en backtest manual frente a automatizado. Aquí, solo lo que depende del mercado.

En resumenUn backtest en acciones se equivoca en el dato: precios sin ajustar, empresas excluidas ausentes de la base, apertura tratada como una cotización corriente. Un backtest de forex se equivoca en el bróker: su spread, sus ticks y su swap no son los del vecino. Un backtest de futuros se equivoca en el tiempo: un contrato vence, y la forma de empalmarlo con el siguiente cambia los precios pasados. El resto es igual en todas partes.

Lo que no cambia de un mercado a otro

Sea cual sea el instrumento, un backtest honesto descansa sobre cuatro cosas: reglas escritas antes de mirar el gráfico; costes simulados, spread, comisión y slippage; una muestra bastante larga para atravesar varios regímenes de mercado; y una parte reservada para comprobar los parámetros allí donde no se ajustaron. Después viene el forward test, antes de arriesgar un céntimo.

Las opciones son un caso aparte, porque su precio depende del tiempo y de la volatilidad implícita: es el tema de backtesting de una estrategia de opciones. El vocabulario del test está en el glosario, en la entrada backtesting y replay, y las herramientas se comparan en la guía sobre el software de backtesting gratis.

Acciones: precios que ajustar y una muestra que olvida a las desaparecidas

Una acción es una parte de una empresa, y la empresa vive: divide sus títulos, reparte dividendos, a veces desaparece de la cotización. Cada hecho deja una huella en la serie de precios, y un backtest en acciones que la lee sin entenderla toma un hecho contable por un movimiento de mercado.

Splits y dividendos: la serie ajustada o la serie bruta

Cuando una empresa divide sus títulos, el precio baja de golpe sin que haya pasado nada: según el glosario del Nasdaq, una acción a 100 dólares antes de un split dos por uno cotiza a 50 dólares después, y cada accionista posee el doble de títulos. En un gráfico bruto es una caída a la mitad, y una estrategia de ruptura verá ahí una señal que nunca existió. Los proveedores de datos lo corrigen con una serie ajustada: la página de ayuda de Yahoo Finance sobre el cierre ajustado lo define como el precio de cierre tras ajustar todos los splits y repartos de dividendos, multiplicando por un factor los datos anteriores al evento. Un dividendo produce el mismo efecto en pequeño.

¿Qué serie elegir? La que lee tu estrategia. Las reglas basadas en niveles de precio se prueban en la serie bruta, porque es la que vio el mercado; las reglas basadas en rendimientos o en indicadores, en la serie ajustada, porque si no cada split fabrica una señal falsa. El motor LEAN nombra las dos en su código fuente: en modo bruto, dividendos pagados en efectivo y splits aplicados a la cantidad de la cartera; en modo ajustado, splits y dividendos integrados retroactivamente en el precio. Un software de backtesting que no te dice cuál te sirve te deja adivinar la mitad de tu resultado.

El sesgo de supervivencia: las empresas excluidas faltan en la base

La segunda trampa está en lo que ya no aparece en el gráfico. Si pruebas en las acciones que componen un índice hoy, pruebas en empresas que han sobrevivido hasta hoy: las que quebraron o fueron excluidas ya no están en la lista, y sus pérdidas tampoco. El fenómeno alcanza incluso a las bases de referencia: en «The Delisting Bias in CRSP Data», publicado en 1997 en el Journal of Finance, Tyler Shumway muestra que a la base del Center for Research in Security Prices sobre las acciones estadounidenses le falta el rendimiento de exclusión correcto para la mayoría de los títulos excluidos por quiebra u otro motivo negativo desde 1962, y que los rendimientos omitidos son importantes.

El remedio: probar con la composición del índice en cada fecha, no con su composición actual, y conservar los títulos excluidos con su último precio. Si no, lee tus resultados como un límite superior.

Horarios, subasta de apertura y suspensiones

Una acción tiene una sesión. Según la página de horarios de la Bolsa de Nueva York, la sesión principal va de las 9:30 a las 16:00, hora de Nueva York, se abre y se cierra con una subasta, y algunos días cierran a las 13:00. El primer precio del día es, por tanto, el resultado de una subasta, y una orden lanzada «en la apertura» obtiene ese precio, no el cierre de la víspera. Un test con datos diarios que compra «al cierre de la señal» actúa con una información conocida solo a las 16:00: es una lectura anticipada, y favorece el resultado.

Una acción también puede ser suspendida. La lista de códigos de suspensión del Nasdaq distingue, entre otros, la suspensión a la espera de un anuncio (T1), la pausa por volatilidad (LUDP) y la suspensión decidida por la SEC (H10). Durante una suspensión no hay precio, luego no hay stop ejecutable: un backtest ejecuta ahí un stop a un precio que no existió para nadie.

Forex: los datos de tu bróker, no los del mercado

El forex no tiene bolsa. Según la encuesta trienal del Banco de Pagos Internacionales, la negociación en los mercados de divisas extrabursátiles alcanzó 7,5 billones de dólares al día en abril de 2022, y cada bróker sirve en él sus propias cotizaciones. No existen, por tanto, «los datos del EUR/USD»: existen los de tu bróker, y un test hecho con los de otro no prueba nada sobre lo que habría vivido tu cuenta.

Spread y ticks propios de cada bróker

El modo «cada tick basado en ticks reales» del probador de MetaTrader 5 prueba, según la documentación del Strategy Tester de MetaTrader 5, sobre los ticks reales acumulados por los brókers. En cTrader, la página de ayuda sobre el backtest de un cBot presenta los ticks del servidor como la fuente más precisa, y deja fijar el spread en un valor fijo, en el del momento, o al azar entre un mínimo y un máximo. Un backtester de forex ajustado a un spread fijo y estrecho prueba una versión del mercado que solo existe en las horas tranquilas y sobrestima toda estrategia de corto plazo; el valor honesto es el spread medio de tu bróker en las horas en que operas. El software no falta, el Strategy Tester viene con MetaTrader; lo que falta son los ticks reales de tu bróker.

Un volumen que cuenta los cambios de precio

El volumen de forex no es un volumen. La documentación del indicador Volumes de MetaTrader 5 lo dice: para el mercado de divisas, el indicador mide el número de cambios de precio en cada periodo, mientras que para las acciones mide los volúmenes realmente negociados. Una estrategia de forex que filtra sus entradas por el volumen prueba, por tanto, la actividad del servidor de tu bróker: no se trasladará tal cual a otro.

El swap nocturno

Mantener una posición de forex de un día para otro cuesta o paga un swap, ligado al diferencial de tipos entre las dos divisas y fijado por el bróker. La ficha de especificación de contratos de MetaTrader 4 define el swap largo y el swap corto como el tamaño del rollover para una posición larga o corta, y la documentación MQL5 de las propiedades de símbolo prevé un día de la semana en que se cobra un swap de tres días, para cubrir el fin de semana. Durante varias noches, puede comerse la esperanza de un par con gran diferencial de tipos. Un backtest de forex de varios días que lo ignora no es falso, es incompleto, y siempre en el sentido que te conviene.

Futuros: contratos que vencen, y una serie que hay que empalmar

Un contrato de futuros tiene una fecha. El S&P 500 de marzo no es el de junio: dos instrumentos cotizados a precios distintos, y el primero deja de existir en su vencimiento. La lección sobre los futuros sienta las bases; para el backtest, diez años de test atraviesan cuarenta vencimientos trimestrales.

Vencimientos, mes cercano y rollover

El glosario de la CFTC, el regulador estadounidense de los mercados de futuros, llama «front month» al vencimiento más cercano y «back months» a los vencimientos más lejanos; define el rollover como cerrar una posición en el vencimiento cercano para restablecerla en un vencimiento más lejano. En una cuenta real, el rollover es una operación: cierras marzo, abres junio, pagas dos veces los costes y la diferencia de precio entre los dos contratos. En un backtest, hay que decidir cuándo ocurre y cómo se ve en la serie.

El contrato continuo: tres formas de empalmar, tres series distintas

Para probar durante años, las plataformas construyen un contrato continuo, una sola serie que encadena los vencimientos. En el cambio, el nuevo contrato no cotiza al precio del antiguo, y esa diferencia no es un movimiento de mercado. La guía de NinjaTrader 8 sobre la política de fusión describe tres respuestas: «MergeBackAdjusted», donde un desplazamiento alinea los precios históricos con el contrato siguiente; «MergeNonBackAdjusted», donde los datos quedan en bruto; y «DoNotMerge», que solo carga el vencimiento elegido. El código fuente de LEAN nombra los mismos métodos de otra forma: «BackwardsPanamaCanal» añade en cada empalme un factor igual a la diferencia de precio entre los dos contratos, «BackwardsRatio» multiplica los precios por su ratio, y la fecha del empalme se elige en el último día de negociación, en el primer día del mes de entrega, o cuando el contrato siguiente tiene más interés abierto que el contrato en curso.

Consecuencias: la serie ajustada por diferencia conserva las distancias en puntos, pero sus precios antiguos nunca se cotizaron; la serie ajustada por ratio conserva los rendimientos en porcentaje, pero deforma las distancias en puntos; la serie bruta fabrica un gap falso en cada vencimiento, que tu estrategia tomará por una ruptura. Una estrategia sobre niveles de precio absolutos no se prueba, por tanto, en una serie ajustada, y antes de leer un resultado, pregunta a tu software cuál te ha servido y en qué fecha hizo el rollover.

Tick, valor del punto y garantías

El glosario de la CFTC define la fluctuación mínima de precio, el tick, como el menor incremento de movimiento posible para un contrato dado, y el tamaño del contrato como la cantidad real de mercancía que representa: cada futuro tiene su tick, y cada tick su valor en dinero. Un backtest de futuros que cuenta sus ganancias en puntos sin convertirlos con el valor del tick del contrato probado compara cosas que no tienen la misma unidad. El tamaño de la posición tampoco se calcula como en acciones: según el mismo glosario, la garantía inicial es el importe que exige el bróker al abrir una posición y la garantía de mantenimiento el que debe permanecer depositado. El apalancamiento de un futuro lo fija, por tanto, la garantía: una simulación que toma posiciones que tu garantía no habría permitido prueba una cuenta que no tienes.

La tabla comparativa

AccionesForexFuturos
El datoPrecio bruto o ajustado; composición del índice fechadaCotizaciones y ticks del bróker, ningún precio oficialUn contrato por vencimiento; contrato continuo empalmado por diferencia, por ratio o en bruto
El volumenVolumen realmente negociadoVolumen tick: cambios de precio en el brókerVolumen e interés abierto del contrato
Los costes que simularComisión, spread, slippageSpread flotante del bróker, comisión, swapComisión por contrato, slippage en ticks, costes del rollover
La trampa principalSesgo de supervivencia, serie sin ajustarSpread fijo, datos de otro brókerEmpalme de los contratos, apalancamiento fuera de la garantía

Y Tradoshi en todo esto

Tradoshi tiene su propio módulo de backtesting, en beta: reproduce el histórico vela a vela sin mostrar lo que sigue, simula tus órdenes con spread, slippage y comisiones, y puntúa cada sesión con las mismas estadísticas que tu diario. Sea cual sea el mercado, el diario toma después el relevo: tus operaciones reales dan las estadísticas que tu backtest prometía. El módulo se presenta en la página de backtesting.

Preguntas frecuentes

¿Hay que backtestear las acciones con precios ajustados o brutos?

Según lo que lee tu estrategia: rendimientos o indicadores, la serie ajustada, porque si no cada split crea una señal falsa; niveles de precio absolutos, la serie bruta, porque es la que vio el mercado.

¿Qué es el sesgo de supervivencia en un backtest de acciones?

Es probar con las empresas que aún existen, sin las que quebraron o fueron excluidas. Shumway mostró en 1997 que incluso a la base CRSP le faltaba el rendimiento de exclusión de la mayoría de los títulos retirados por motivos negativos. El remedio: la composición del índice en cada fecha, títulos excluidos incluidos.

¿Por qué un backtest de forex da resultados distintos de un bróker a otro?

Porque el forex no tiene mercado central: cada bróker sirve sus propias cotizaciones, su propio spread y sus propios ticks. Prueba con los datos del bróker con el que operarás, con su spread medio en las horas en que operas.

¿Cómo backtestear futuros durante varios años?

Con un contrato continuo, sabiendo cómo está empalmado, por diferencia, por ratio o dejado en bruto, y en qué fecha ocurre el rollover. Convierte después los ticks en dinero con el valor del tick, y respeta la garantía.

¿Se puede backtestear gratis en acciones, forex y futuros?

Sí, en los tres: las plataformas de los brókers integran su probador, y NinjaTrader escribe en su página de precios que su plataforma es gratuita para el backtesting y la simulación. Lo que rara vez es gratis es el dato fino: ticks reales, históricos intradía profundos, composición del índice fechada, contratos continuos bien empalmados. El detalle está en la guía sobre el software de backtesting gratis.