Blog Post

¿ Optimizar mejora los sistemas ?

Distribución de un estadístico (Profit Factor) tras una optimización.

La optimización es una técnica que permite maximizar el (beneficio, profit factor, sqn... póngase aqui el parámetro que se desee optimizar) esperado para una estrategia de trading dada. Se basa en la suposición de que los parámetros que mejor han funcionado en el pasado, serán más probablemente los que mejor funcionarán en el futuro. Vamos a examinar someramente si esto es verdad y al final del post "teórico-filosófico" analizaremos un ejemplo práctico de las teorías expuestas.

Supongamos que tenemos un sistema con dos medias y se entra al alza cuando la media corta cruza... en fin, el típico cruce de medias "siempre en mercado". Además, sólo se entra cuando el ADX supera un nivel dado. Tenemos 4 parámetros: "Periodo de la media Corta" o Pc, Pl, Padx y Nadx.

Supongamos tb que el periodo de Pl va de 40 a 100 de 1 en 1 (61 pasos) , de la corta de 10 a 30 de 1 en 1, el de ADX de 10 a 20 de 1 en 1 y el nivel de ADX de 15 a 30 de 1 en1. Tenemos pues 61*21*11*16 = 225.416 combinaciones posibles de parámetros para este simple sistema. Obviemos aquí la poca perspicacia de probar la media larga de 1 en 1, por ejemplo, siendo obvio que si el sistema es estable, un Pl de 59, de 60 o de 61 cambia en pocos decimales para una media simple, menos que el ruido natural del mercado, y por tanto es indiferente probar pasos de 1 o pasos de 2. Lo ideal sería no bajar de un paso 5 en 5, mejor aun 10 en 10, en función del tipo de indicador.

Supongamos también que el sistema funciona y que todas las combinaciones funcionan, con mejor o peor resultado: si parte de ellos fueran negativos, tampoco pasaría nada, simplemente deberíamos desmarcar "omitir resultados inútiles" para tenerlos en cuenta, pues debemos considerar todo el espacio muestral de los resultados. Y supongamos que en esos 225.416 combinaciones de resultados (por ejemplo, el Profit Factor) sigue una distribución estadística aproximadamente normal.

Con estas premisas, dispondremos de una media y una desviación típica que permiten describir la distribución, y la mitad (aprox) de los resultados lo hará mejor que la media y la otra mitad peor. Habrá algunos excelentes resultados y otros malísimos. Pero la pregunta es ¿ podemos esperar que en el periodo siguiente los mejores resultados sigan siendo los mejores y viceversa ? Si la respuesta es SI, merece la pena optimizar. Pero si es NO, escoger los mejores resultados sólo te garantiza que probablemente serán peores al año siguiente, pues se producirá el conocido proceso de reversión a la media.

Tengamos en cuenta que como los resultados siguen una distribución normal, se distribuyen al azar alrededor de la media con una determinada probabilidad de estar más o menos lejos de ésta. Por tanto, estar en al lado "bueno" (> de la media) o malo (<) es una cuestión simplemente de suerte. PERO, es verdad que aprox. el 68% de los resultados estará en el intervalo (m-dt , m+dt). Aqui, "resultado" es el parámetro que se optimiza, por ejemplo Profit Factor.

Si la optimización da m=1.5 y dt=0.25, en el intervalo (1.25 , 1.75) estará el 68% aproximadamente de los Pf de las curvas resultantes. ¿ Que quiere decir esto ? Que Pf sea 1.3 o 1.7 es probablemente suerte; puede que escojamos 1.7 pero en el periodo siguiente se convierta en 1.4, pero como todo el intervalo se mueve en el terreno positivo, es también muy probable que acabe en positivo en el periodo siguiente.

