Cinta

domingo, 20 de abril de 2014

Método para validar una estrategia de trading (II)

Al igual que cualquiera que haya empezado en esto como yo, de forma autodidacta y para ser mejor inversor, conforme pasa el tiempo te dás cuenta de que no hay un “supersistema” que te vaya a hacer nadar en la abundancia en plan Jordan Belford (bueno, realmente yo no quiero eso ni loco, pero para gustos, los colores).  En lugar de eso, si encuentras un mar de sistemas que pretenden ser “la leche” y, encima, convencerte de que la imagen optimizada con que se venden, te quiere  demostrar que el suyo si que si, que es el rebueno de verdad.

Vale. Como decía cierto anuncio de cierto juego de mesa:  “…aceptamos barco como animal acuático.”

Yo soy de los que confío pero compruebo, por lo que en lugar de ponerme a operar como si me fuera la vida en ello en una cuenta, además, real (que insensatez, por Dios, aunque necesite saber lo que se siente cuando es MI DINERO el que está en juego y sea necesario experimentar las reacciones cuando se pierde ó gana: euforia, frustración, depresión, avaricia, etc.) prefiero verificar que lo que leo/me cuentan/compro ha sido correcto.

Francamente, no tengo ni idea de cual es rentable hasta que le hago “la prueba del algodón”. Y es que da igual lo que te digan, tienes que demostrarlo para ti. Hay que huir de todos los “vendeburras”, que son legión.

Pensemos en que somos unos científicos en un laboratorio de enfermedades contagiosas (aquí voy a asociar el ébola con el Holy Grail para que nos entendamos)  y que tenemos una serie de viales (sistemas discrecionales, sistemas automáticos, EA’s, “formas de operar”, etc.) para comprobar pero, aunque busquemos al mismo tiempo la vacuna, realmente queremos el más virulento posible:

1.º Si son rentables “a toro pasado”. Es decir, nuestro virus tiene que empezar por las pruebas básicas haciendo un cultivo (backtest) con las diferentes diluciones (los valores que nos proponen de serie y posibles modificaciones porque podemos haber encontrado un sistema sobre ETF’s para el SP500 y querer usarlo para el ORO  y  serán necesarios cambiar algunos parámetros para adaptarlo, suponiendo que los resultados nos lo permitan). Esto no garantiza, en ningún momento, que vaya a funcionar en real.

2.º Qué puedo esperar a futuro si opero con él. No voy a inyectarme la viruela o el VIH para ver las consecuencias (cuenta real). Quiero ver, después de un backtest, que en una cuenta demo (incubar el virus) y en un plazo de 4-8 meses si concuerda con lo medido en el backtest sobre histórico que la hipótesis de que el sistema es rentable (contagia que no veas).

Con estas 2 ideas básicas y teniendo todo nuestro laboratorio preparado para ello (necesitaremos la plataforma de trabajo, una hoja de cálculo, los indicadores o patrones a probar, los históricos, etc.), tenemos que diseñar el protocolo a seguir para llegar a una conclusión científica que se pueda demostrar.
Pero, ¿por dónde empezamos?

A mi juicio, lo primero que necesitamos conocer es si tiene esperanza matemática positiva. Sin ella, no hay gestión de capital que nos permita convertir un sistema perdedor en ganador.
Sin embargo,  antes que esto, necesitamos saber CUANTAS operaciones necesitaremos para tener lo que se llama relevancia estadística, delimitando así, a partir de que punto trazamos la línea divisoria entre lo real por comprobación empírica y que es solo una quimera.


El método nos obliga a plantearnos la cuestión al revés y asumir que nuestro sistema no genera beneficios. Si somos capaces de demostrar que esto no es cierto con un cierto grado de confianza, entonces tendremos un sistema rentable. Para ello se asume que el sistema tiene una GANANCIA NULA y si las pruebas indican que no es cierto, que a un determinado grado de confianza (por lo general el 95%, aunque a veces hay que exigir el 99%) la ganancia promedio es SUPERIOR a cero, entonces podemos afirmar de forma estadística, que tenemos un sistema ganador.

Este hecho es muy relevante, ya que un inversor/trader/operador (o como se quiera uno llamar) que tenga que elegir entre un sistema con ganancia promedio pequeña pero fiable estadísticamente, y un sistema con gran ganancia pero poco fiable, se elegirá siempre el primero porque solo tendrá que mejorar su gestión de capital y de posición en el mercado para ganar la diferencia. Los sistemas en real deben tener una ganancia promedio mayor que cero al 95% de confianza.

Si  tenemos en cuenta que para asumir un error muestral del 5%, con un 95% de confianza según la tabla, necesitaremos un mínimo de 400 operaciones… agua!!, agua!! Me acabo de asustar. Quizá alguno esté "acostumbrado" a ver que en un backtest de un EA de Metatrader o de Amibroker le salen miles de operaciones, pero es que las vamos a hacer ¡¡a mano!!


