Está en la página 1de 23

lOMoARcPSD|36940759

Aquí podemos ver un ejemplo de una estrategia que PASA estas características, obtiene un
Drawdown menor al doble en el percentil 95%.

69

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

5.4 Retest en mercados adicionales


Una prueba de robustez es que la estrategia funcione medianamente bien en varios mercados
altamente correlacionados o muy des correlacionados. También es importante que la
estrategia sea estable en estructuras de gráficas parecidas, una estrategia basada en gráficos
de 1 hora debería comportarse bien en graficas de 30 minutos y una estrategia de 30 minutos
podría funcionar en gráficas de 15 y 60 minutos.

Vamos a realizar una prueba a las estrategias generadas en el EURUSD H1 y vamos añadirle
unos backtest con unas pequeñas variaciones en los marcos de tiempo e añadir algunos
activos que lleven el USD como segunda moneda:

EURUSDM50, EURUSDM40, EURUSDM30. En tiempos inferiores de -10 minutos.

EURUSDM70, EURUSDM80, EURUSDM90 En tiempos superiores de +10 minutos.

AUDUSDM60, GBPUSDM60, NZDUSDM60, EURJPYM60.

En total es una prueba en 10 mercados con los mismos parámetros de la estrategia y que por
lo menos en la mitad, un 50% de ellos el Profit factor sea de 1.10

70

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Es una prueba muy exigente para comprobar la estrategia en diferentes estructuras con
distintas series temporales y StrategyQuant esto lo realiza muy rápido. Fue realizado sólo con
precios de apertura.
De 58 estrategias en el banco de datos de otros mercados 14 fallaron y 44 pasaron.

Nos muestra en la pestaña resultados estadísticas individuales o en su conjunto de la cartera.

71

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

5.5 Otros métodos de prueba Montecarlo


Podemos realizar hasta 6 pruebas de Montecarlo para verificar la ejecución de la estrategia,
que vimos por encima en módulo 2 de verificaciones cruzadas, hasta ahora hemos visto las
básicas rápidas, y pruebas en mercados adicionales.

- Histórico de los datos.


- Mínima distancia al precio.
- Deslizamiento en ejecución de órdenes.
- Diferentes horquillas aleatorias en el Spread.
- Cambiar el comienzo de las barras en un determinado porcentaje.
- Modificar en unos rangos los parámetros de los indicadores.

Aquí vamos a ver algunos de ellos con ejemplos.

Pantalla de las 6 pruebas métodos Montecarlo.

72

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Montecarlo de Indicadores

Una prueba de robustez de la estrategia para evitar la sobre optimización es comprobar que
nuestra estrategia funciona medianamente parecida alterando la desviación de los parámetros
de los indicadores un determinado rango.

Una estrategia que lleve una media móvil simple de 100 periodos debería mantenerse estable
la estrategia con una media móvil desde 70 hasta 130, lo mismo con otros simples parámetros
de la estrategia.

Pasa la prueba y la línea azul (estrategia principal) se encuentra en el medio de las


desviaciones eso quiere decir que no es la mejor con lo cual no está sobre optimizada.

No pasa la prueba de indicadores demasiada varianza cambiando los parámetros lo cual no es


robusta al cambio, y el Max DD es mayor al 200% en MC 95% conf. También el beneficio neto
es menor al 40% original en el percentil también 95%.

73

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Montecarlo histórico de precios basados en ATR

Este test tiene sensibilidad a la volatilidad del mercado basado en una prueba de Montecarlo
ATR cambiamos un 20% el histórico de los precios basados en este indicador, por ejemplo, si
en una barra de precios el ATR marca 100 pips podrá tener la cotización 20 pips tanto por
arriba como por abajo del precio de cotización de esa barra de 1.1549 a (1.1529 – 1.1569) con
una volatilidad más alta influirá más el cambio de precios y con una volatilidad menor influirá
menos en la estrategia original.