Conclusiones esenciales:

  • Es muy útil conocer cómo se distribuyen los diferentes estadísticos que nos interesen, a fin de ver si se asemejan a la distribución normal y ene caso calcular cual es su media y su desviación pues tienen significación. Así se describe la robustez de la estrategia, y no se escoge por el azar de un resultado concreto para un conjunto de parámetros. Optimizar es una medida de estabilidad, más que de mejora de resultados.
  • Escoger los mejores parámetros, es decir, el conjunto de parámetros que resulta en un valor extremo del estadístico que nos interese, generalmente por bueno (ejemplo típico, "escoger el que mas gana"), sólo hace más probable un retorno a la media, es decir, un descenso de rentabilidad en el Out Of Sample. No es el que el mercado cambie. Precisamente es que NO cambia y por tanto se vuelve a la media de resultados que estaba definiendo la estrategia (la media es "la media" precisamente por esto).
  • Escoger parámetros cuyos estadísticos estén en el entorno de su valor medio, hace más robusta la optimización pues añade mayor probabilidad de estabilidad a los resultados futuros. Quizá sea éste el mayor valor de la optimización.
  • Es la lógica de mercado en que se basa la estrategia la que determinará la calidad final de una optimización : aún con una lógica deficiente la optimización encontrará conjuntos de parámetros aparentemente muy buenos, simplemente por estar, casualmente, en el extremo de la distribución con una media quizás negativa. Por tanto, escoger conjuntos solo porque han dado buenos resultados no es suficiente. Es mucho mejor analizar todo el espectro muestral del estadístico que nos interese, lo que permite evaluar la calidad general de la estrategia.
  • Obviamente, para analizar todo el espacio muestral se debe ser cuidadoso y escoger los rangos de variación de los parámetros con mucho cuidado: es normal que parámetros absurdos den resultados absurdos, que distorsionarán el espectro.
  • Será muy difícil generar estrategias ganadoras partiendo de estadísticos cuyo espacio muestral muestran resultados medios no aprovechables. Se podría decir que si la lógica es robusta, la optimización será útil, pero no lo contrario.
  • Es imprescindible probar los parámetros en un periodo OOS lo bastante extenso.

Lars Kestner en su magnífico libro "Estrategias de trading cuantitativo" (ed. 2003) , de la editorial Hispafinanzas, dedica parte de una capítulo a "medir el valor de la optimización", intentando averiguar si hay relación estadística entre los resultados que obtiene un determinado conjunto de parámetros un determinado año, con el siguiente año. De modo que coloca un punto en una gráfica con el par (posición en el año pasado, posición en el año siguiente). De haber una correlación el conjunto de parámetros que quedo el nº 1 el año anterior, tendrá un par (1,1) o (1,2) o similar, no (1,100), es decir, quedó un año primero y el siguiente en la posición 100. Por tanto, cuanto más se parezca a una recta de pendiente 45º más relación habrá. El resultado de sus pesquisas, en una cesta de futuros, demuestra que existe un sesgo positivo, aunque no muy fuerte, de modo que si un conjunto de parámetros determinado ha sido bueno un año también lo es al siguiente.

Como es posible que están afectando otros factores (por ejemplo: que un conjunto de parámetros sea consistentemente mejor en cualquier periodo), procede además a normalizar los resultados, de manera que la resta al estadístico el valor de su media para el conjunto de parámetros, lo que permite saber si está por encima o por debajo de su media...y si esa condición se mantiene para el siguiente año. concluyendo de nuevo que el sesgo positivo (si un conjunto de parámetros está por encima de la media un año, tiende a estarlo en el año siguiente).

Hay de nuevo algunas conclusiones interesantes de todo este proceso:

  • No es evidente que optimizar parámetros de una estrategia sea bueno para mejorar el beneficio consistente de la misma, pero sin duda lo es para comprobar que ese beneficio es estable (media y desviación del beneficio para todo el espacio muestral ) y por tanto la lógica es robusta.
  • No es evidente que optimizar frecuentemente los parámetros sea mejor que optimizar un largo periodo de tiempo y usar ese conjunto por largo tiempo.

Personalmente, estoy de acuerdo con estas conclusiones, pero siempre considerando que es imprescindible un OOS suficientemente largo: por ejemplo, si estoy a primeros de 2018, optimizar en 2014, 2015 y algo de 2016 y hacer OOS en la otra mitad de 2016 y 2017 me dirá que la estrategia es adecuada para usarla, pero siempre haré un OOS desde 2005 hasta 2013 para ver cual es su comportamiento en OOS extensos: si es decente (Pf>1.2) , sabré que su lógica es robusta. Si es muy malo, ya sé que deberé revisar a menudo su comportamiento, pues puede volver "a la media" en cualquier momento.

El debate teórico sigue abierto, pero vamos a analizar un caso real: medida de la robustez de uno de nuestros robots expertos, que opera en la cartera ORION DAX:


