Monte Carlo - Ejecución degradada aleatoriamente
Las imperfecciones en la ejecución, como el deslizamiento de los precios o la ampliación temporal de los diferenciales, son habituales en las operaciones reales. Estos factores pueden hacer que el precio de cierre real de una operación sea menos favorable que el precio ideal observado u objetivo durante el backtest. Esta simulación Monte Carlo modela el impacto de estos problemas de ejecución aleatorios.
Si aplicamos esta prueba de Monte Carlo, un porcentaje aleatorio de operaciones (Probabilidad) durante el backtest verán degradado su resultado de ejecución. Esto se consigue empeorando el CerrarPrecio de las operaciones seleccionadas. El importe por el que CerrarPrecio empeora también es aleatorio para cada comercio afectado, calculado como un porcentaje aleatorio (hasta Porcentaje máximo de degradación) de la gama de precios cubierta por esa operación específica (de OpenPrice al original CerrarPrecio). Un precio "peor" significa un inferior precio de cierre para operaciones largas y un superior precio de cierre de las operaciones en corto, reduciendo así los beneficios o aumentando las pérdidas.
En pocas palabras, ejecutando 500 pruebas retrospectivas (o un número diferente), en las que cada prueba retrospectiva aplica esta degradación aleatoria del precio a un subconjunto diferente de operaciones y con una gravedad variable, puede adquirir una perspectiva de análisis Monte Carlo sobre la sensibilidad de la estrategia a las variaciones de la calidad de ejecución.
En este ejemplo concreto, podríamos realizar 100 simulaciones con degradación de ejecución aleatoria aplicada como se ha descrito.
Esta prueba difiere de la aplicación de un valor fijo de deslizamiento a todas las operaciones. En este caso, el efecto de degradación es probabilístico:
-
Qué Las operaciones afectadas son aleatorias (basadas en Probabilidad).
-
¿Cuánto? cada comercio afectado se degrada es también aleatorio (hasta Porcentaje máximo de degradación de su alcance).
Por tanto, cada simulación representa un escenario de backtest único. En una simulación, las operaciones #5, #23 y #58 podrían degradarse en pequeñas cantidades, mientras que otra simulación podría afectar a las operaciones #12, #23, #45 y #70, con la operación #23 experimentando potencialmente una mayor degradación del precio que en la primera simulación. Si el número de simulaciones de Monte Carlo se fija en 500, habrá 500 resultados de backtest únicos, cada uno de los cuales reflejará un patrón plausible diferente de imperfecciones de ejecución aleatorias. Esto ayuda a evaluar la solidez de la estrategia frente a las impredecibles variaciones de ejecución que se dan en los mercados reales.
Cómo importar fragmentos / indicadores personalizados a SQX:
- https://strategyquant.com/doc/programming-for-sq/import-export-custom-indicators-and-other-snippets/