Histórico de precios, spread y slippage: qué te dicen realmente sobre tu bróker.
Tabla de contenidos
Un cambio de naturaleza
Con el artículo anterior cerramos la familia barata. Las pruebas de manipulación de operaciones trabajan sobre una lista de resultados que ya existe y por eso cuestan segundos. A partir de aquí todo cambia.
Esta familia —Monte Carlo retest methods en el programa— reejecuta el backtest completo en cada simulación. La razón es que altera cosas que determinan qué operaciones llegan a existir: si mueves los precios, las órdenes se disparan en momentos distintos y el conjunto de trades es otro. No puedes simularlo sobre la lista antigua.
El precio de esa fidelidad es el tiempo. Doscientas simulaciones sobre mil estrategias pueden ser horas o días. Por eso esta familia va después del cribado inicial, nunca antes.
Randomize History Data
Qué hace y por qué importa
Modifica los precios del histórico —apertura, máximo, mínimo, cierre— dentro de un rango configurable, y reejecuta la estrategia sobre ese mercado alternativo.
Lo que está atacando es la dependencia de niveles exactos. Si tu estrategia necesitaba que un máximo estuviera precisamente en 1,2345 y al desplazarlo dos pips el sistema deja de funcionar, no ha encontrado una ventaja: ha encontrado una coincidencia.
La lectura que casi nadie hace: información sobre tu bróker
Hay una segunda interpretación de este test, mucho más práctica y menos comentada. Los datos históricos no son idénticos entre brókers. Cada uno agrega los ticks a su manera, tiene sus propios proveedores de liquidez, y las velas resultantes difieren.
Cuando aleatorizas el histórico, en realidad estás simulando la pregunta: «¿seguiría funcionando esta estrategia con los datos de OTRO bróker?». Y eso no es hipotético: es exactamente lo que pasará cuando la pongas en real con un bróker distinto del que usaste para descargar el histórico.
CLAVE PRÁCTICA
Esta lectura cambia la actitud ante el test. No estás jugando a universos paralelos abstractos: estás comprobando si tu estrategia sobrevive al cambio de proveedor de datos. Una estrategia que falla aquí es una estrategia que puede comportarse de forma muy distinta en tu cuenta real.
El ajuste peor entendido de todo StrategyQuant
Este malentendido es frecuente y merece insistir, porque invalida el test por completo. Materiales de formación que circulan por ahí recomiendan «variación del ±0,5 % a ±1 % en los precios OHLC», lo cual, leído como porcentaje del precio, sería un movimiento brutal, y leído como porcentaje del ATR sería un movimiento tan pequeño que el test no probaría nada.
StrategyQuant calcula la referencia sobre un ATR de 14 periodos. Con valores de Max price change en torno al 20 %, estás moviendo cada precio en una fracción razonable de la volatilidad típica del activo: suficiente para romper coincidencias, no tanto como para crear un mercado imposible.
Max price change NO es un porcentaje del precio
Es un porcentaje del ATR. La documentación oficial lo dice con un ejemplo literal: si el precio de cierre se elige aleatoriamente para ser modificado, el valor del ATR es de 10 pips y Max price change está al 20 %, entonces el precio puede cambiar en ±2 pips. Interpretarlo como porcentaje del precio te lleva a configurar magnitudes absurdas: un 20 % del EURUSD serían más de 2.000 pips.
Los dos mandos independientes
Como vimos en el artículo 2, StrategyQuant separa dos conceptos que mucha gente confunde en uno solo:
| Mando | Nombre en el programa | Qué controla |
| Frecuencia | Probability of change | Con qué probabilidad una vela concreta va a ser modificada. La documentación lo define como la frecuencia con la que cambian los precios de apertura, máximo, mínimo o cierre por barra |
| Magnitud | Max price change | El máximo que puede cambiar ese precio, expresado como porcentaje del ATR |
En la interfaz aparecen desdoblados por dirección: Probability up y Max change up para movimientos al alza, Probability down y Max change down para movimientos a la baja. Configurarlos asimétricamente permite simular sesgos, aunque para un test de robustez estándar lo razonable es dejarlos simétricos.
Configuración recomendada
| Ajuste | Valor de referencia | Comentario |
| Probability up / down | 15 % | De cada cien velas, quince resultan modificadas |
| Max change up / down | 20 % | Del ATR de 14 periodos, no del precio |
| Número de simulaciones | 100 – 500 | Cada una es un backtest completo: es lento |
| Backtest precision | 1 minuto o tick real | Con datos alterados, la precisión importa más aún |
| Keep connected | Activado | Ver más abajo: evita huecos artificiales |
El filtro
El criterio habitual para esta prueba se configura sobre el beneficio neto:
Monte Carlo retest methods, confianza 95 %: el Net Profit debe ser mayor o igual que la mitad del Net Profit original.
La lectura del gráfico sigue la misma lógica que ya conocemos: buscas que la nube de simulaciones empiece estrecha y siga estrecha. Cuando una estrategia es muy buena, las curvas alternativas arrancan prácticamente pegadas y se mantienen agrupadas durante todo el recorrido, y el beneficio neto al 95 % de confianza queda cerca del original en lugar de a la mitad.
Aleatorización del spread
Qué se está probando
El spread es el coste que pagas en cada operación por el diferencial entre compra y venta. Varía a lo largo del día, se dispara en noticias, se amplía en horario asiático y difiere entre brókers.
Aleatorizarlo comprueba si tu estrategia tiene margen suficiente sobre los costes o si vive pegada al límite de rentabilidad.
Por qué no se configura con el peor caso
El razonamiento del rango 0,5 – 1,5
La tentación es poner el spread máximo que has visto: si en una noticia del BCE llegó a 5 puntos, ¿por qué no probar con 5? Porque ese valor solo se alcanza un par de veces al año, durante segundos. Exigir que la estrategia sea rentable con un spread de 5 permanente es exigirle que sobreviva a un mercado que no existe. Descartarías estrategias perfectamente válidas por un escenario irreal.
El rango razonable es entre 0,5 y 1,5 veces el spread base. Ahí estás cubriendo la variación normal del día a día, que es la que vas a sufrir en el 99 % de tus operaciones.
Dicho esto, el ajuste debe adaptarse al estilo de la estrategia. Un sistema de scalping en M5, donde el objetivo por operación puede ser de pocos pips, es mucho más sensible al spread que un swing en H4 que busca cien pips. Para el primero conviene ser más agresivo en el rango; para el segundo, una variación moderada basta.
Cuando una estrategia atraviesa este test sin despeinarse, la conclusión es sólida: es muy robusta frente a costes. Es de las pruebas que más tranquilidad dan de cara a poner el sistema en un bróker distinto del de desarrollo.
Aleatorización del slippage
Qué simula
El slippage es la diferencia entre el precio al que esperabas ejecutar y el precio al que realmente ejecutaste. Ocurre cuando el mercado se mueve entre que tu orden sale y llega, y es especialmente severo en velas de gran amplitud: entras más tarde y peor.
Es exactamente el escenario de un velón de noticias: tu orden de stop se dispara, pero para cuando llega al servidor el precio ya está veinte pips más allá.
Configuración y uso real
| Ajuste | Valor | Comentario |
| Rango de slippage | 0 – 0,5 | 0,5 ya es un valor considerable |
| Frecuencia de uso | Baja | No es de las pruebas que se aplican sistemáticamente |
Conviene ser honesto sobre esto: la aleatorización del slippage no suele usarse en el pipeline estándar. No porque no importe, sino porque su efecto queda en buena medida cubierto por la prueba de omisión de operaciones —que simula el caso extremo del slippage, no llegar a entrar— y por la aleatorización del spread, que ya estresa los costes.
Donde sí tiene sentido dedicarle tiempo es en estrategias que operan en torno a datos macroeconómicos, en activos de baja liquidez, o en sistemas cuyo beneficio medio por operación es pequeño en relación con la volatilidad del activo.
Las incorporaciones recientes: los tests de swap
StrategyQuant ha ido ampliando el catálogo de Monte Carlo. Las incorporaciones más recientes son tres, y dos de ellas pertenecen de lleno a esta familia de condiciones de mercado.
- Monte Carlo – Randomize SWAP of a whole backtest: aplica un valor de swap generado aleatoriamente dentro de un rango configurable, igual para todo el backtest. El parámetro se llama Range y los valores se generan entre −Range y +Range.
- Monte Carlo – Randomize SWAP of every trade: igual, pero sorteando un swap distinto para cada operación.
- Monte Carlo – Modified Randomize strategy parameters: pertenece a la familia de parámetros y la vemos en el próximo artículo.
El swap es el coste o abono por mantener una posición abierta de un día para otro. Para una estrategia intradía es irrelevante, pero para cualquier sistema que aguante posiciones varios días puede ser una parte sustancial del resultado. Y varía entre brókers, cambia con los tipos de interés y no es simétrico entre largos y cortos.
Aleatorizarlo responde a una pregunta muy concreta: si tu estrategia gana dinero en parte porque cobraba swap positivo en una dirección, ¿qué pasa cuando ese diferencial cambia? Los tipos de interés de 2015 no son los de 2024, y una estrategia cuya ventaja dependa del carry no es una estrategia de precio.
El mismo anuncio incorpora un método de gestión monetaria llamado Fixed proportional position sizing y 54 bloques personalizados nuevos basados en lógica de subida y bajada, que no son tests de robustez pero conviene conocer.
Otra corrección al material de referencia
Circulan materiales que atribuyen a las últimas versiones tests llamados «Multi-Market Portfolio Test» y «ATR-Based Stress Test». Ninguno de los dos existe. El anuncio oficial de StrategyQuant enumera exactamente tres nuevos tests de Monte Carlo: Modified Randomize strategy parameters, Randomize SWAP of a whole backtest y Randomize SWAP of every trade. «Randomize Trading Options» tampoco es un test independiente: es uno de los parámetros que puedes seleccionar dentro del primero.
Volviendo a Skip Trades desde otro ángulo
Merece la pena releer la prueba de omisión de operaciones con la mentalidad de este artículo. En el artículo 3 la presentamos como una prueba de concentración: si tu beneficio depende de tres operaciones, eres frágil.
Pero tiene una segunda lectura que encaja aquí: en un bróker distinto, con datos distintos, algunas de tus operaciones simplemente no habrían entrado. El precio no llegó a tocar tu nivel por medio pip. Ese trade no existe en la otra realidad.
Eliminar un 15 % de las operaciones al azar simula exactamente eso. Y visto así, deja de ser una prueba abstracta de concentración para convertirse en una pregunta muy concreta: ¿cuánto de mi rentabilidad depende de que mi bróker sea este y no otro?
Resumen de la familia
| Prueba | Qué rompe | Configuración de referencia | Filtro típico |
| Randomize History Data | Los precios exactos | Prob. 15 %, magnitud 20 % del ATR, 100-500 sim. | Net Profit al 95 % ≥ 50 % del original |
| Aleatorizar spread | El coste de transacción | Rango 0,5 – 1,5 del spread base | Sigue rentable en todo el rango |
| Aleatorizar slippage | La calidad de ejecución | Rango 0 – 0,5 | Sigue rentable |
| Skip Trades | Que todas las órdenes se ejecutaran | 15 % – 30 % omitidas, 500 sim. | Net Profit > 0 en el 70 % de sim. |
| Randomize SWAP | El coste de mantener overnight | Rango configurable ±Range | Solo relevante en sistemas multidía |
Preguntas frecuentes (FAQs)
Las dudas que más se repiten sobre este tema, con la respuesta contrastada con la documentación oficial de StrategyQuant X.
¿Qué rango de spread pongo en el Monte Carlo?
Para el eurodólar, entre 0,5 y 1,5. Si quieres ser estricto puedes llegar a 2, pero no más. El motivo es que el 90 % del tiempo el spread de ese par está por debajo de 2.
Por qué no configurar el peor caso
Que en un pico de volatilidad por una noticia el spread llegue a 5 no justifica un rango de 1 a 5. Con ese rango, el algoritmo aplicará valores extremos en un porcentaje muy elevado de las barras del backtest, cuando en el histórico real ese spread ocurrió una o dos veces. El resultado es una prueba de estrés irreal que rechaza estrategias válidas.
La prueba busca imponer una situación de estrés realista, no un escenario catastrófico permanente.
¿Puedo usar la misma configuración para todos los activos?
No. Cada activo tiene su personalidad y su propio nivel razonable de estrés: lo que resulta muy exigente para uno es laxo para otro. Los filtros calibrados para índices y oro son notablemente más estrictos que los que tienen sentido en divisas.
Merece la pena documentar la configuración que usas para cada instrumento y por qué. Es la diferencia entre un proceso reproducible y una colección de ajustes que nadie recuerda de dónde salieron.
¿Hay activos directamente inoperables?
Sí, y conviene descubrirlo antes de montar un flujo de trabajo entero para ellos. En pares exóticos —el euro contra el dólar de Singapur es un buen ejemplo de laboratorio— los rangos de spread y slippage del bróker son tan elevados que los costes operativos se comen cualquier ventaja que puedas encontrar.
La comprobación es rápida: antes de generar nada, compara el coste por operación (spread más slippage más comisión) con el beneficio medio por operación que puedes esperar en esa temporalidad. Si el primero es una fracción importante del segundo, ese instrumento no es operable con esa estrategia.
¿Puedo bajar la exigencia del test excluyendo horarios?
Sí, y es una práctica habitual. Restringiendo en las opciones de trading la franja de máximo spread —de once de la noche a una de la madrugada, por ejemplo— la estrategia deja de operar precisamente en las horas donde el coste se dispara, y el rango del Monte Carlo de spread pasa a ser menos crítico.
Ojo con el efecto secundario: cada restricción horaria es también un grado de libertad añadido. Si la franja excluida tiene una justificación estructural (el spread es peor a esa hora, y lo es todos los días), es una decisión defendible. Si la eliges porque mejora el resultado, es optimización disfrazada.
¿Merece la pena aleatorizar el slippage?
No suele formar parte del flujo estándar. Un rango de 0 a 0,5 ya es considerable, y su efecto queda en buena medida cubierto por la omisión de operaciones —que simula el caso extremo, no llegar a entrar— y por la aleatorización del spread.
Donde sí conviene dedicarle tiempo es en sistemas que operan alrededor de datos macroeconómicos, en activos de baja liquidez y en estrategias cuyo beneficio medio por operación es pequeño frente a la volatilidad del activo.
Mi bróker exige una distancia mínima entre la orden y el precio. ¿Se puede probar eso?
Sí. Dentro de los métodos de retest hay una opción que aleatoriza la distancia mínima respecto al precio, pensada exactamente para eso: la documentación oficial explica que emula las distintas distancias mínimas que algunos brókers imponen al colocar una orden stop.
Es una prueba muy pertinente si vas a operar en cuentas de fondeo o en brókers con restricciones de este tipo. Una estrategia puede ser rentable en términos generales y resultar inoperable en un bróker concreto por esta limitación, y es mejor descubrirlo en el Retester que en producción.
¿Qué pruebas nuevas hay además de las del menú estándar?
Conviene distinguir dos cosas. En el menú del programa, las incorporaciones recientes de Monte Carlo son las tres citadas más arriba. Aparte de eso, StrategyQuant publica en su Codebase snippets descargables que añaden métodos adicionales, entre ellos la aleatorización por bloques de regímenes de mercado, el jitter de parámetros y la degradación aleatoria de la ejecución.
El de bloques resulta especialmente interesante a la luz de lo que vimos en el artículo 2: en lugar de barajar operaciones sueltas, muestrea bloques de operaciones consecutivas y conserva dentro de cada bloque la secuencia original. Es decir, respeta parte de la estructura que el barajado clásico destruye.
Sigue leyendo el contenido de esta serie
Entramos en el espacio de parámetros: aleatorización, optimización secuencial y System Parameter Permutation. Es el grupo conceptualmente más importante de toda la batería y, según el propio estudio de StrategyQuant, el que peores resultados obtiene como filtro. Explicamos esa paradoja.
Desconfía de tu propio backtest
La filosofía de las pruebas de robustez y por qué son el paso más importante del proceso. Tabla de...
Monte Carlo, de verdad
Fundamentos del método, los dos tipos que existen en SQX y cuándo sus resultados no valen nada...
Aleatorizar las operaciones
Reordenar y omitir trades: la primera línea de defensa contra la suerte disfrazada de ventaja...
El espacio de parámetros
Aleatorización, optimización secuencial y SPP: ¿estás en una meseta o en un pico? Tabla de...
Walk-Forward
WFO y la Matrix: robustez en el tiempo, no en el espacio de parámetros. Tabla de contenidos Este...
Qué tests funcionan de verdad
El estudio empírico de StrategyQuant sobre 500.000 estrategias, y un error que conviene corregir....
El pipeline completo
Del databank a las finalistas: montaje, filtros, checklist y los errores que más caro salen. Tabla...
AVISO
Este artículo es material formativo. Describe un proceso de validación estadística, no una promesa de rentabilidad: ninguna batería de pruebas convierte una estrategia sin ventaja real en una rentable.
El trading conlleva riesgo real de pérdida de capital. Las cifras y nombres de ajustes corresponden a la documentación de StrategyQuant en el momento de redactar este texto; el programa se actualiza con frecuencia.