200 simulaciones en precios de apertura.

Filtro el Beneficio neto >= 50% beneficio neto original.

Se puede apreciar en la imagen como no es muy sensible a la volatilidad del mercado, aunque
la línea azul parece esta la estrategia un poco sobre ajustada al precio original.

En esta estrategia se aprecia con diferencia en la imagen de arriba como le afecta la volatilidad
cambiando el histórico de precios basados en un x porcentaje del ATR.

74

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Montecarlo deslizamiento en los precios de entrada / salida.

La ejecución es clave en toda estrategia en un mercado real, con StrategyQuant X podemos


hacer una simulación Montecarlo de un test aleatorio que cambia los deslizamientos en los
precios de ejecución de entrada y salida así poder tener una visión más real del
comportamiento de una estrategia en un mercado con deslizamientos en la ejecución.

Filtraremos con un deslizamiento de 0 a 5 pips para asegurarnos cuando nuestras órdenes


entren a mercado en momentos de alta volatilidad donde no hay mucha liquidez en el
mercado como pueden ser momentos de noticias que la estrategia se sigue comportando de
una manera similar.

Esta estrategia no varía mucho con un deslizamiento de 0 a 5 puntos.

Esta estrategia baja mucho el rendimiento con un deslizamiento de hasta 5 puntos.

75

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Montecarlo Spread

El Montecarlo aleatorio del Spread nos hace simulaciones de las estrategias del banco de datos
cambiando los spreads desde 1 a 5 puntos enteros y podemos ver cómo afecta al rendimiento
de la estrategia los distintos niveles de spreads.

Básicamente es la misma prueba que deslizamientos sólo que los spreads es la horquilla entre
el Bid/Ask y los deslizamientos afectan a los precios de las órdenes.

En esta gráfica se puede apreciar como un spread alto le afecta bastante a la estrategia
original.

76

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

5.6 Permutaciones de los parámetros de los sistemas.

Una prueba realista sobre qué retornos y qué ratios podemos esperar de nuestro sistema y
saber si estamos en una zona sobre optimizada es fijarnos dónde esta media de la distribución
de todo el conjunto de optimizaciones y esto nos lo muestra la tarea Permutaciones de los
parámetros de los sistemas (SPP).

En el retester ya estamos en las opciones del apartado EXTENSIVO (MÁS LENTO) en su


ejecución de StrategyQuant.
Hay que saber que las optimizaciones son múltiplos exponenciales por los parámetros y pasos
de los indicadores por lo tanto hay que tenerlo en cuenta a la hora de utilizar estas funciones.

Este es el último apartado que veremos aquí las optimizaciones Simples, Walk forward y Walk
forward Matrix, las veremos desde la pestaña optimizador que es más configurable y en dónde
se suelen optimizar las estrategias que hayan pasado todos los filtros anteriores descritos en
pruebas rápidas y lentas.

Antes de ir al optimizador podríamos hacer un perfil de optimización básico y rápido donde


StrategyQuant realizará el número de optimizaciones que le digamos por estrategia con unos
rangos en las desviaciones en los parámetros de las salidas que incorpora la estrategia.

1000 optimizaciones por estrategia

77

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Un filtrado con la configuración inicial.

Al terminar esta tarea en la pestaña de resultados nos aparecerán 2 nuevas casillas Sys. Param
Permutation y Optimización profile.
En SPP podremos observar las desviaciones respecto a la media en el gráfico de barras y en el
perfil de optimización un gráfico en 3D (si lo tenemos activado en
Settings/configuración/Optimizaciones/ desmarcar para guardar gráficos en 3D) más un
resumen de las optimizaciones generadas.

78

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Gráficas de SPP en la pestaña de resultados.

Aquí podemos observar un sistema que su resultado se encuentra dentro de la media y su


máximo DD aún en mucho mayor que la media de todos ellos.