DATOS DE PARTIDA:

  • Solo hace compras
  • Queremos que gane en periodos alcistas, y que no pierda o al menos no demasiado en los bajistas.
  • Sabemos que 2017 es un año muy alcista: sería muy fácil hallar conjuntos de parámetros que ganen en ese año, pero ¿ que pasaría si 2018 fuera como 2015 ? Es un año con un gran tramo bajista.
  • Por motivos académicos expuestos anteriormente, queremos usar la optimización para estudiar la robustez de la rentabilidad, no su magnitud máxima. Así que vamos a ponérselo difícil: se optimizará en 2009 a 2012 , años con tendencia alcista, pero con periodos de fuerte corrección (como 2011, que se repitió en 2015) y momentos de btte volatilidad (como el largo lateral de mediados del 2010)
  • Los parámetros a estudiar son bttes, asi que los escogeremos alrededor de una zona razonable pero amplia donde sabemos que el experto funciona bien: no nos hacemos trampas al solitario: estudiamos la robustez de esa zona, no absolutamente todas las posibles combinaciones de parámetros, serían miles de millones.
    • Pmedia de 16 a 24 de 4 en 4, se prueba pues los valores 16, 20 y 24.
    • D 30 a 50 de 10 en 10, se prueba pues 30, 40 y 50.
    • Pmedia contexto
    • SL, TP, Tstop, etc...
    • En general, el valor central es el que hemos escogido para el set.
  • Por motivos obvios no desvelaremos la lógica del experto. Pero comentaremos que es muy sencilla, y no se pueden esperar grandes resultados en OOS, salga lo que salga del In Sample. Pero puede que sea robusta !!

La muestra TOTAL de resultados del estadístico Profit Factor (Pf) para el conjunto de parámetros, da un total de 2187 posibles combinaciones, en el periodo IN SAMPLE de 2009 a 2012 ambos incluidos , resulta que TODAS MENOS UNA de las combinaciones posibles (2186 de 2187) son ganadoras (Pf>1, no es para felicitarse: hemos buscado esto mismo).

EL Pf oscila desde un máximo de 3.29 en el paso 2149 hasta un mínimo de 1.04 en el paso 420. La media es 1.72 y la Dt 0.366. ¿ Pero se distribuye de modo similar a una normal ?

Veámoslo:

Se ha pasado ese estadístico desde el informe de optimización a una tabla de excel, y representado los valores a fin de verificar gráficamente si se parece a una normal:

¡ Vaya ! ¡ Pues sí se parece ! Con algunas particularidades, fruto sin duda de las pequeños ajustes con propósito académico utilizados.

Un trader podría pensar que los valores que dan Pf en el entorno de 3, son los que deberíamos escoger. Puede que así sea, pero nosotros pensamos que en el entorno de 1.7 están los sets más estables. En todo caso, estamos estudiando la robustez, entendida como la estabilidad para producir beneficios consistentemente en mercados nuevos, fuera del periodo de muestra.

Asi que lo interesante viene cuando repetimos el proceso... pero ahora le pedimos algo mucho más difícil, que sea consistente desde 2005 a 2017, 13 años, con 9 años de Out Of Sample. Escogemos el mismo set de parámetros y rangos, esperamos a la optimización (deschequeamos "omitir resultados inútiles" ) y repetimos el proceso con el estadístico Pf pero ahora para los 13 años de histórico (donde obviamente, ya sabemos que hay 3 en que sale bien seguro, cuyo valor es muy relativo pues ).

Esto es algo muy difícil, sin duda es esperable que en las 2187 combinaciones van a salir en media resultados peores , pues ésta se va a desplazar a un valor Pf menos optimista y previsiblemente se ampliará la dispersión, por lo que aumentará el nº de resultados no válidos (Pf<1, o "resultados inútiles").

¿ Pero logrará ser consistente ? Por ejemplo, consideraré consistente más de 2/3 de los resultados (serán 2187) en el terreno positivo (Pf>1), con la media en 1,2 o más y una dispersión < 0.5. Ni yo mismo sé la respuesta, el ordenador está calculando ahora mismo, y con 13 años tiene para un buen rato... (indica más de 3 horas de cálculo) esperaremos y pegaré los resultados en un próximo post.

Por: Equipo de Orion Trader Pro




