Monte Carlo - Simular la fluctuación de los parámetros
En el mundo real de la negociación, las condiciones del mercado evolucionan constantemente. La volatilidad cambia, la liquidez fluctúa y los propios datos pueden sufrir variaciones mínimas de un tick a otro. En consecuencia, incluso una estrategia bien optimizada puede no funcionar. exactamente como predice un backtest, ya que sus parámetros principales o los cálculos de los indicadores podrían experimentar una ligera "fluctuación" o inestabilidad cuando se enfrentan a condiciones reales. Esta simulación Monte Carlo está diseñada para comprobar la resistencia de su estrategia a estas desviaciones menores e impredecibles de su comportamiento perfecto en el backtest.
Si aplicamos esta prueba de Monte Carlo, la simulación introduce dos efectos potenciales en las operaciones dentro de cada ejecución de backtest generada:
-
Condición Parpadeo (Entradas Perdidas): Basado en el Saltar Probabilidadun porcentaje aleatorio de operaciones se elimina del backtest. De este modo, se simulan los casos en los que una ligera fluctuación de los parámetros puede hacer que una condición de entrada, que se cumplió en el backtest histórico, no se cumpla por poco en un escenario real ligeramente diferente.
-
Variación del nivel de salida (fluctuación P/L): Para el comercio no omitido, otro porcentaje aleatorio (definido por Ajustar Probabilidad) verán ligeramente alterado su resultado final. Esto se hace modificando el Cerrar Precio de la operación. El importe de la modificación se calcula como un porcentaje aleatorio (hasta el Porcentaje de ajuste del precio máximo) del rango de precios original de esa operación concreta (de apertura a cierre). Este ajuste puede ser positivo o negativolo que significa que el efecto de fluctuación de fase puede dar lugar aleatoriamente a un resultado ligeramente mejor. o precio de cierre ligeramente peor, simulando pequeñas variaciones en los puntos de ejecución Stop Loss, Profit Target o trailing stop.
En pocas palabras, mediante la ejecución de 500 (o un número diferente) pruebas retrospectivas de simulación, cada una aplicando diferentes saltos aleatorios y ajustes de precios bidireccionales aleatorios a la lista de operaciones, se obtiene una perspectiva de Monte Carlo sobre la sensibilidad del rendimiento de su estrategia a pequeñas inestabilidades aleatorias en su propia lógica de ejecución o su reacción a los datos del mercado.
Por ejemplo, si se realizan 100 simulaciones utilizando esta prueba, se generarán 100 curvas de equidad diferentes, cada una de las cuales representa una trayectoria de resultados plausible teniendo en cuenta estas pequeñas variaciones aleatorias.
Esta prueba difiere significativamente de la aplicación de un deslizamiento fijo o de la simulación de un tiempo de inactividad aleatorio. No sólo degrada los resultados de forma consistente, sino que introduce un perturbación probabilística directamente relacionada con la sensibilidad potencial de los parámetros internos de la estrategia. Una simulación podría omitir las operaciones #3 y #25, empeorar ligeramente la operación #10 y mejorar ligeramente la operación #42. Otra simulación podría omitir sólo la operación #15 pero aplicar mayores ajustes de precios (tanto positivos como negativos) a las operaciones #8, #33 y #50. Al evaluar la distribución de los resultados a través de muchas simulaciones, puede evaluar la verdadera solidez de la estrategia contra el tipo de variaciones operativas sutiles que a menudo se encuentran en vivo.
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/