Aquí todo lo contrario he dibujado con una línea blanca la campana de gauss y se puede
observar claramente que la estrategia original se encuentra muy fuera de los percentiles de la
media o adyacentes.

79

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Gráficas de 3D en la pestaña Resultados perfil de optimización.

En la parte derecha tenemos el mapa 3D qué podemos cambiar a puntos, barras o ver en plano
como mapa de calor.

En la parte izquierda arriba el porcentaje de optimizaciones rentables y debajo de color azul


todas las optimizaciones como grafico de barras con la media dibujada en una línea roja
horizontal.

Hasta aquí el módulo retester donde hemos visto todo lo que se puede realizar a la hora de
verificar con exhaustivas pruebas a nuestras estrategias.

En el siguiente módulo veremos el apartado de optimizador con las optimizaciones, simples y


Walk forward, Walk forward matrix.

80

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

MODULO 6
LA OPTIMIZACIÓN
La optimización es el proceso de selección de unos parámetros con una función de aptitud
objetivo para el mejor desempeño de una estrategia en un mercado.

No deberemos buscar como función objetivo el mayor beneficio, sino la búsqueda de unas
condiciones estables para la estrategia, en distintas fases del mercado. La estrategia debería
comportarse bien en mercados alcistas, bajistas o en rangos.

Y buscar una función objetivo que tenga en cuenta las ganancias, pérdidas y la estabilidad de la
estrategia como podría ser el Retorno / Máxima pérdida, la ratio SQN (System Quality
Number), Ratio de Sharpe…etc alguna ratio que tenga en cuenta varios factores o buscar varias
funciones objetivo por ponderación.
Una vez hayamos hecho todas las pruebas de verificación que nos resulten importantes de los
distintos test que ofrece StrategyQuant, podemos probar mejorar la estrategia y ver como se
comporta con datos nuevos desconocidos, que previamente hayamos reservado para ello en el
proceso de creación verificación.

6.1 Optimización Simple


Vamos a la pestaña izquierda optimizador y no veremos grandes cambios, en la pestaña
progreso en su ventana central configuración sumario tenemos 3 posibles tipos de
optimizaciones, la simple que es la que vamos a describir en esta fase, Walk-forward y Walk-
forward Matrix.
Podemos cargar alguna estrategia en concreto a optimizar, o podemos seleccionar optimizar
todas las estrategias de un banco de datos, en este caso, tendremos que establecer un rango
de desviación de los parámetros a optimizar.

81

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Ventana principal de progreso de la pestaña optimizador.

En la pestaña todos los ajustes veremos que es prácticamente igual, pero se nos habrá añadido
la pestaña optimización que es la parte configurable en dónde estableceremos las
desviaciones de los parámetros en el caso de optimizar varias estrategias del banco de datos.

Si vamos a optimizar una estrategia única podemos determinar el tamaño del paso y los
valores de los rangos de una manera más personalizada.
StrategyQuant también puede determinar que parámetros optimizar por si sólo seleccionando
la casilla parámetros recomendados.

82

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Ventana principal todos los ajustes / optimización.

Una vez carguemos la estrategia desde progreso/ estrategia a optimizar/ carga, clicaremos dos
veces en la estrategia y se nos abrirá la pestaña resultados, ahí iremos a configuración de la
estrategia.

Veremos los parámetros utilizados en la última prueba en la configuración del optimizador y a


la derecha configuración actual del proyecto es la estrategia actual.

Deberemos clicar arriba en aplicar configuración a estrategia para que nos lea los parámetros
actuales de esta estrategia.

83

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Estrategia sin leer los parámetros.

84

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Y una vez leída la actual configuración no nos debería aparecer nada en rojo como la imagen
de abajo.

Lectura correcta de la estrategia.

Una vez cargada correctamente la estrategia revisamos los datos de la prueba para ver que
son los mismos de la creación, las opciones de trading, gestión del riesgo y seleccionamos la
función objetivo de mejora de estrategia en la pestaña clasificación, es recomendable usar la
misma función que usaste para su generación.