A menos que contemos con una plataforma profesional de trading (Visual Chart, Amibroker, Metastock, ProRealTime, MaketDelta… que son de pago) y/o software especializado tipo Matlab ó Market System Analizer, nos va a tocar hacerlas, como he dicho, una a una a mano remontándonos el tiempo que sea necesario para ello. 

La inmensa mayoría de los que esta idea de ganar dinero en bolsa (sobre todo en Forex) se nos cruza en el camino, se empieza con la plataforma más conocida (y gratis… bueno ProrealTime, es una pasada y también es gratis si no usas datos intradía) Metatrader 4. Este ingenio ruso, nos va facilitar y deleitar, cual Playstation, en este proceloso mundillo.

A pesar de que he dicho que inicialmente necesitaremos 400 operaciones, en realidad hay que hacer unos cálculos antes a cerca de los grados de libertad que tenga nuestra estrategia a probar. ¿Y qué es esto?
He leído a varios autores que dan definiciones diferentes; esta iglesia tiene más doctores que ninguna otra:

        -Por un lado pueden ser el n.º de variables y condiciones del sistema en donde, si cogemos como ejemplo el uso de una media móvil de 30 periodos, en temporalidad diaria y 100 días del tamaño de la muestra, quiere decir que “consume” un grado de libertad por cada dato (día) usado para su cálculo, así nuestra media móvil usaría 30 grados de libertad, usando la fórmula:

100*(1-(grados usados/grados totales al inicio)) para saber la cantidad de grados restantes en %.

Con la idea anterior: Grados restantes = 100*(30/100) = 70%

Entonces, si el cálculo de la fórmula de una estrategia consume la mayor parte de los datos históricos de nuestra prueba, los datos no serán lo suficientemente fiables. Además, un número insuficiente de grados de libertad es la mayor causa de sobreoptimización.

Voy a plantearlo de otra manera.

-          Histórico diario de 2 años. Cada vela ofrece 4 datos (OHLC, es decir, apertura, máximo, mínimo y cierre) para un total de 1080 datos.

-          Estrategia simplísima de 2 medias: una de 10 periodos y otra de 50. El primer promedio usará 11 grados de libertad (el número de periodos +1) y el 2º usará 51. El total de grados es: 11+52 = 62.

-          Para convertirlo a %, dividimos el n.º de grados entre el total disponible: 62/2080 = 0,0298 = 3%.

-          Cuantos más datos (indicadores, medias, fibos, reglas,…) sean usados, más histórico necesitaremos para comprobar la certeza estadística. Con este ejemplo, nos “sobrarían” un 97% de los grados con que contamos por lo que hemos tenido más que suficiente.

-          ¿Porqué es suficiente? Porque, en general, tiene que sobrarnos  más de un 90% después de todas las reglas, indicadores, etc.

               -Por otro lado, más común, es coger el n.º de operaciones hechas y restarle todos los parámetros. Según la idea original, si necesitamos un mínimo de 400 operaciones para obtener la relevancia exigida tendremos  que sumarlos para mantener estas reglas invariables. Recuerda, es nuestro protocolo de actuación y se diseña para ser cumplido por cualquiera sin interpretaciones personales.

Pues solo nos queda diseñar un excel en la que se incluyan todos los ratios necesarios para verificar todo lo que nos hemos planteado:



Esta es una configuración válida para obtener lo que queremos.

Yo calculo muchos ratios pero los más importantes son: Profit Factor, Máx. DD, Win/Loss, %Win, %Loss, Esperanza matemática, Bº Neto, duración de las operaciones, Recovery Factor y Estadístico T. Además, me gusta saber el E-ratio, el CAR y el %Diferencial Win. Una simulación de Montecarlo es también muy, muy útil.

Con esto es suficiente. Podríamos calcular correlaciones, r-cuadrado, Beta, Perfect Profit y muchos más pero la "perfección" es una utopía. De hecho, Larry Williams sostiene que en real se puede esperar tan sólo un 70% de los beneficios de la simulación. Ocurre que al simular estamos optimizando de forma encubierta (ya lo veréis más adelante), es decir, si sale mal, lo cambiamos hasta que salga bien. De esta manera, al quedarnos con el mejor resultado histórico, siempre estamos sobreestimando la ganancia futura. Si nos quedamos con los mejores valores, entonces la desviación futura siempre será  negativa, ya que hemos elegido mirar a todos desde un ático y cualquier desviación siempre será hacia abajo, sobreestimando las ganancias futuras.

Simular es sencillo. Estimar lo que hará el sistema que queremos probar, teniendo en cuenta el sesgo de buscar datos de tendencia, de optimización, sin la presión de la operativa discrecional, etc. es bastante complicado.

No es algo que se pueda hacer después de un cursillo de fin de semana de a 2000 la plaza.