Documentación

Aplicaciones

Última actualización el 1. 3. 2019 by Kornel Mazur

Optimización simple

La idea detrás de una optimización es simple. En primer lugar debe tener un sistema de comercio, esto puede ser un simple cruce de medias móviles, por ejemplo.

En casi todos los sistemas hay algunos parámetros (periodos indicadores, constantes comparativas, etc.) que deciden cómo se comporta un sistema determinado. La optimización consiste en probar el sistema con distintos valores de los parámetros

para encontrar los valores óptimos de estos parámetros (que den el mayor beneficio o la mejor relación Rendimiento/DD).

Ejemplo de optimización

Paso 1: Cargar una estrategia de optimización

En primer lugar, debe cambiar a la ventana del Optimizador y cargar la estrategia que desea optimizar.

Para este ejemplo utilizaremos una estrategia simple de cruce de EMA que va en largo cuando la EMA más rápida cruza por encima de la EMA más lenta, y va en corto cuando la EMA más rápida cruza por debajo de la EMA más lenta.

Una vez cargada la estrategia, se añade también como estrategia Original a la base de datos de resultados de Optimización.

Puede hacer doble clic en la estrategia Original y luego ir a Resultados -> Código fuente para ver sus reglas.

Asegúrese de comprobar el Asignar valores a variables para que vea que las variables LongEMAPeriod, LongEMAPeriod2, ShortEMAPeriod, ShortEMAPeriod2 se utilizan para almacenar los parámetros del indicador.

En nuestra optimización intentaremos encontrar valores óptimos de estos parámetros.

Todavía hay un pequeño problema. Podemos ver que la estrategia utiliza diferentes parámetros para la dirección larga y corta.

Podemos usarlo así si queremos encontrar valores óptimos independientemente para el lado largo y el corto, pero para nuestro ejemplo nos gustaría usar el mismo parámetro para el lado largo y el corto.

Podemos hacerlo utilizando la otra casilla Generar variables simétricas

Si marca la casilla, utilizará los mismos parámetros para la dirección larga y corta (siempre que las reglas sean las mismas).

Ahora se puede ver que la estrategia contiene sólo los parámetros EMAPeriod, EMAPeriod2 que se utilizan para ambas direcciones.

Paso 2: Establecer los valores de optimización

Para configurar los valores que se optimizarán tenemos que ir a Configuración -> Parámetros

Parámetros - automático

Una vez seleccionada esta opción, el rango de valores de todos los parámetros se generará automáticamente mediante un proceso de distribución definido por Distribución de valores (%). Este valor define cuánto fluctuará el valor del parámetro en incrementos de %. Pasos máximos define cuántos incrementos de % se generarán para el valor del parámetro.

Parámetros - manual

Aquí puede ver la lista de todos los parámetros de la estrategia que están disponibles para su optimización y modificación manual.
Optimizar significa simplemente probar diferentes valores de los parámetros de entrada.

Para cada parámetro que quieras optimizar tienes que consulte la línea del parámetro y seleccione Inicio, Stop y Paso valores. El optimizador iterará el valor desde Inicio hasta Fin, tomando Pasos.

El valor original también es configurable, se utilizará para volver a probar la estrategia original. Puede utilizar este valor para comparar el rendimiento de los nuevos resultados con la configuración "original".

En Combinaciones totales nos indica cuántas pruebas hay que realizar para probar todas las combinaciones de los valores. Esto puede limitarse utilizando Optimizaciones máximas.

¡Atención!

Es posible que su tabla de parámetros contenga muchos más parámetros, podría tener este aspecto:

Esta es otra poderosa característica de StrategyQuant. Le permite optimizar no sólo los parámetros de la estrategia, sino también otras opciones de negociación, tales como el número de operaciones a tomar por día, o lo que debería ser el rango de tiempo para el comercio o incluso los cambios de indicador.

Estos ajustes normalmente forman parte de las Opciones de Estrategia, pero también puede optimizar sus valores.

Lo último que tenemos que configurar son los datos que se utilizarán para las pruebas. Podemos elegir EURUSD en el marco de tiempo H1 para este ejemplo en la opción Datos ficha.

Paso 3: Ejecutar la optimización

Antes de comenzar el proceso de optimización tenemos que decidir cómo StrategyQuant almacenará los resultados. Hay dos opciones para esto. StrategyQuant puede Almacenar todas las optimizaciones en la base de datos o Almacene sólo lo mejor optimización que mantiene en la base de datos sólo la modificación de la estrategia que mejor funciona.

Ahora estamos listos para ejecutar la optimización. Haremos clic en Inicio botón.

El motor de optimización probará todas las combinaciones posibles de los parámetros de entrada seleccionados y almacenará los resultados de cada combinación en el banco de datos de la parte inferior.

Podemos ordenar el banco de datos por Beneficio Neto y podemos ver que los mejores valores de entrada en términos de beneficio máximo son EMAPeriod = 9 y EMAPeriod2 = 40.

¡Atención!

Puede ver que algunos resultados tienen un signo de exclamación junto al título de la estrategia. Esto significa que, para unos parámetros determinados, el optimizador ha detectado que la estrategia se comporta de forma extraña y es necesario revisarla manualmente con más detalle.

 

Interpretación de los resultados

Ahora tenemos los parámetros de entrada optimizados para nuestro símbolo y marco temporal.

Lo que hemos hecho realmente es averiguar qué funcionaba mejor en el pasado. Tenemos que tener mucho cuidado porque los parámetros pueden ser ideales para los datos históricos,

pero no hay garantía de que lo que funcionó mejor en los datos históricos funcione también en el futuro.

Se denomina ajuste de curvas; normalmente, cuantos más parámetros tenga la estrategia, mayor es el peligro de ajuste de curvas.

Existen dos enfoques para el ajuste de curvas:

  • asegurarse de que la estrategia es sólida y no optimiza sus valores en absoluto
  • asegurarse de que la estrategia se beneficia de una reoptimización periódica

Así que la pregunta es: ¿mejorará la reoptimización periódica los resultados de mi estrategia?

En caso afirmativo, ¿con qué frecuencia debo hacerlo?

 

StrategyQuant puede darle respuestas a estas preguntas utilizando otra de sus funcionalidades avanzadas - Optimización Walk-Forward y la matriz Walk-Forward.

¿Le ha resultado útil este artículo? El artículo era útil El artículo no era útil

Suscríbase a
Notificar a
0 Comentarios
Feedbacks de Inline
Ver todos los comentarios