Seleccionaremos los parámetros a optimizar.

Esta estrategia en concreto tiene 6 parámetros que optimizaré en parejas de dos divididas de
la siguiente manera:

- Señales de indicadores, Bollinger Bands y EMA (Exponencial Moving Average).


- Salidas por Stop, Stop de pérdida y Trailing Stop.
- Salidas por beneficio o tiempo en comercio, Profit target, Salida X número de barras.

Función objetivo: Ret/DD (retorno / máxima pérdida).

Periodo de muestra a optimizar: 05/05/2003 a 31/12/2017

Periodo de prueba fuera de muestra 01/01/2018 a 04/09/2020.

85

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Ejemplo de pseudocódigo de la estrategia a optimizar.

Es una estrategia simple, la podríamos clasificar de regresión a la media en dónde si el precio


estaba por encima de la banda bollinger inferior y cruza por debajo de la banda inferior y la
media exponencial es menor o igual que le máximo semanal abrirá una posición de compra en
el máximo semanal.

Es una estrategia simétrica lo cual cuál quiere decir que para las ventas es justo lo contrario
con los mismos parámetros.

Al optimizar de 2 en 2 podremos ver en StrategyQuant un gráfico en 3D con los picos y valles


de zonas robustas de parámetros, también parámetros que no afectan al retorno de la
estrategia y otros sí.

86

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Selección de parámetros a optimizar.

Marcaremos los indicadores valor de iniciar en la búsqueda el parar el final y el tamaño del
paso.

87

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Los indicadores modificando un rango no se observaba mejora significativa, pero en el stop y


trailing stop se mejora la relación riesgo beneficio por consecuencia mejora el retorno sobre la
máxima perdida simplemente acortando un poco nuestro stop de 70 a 50.

La salida por x barras y el Profit de beneficio tiene un rango muy amplio estable delimitado en
una zona verde/amarilla viendo la métrica SQN.

88

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Una vez optimizada la estrategia tendremos que modificar los parámetros clicando en la
estrategia y modificando los mismo como muestra la imagen de abajo.

Es hora de probar la estrategia en los datos nuevos como se hubiera comportado. Se puede
apreciar que la estrategia no se ha caído ha seguido un comportamiento estable.

89

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

Si vemos más de cerca solo el periodo fuera de muestra observamos que entró en una perdida
normal en donde se ha recuperado bastante bien. No es una estrategia que haga muchas
operaciones, pero un conjunto de este tipo de estrategias poco correlacionadas entre sí, nos
puede dar una cartera diversificada y estable.

Si miramos el balance anual fuera de la muestra vemos que ha terminado en ganancias los dos
años cerrados 2018/2019.

90

Descargado por rekot rekot (rekot58908@flexvio.com)


lOMoARcPSD|36940759

6.2 Walk Forward (Camino adelante)

La optimización Walk forward se caracteriza por hacer el backtest de búsqueda de parámetros


(zonas verdes) en ventanas más pequeñas y luego probar la estrategia en periodos fuera de
muestra desconocidos (zonas rojas).

El siguiente paso será en desplazar las zonas verdes intervalos de tiempo hacia adelante y
mover los nuevos datos así generar un informe de resultados con todo el periodo utilizado por
los nuevos datos haciendo una sumatoria de los resultados.

Una imagen de un Walk forward.

En la pestaña progreso.

Seguiremos los pasos igual que la optimización simple cargaremos la estrategia, pero
seleccionaremos la casilla Walk forward leeremos los parámetros en configuración.

Deberemos modificar los datos para añadir todo el periodo de muestra tanto los datos de la
prueba como los datos reservados para fuera de la muestra.

Estableceremos un porcentaje de rango para el periodo fuera de muestra y en Walk forward


runs deberemos seleccionar las ventanas que tendrá el backtest.

91

Descargado por rekot rekot (rekot58908@flexvio.com)

También podría gustarte