Por Orion Trading Team 09 ene, 2021
Ya van 5 veces solo durante este último año 2020. Disponemos de 3 Darwins diferentes que apuntan que nuestras estrategias y modelos de cartera están en el camino correcto. Dos de ellos ya lo han demostrado (ODT y RJO) y tenemos un tercero, ORT, que esperamos lo logre pronto. Tenemos fundadas esperanzas. Tras la exitosa racha de RJO, que ha entrado 4 veces en Darwinia durante 2020 (mayo, junio, julio y septiembre), logramos meter también a ODT.
Por Orion Trading Team 17 dic, 2020
Esta vez en la posición 70, de más de 5000 competidores, lo que se corresponde a 36000€ más de inversión. En mayo, junio, julio y ahora en septiembre de 2020. Este post lo escribimos en diciembre, donde por rendimiento mensual es probable que RJO lograse entrar en Darwinia. Sin embargo, su correlación con ODT (otro Darwin nuestro, ¡échale un vistazo!), si bien no es muy alta, es suficiente para que lo elimine, pues ODT tiene mejor SCORE. A cambio, ODT apunta maneras este mes de diciembre (posición 41):
Por Orion Trading Team 01 jul, 2020
Esta vez hemos quedado en la posición 59, correspondiéndonos una inversión nocional de 36000€. Junto con las inversiones anteriores, actualmente la cuenta gestione capital externo por un total de casi 137.000€. El puesto 59, puede que no le diga demasiado. Cobra más valor, si se tiene en cuenta que hay más de 5300 cuentas compitiendo, de todo el mundo. Por tanto, quedar entre los 80 primeros (los que tienen derecho a inversión), supone quedar entre el mejor 1.5% de las cuentas que compiten. O dicho de otro modo, que nuestra cuenta, este mes, ha sido MEJOR QUE EL 98.5% DE LAS CUENTAS DE TRADING. Si, en solo 10 meses, pues aunque la cuenta es más antigua, se empleó para hacer pruebas en real de operaciones en Oro, que no nos convencieron demasiado. y las retiramos. Como hemos indicado en otras ocasiones, el nuevo modelo de creación de cuentas trata de crear vehículos de inversión cuyo riesgo esté entre el 3 y el 10% como máximo y se puso en marcha por primera vez en una de nuestras cuentas, en junio de 2019, implementándose en esta cuenta, desde cero, el 16 de septiembre de 2019. Asi pues, aún no ha cumplido los 10 meses reales de vida, ha logrado un 44% de beneficio en la cuenta real hasta la fecha para un riesgo VAR mensual que ha oscilado entre un mínimo del 5.27% y un máximo del 9.14% (el darwin sufre ajustes de VAR que modifican el rendimiento final)... y todo ello sufriendo los traumáticos acontecimientos en los mercados fruto de la pandemia global de COVID-19. Trataremos de seguir mejorando.
Por OrionTrading Team 31 may, 2020
Más de 5300 cuentas de trading de todo el mundo, para ser más precisos. Y comparadas a riesgo homogéneo, representado por un VAR mensual (Valor en Riesgo) del 10%. Es una competición homogénea, donde traders de todo el mundo compiten entre sí, a igual riesgo, a fín de poder captar premios en forma de capital que el propio bróker dispone para los ganadores. Actualmente, más de 5.000 Darwins (cuentas de trading de riesgo homogéneo, hasta este mes de mayo un VAr del 10% mensual) compiten cada mes, de los cuales, los 80 primeros son premiados con un capital descendente, que empieza en los 300.000€ y termina en 25.000€. En nuestro caso, al quedar 7º nos corresponde una inversión nocional de 130.000€. Simultáneamente, quedar bien posicionado en esta clasificación permite dar visibilidad a la operativa del trader, lo que permite captar inversión de particulares. Más información, aqui: https://www.darwinex.com/es/darwinia/participate
Por Orion Trading Team 31 may, 2020
Explicación de la DIVERGENCIA "teórica" en el Darwin RJO y la DIVERGENCIA REAL inviertiendo en él.
Por Orion Trading Team 30 may, 2020
Continuación del POST "Cambio de Rumbo (I)", de Octubre de 2019.
Por Orion Trading Team 28 oct, 2019
Un glosario de los términos más interesantes utilizados habitualmente en el trading y los mercados, explicado con claridad.
Por Orion Trading Team 24 oct, 2019
A partir de la experiencia adquirida en la operativa de mercados y en la replicación de cuentas por los inversores en Darwinex (Darwin), iniciamos, desde junio de 2019, una nueva forma de distribución de estrategias en las carteras.
Por Oriontradingpro Team 10 mar, 2019
 ¡¡HEMOS VUELTO, AUNQUE NUNCA NOS HABÍAMOS IDO!!
Por Orion Trading Team 21 feb, 2018
El exceso de confianza provoca errores. Y el Mercado no perdona los errores.
Más entradas
Share by: