1. 8. 2025

5 2

Monte Carlo - Aleatorización por bloques MACHR

En el mundo real del trading, las condiciones del mercado no siguen una secuencia predecible. Los mercados alcistas, los mercados bajistas, los periodos de alta volatilidad y las fases de consolidación pueden producirse en órdenes muy diferentes en distintos periodos o instrumentos. Una estrategia que funcione bien durante una secuencia concreta de regímenes de mercado podría tener problemas si esos mismos regímenes aparecieran en un orden diferente. Esta simulación de Monte Carlo está diseñada específicamente para comprobar la solidez de su estrategia frente a los cambios en los regímenes de mercado. secuencia de regímenes de mercadosin destruir las características internas que definen cada periodo de régimen.

La prueba de aleatorización por bloques MACHR (Market Condition Historical Randomization) aborda una cuestión fundamental: "¿Y si se dieran las mismas condiciones de mercado, pero en un orden diferente?".

Cuando aplicamos esta prueba de Monte Carlo, la simulación introduce una sofisticada forma de aleatorización que opera sobre bloques de operaciones consecutivas en lugar de operaciones individuales:

  1. Creación de bloques: La secuencia original de operaciones se divide en bloques de operaciones consecutivas (por defecto 5 operaciones por bloque, configurable de 2-50). Cada bloque representa un periodo cohesivo de comportamiento del mercado, preservando las relaciones internas entre las operaciones que se produjeron durante condiciones de mercado similares.
  2. Muestreo por bloques Bootstrap: En lugar de limitarse a barajar operaciones individuales, la simulación utiliza el muestreo bootstrap para seleccionar aleatoriamente bloques con reemplazo. Esto significa que algunos periodos (bloques) del régimen de mercado pueden aparecer varias veces en una simulación, mientras que otros pueden no aparecer en absoluto, imitando cómo ciertas condiciones de mercado pueden dominar algunos periodos mientras que están ausentes en otros.
  3. Preservación de la estructura del régimen: Dentro de cada bloque seleccionado, se mantienen la secuencia original de operaciones y las relaciones temporales. Esto preserva la auténtica microestructura del mercado, las relaciones de entrada/salida y los patrones de comportamiento específicos del régimen que definen cómo se comportó realmente su estrategia durante esas condiciones.
  4. Reconstrucción de marcas de tiempo: Tras la aleatorización de los bloques, la simulación reconstruye opcionalmente las marcas cronológicas para mantener el cálculo adecuado de la curva de renta variable y las métricas de rendimiento, garantizando que la secuencia aleatoria aparezca como una historia alternativa plausible del mercado.

Por ejemplo, imagine que su backtest original contenía estos bloques de operaciones:

  • Bloque 1: 5 operaciones durante un mercado alcista tendencial
  • Bloque 2: 5 operaciones durante la consolidación de alta volatilidad
  • Bloque 3: 5 operaciones durante la caída de un mercado bajista
  • Bloque 4: 5 operaciones durante la recuperación de la baja volatilidad

Una simulación podría bootstrap a: Bloque 2 → Bloque 1 → Bloque 2 → Bloque 4, creando un escenario en el que dominan los periodos de volatilidad, se reducen las fases de tendencia y los mercados bajistas están completamente ausentes. Otra simulación podría generar: Bloque 3 → Bloque 3 → Bloque 1 → Bloque 4, creando un escenario de fuerte mercado bajista seguido de recuperación.

Esta prueba difiere fundamentalmente de las pruebas de aleatorización de operaciones individuales o de inestabilidad de parámetros. En lugar de probar la sensibilidad a las variaciones de ejecución o la inestabilidad de los parámetros, la aleatorización de bloques MACHR evalúa específicamente dependencia secuencial del régimen. Responde a si el éxito de su estrategia se debió a una secuencia afortunada de condiciones de mercado, o si seguiría siendo sólida a través de diferentes arreglos plausibles de los mismos regímenes de mercado.

Al ejecutar más de 500 simulaciones, se genera una distribución de resultados que refleja cómo podría comportarse su estrategia en diferentes "historias de mercado" posibles, cada una de las cuales contiene los mismos tipos de condiciones de mercado pero en secuencias modificadas. Esto proporciona información crucial sobre si la ventaja de su estrategia es realmente independiente del régimen o si depende de secuencias específicas de condiciones de mercado que podrían no repetirse en el futuro.

Una estrategia que muestra un rendimiento consistente a través de todas las simulaciones MACHR demuestra verdadera robustez de régimen. Por el contrario, una alta varianza en los resultados de la simulación sugiere que la estrategia puede ser demasiado dependiente de la secuencia histórica particular de los regímenes de mercado en sus datos de backtest.

Cómo importar fragmentos personalizados (como esta prueba Monte Carlo) a SQX: https://strategyquant.com/doc/programming-for-sq/import-export-custom-indicators-and-other-snippets/

Me conocéis como clonex. Me llamo Iván Hudec; soy el creador de los bloques gratuitos que estás utilizando aquí, y escribo sobre la investigación en la que se basan en algotrading.space. ¿Necesitas que te construyamos algo? Trabaja conmigo.
2 Comentarios
Más antiguo
Más reciente Más votados
Pepe
4. 8. 2025 2:31 pm

¡¡¡Genial!!!

Patrick Vale
6. 9. 2025 7:26 pm

No puedo descargar el archivo. Sólo se muestra el navegador de texto Google Chrome.