domingo, 7 de abril de 2013

Modificador de Relevancia Estadística

-->
Uno de los principales inconvenientes con los que nos encontramos a la hora de evaluar a priori la rentabilidad de un sistema de trading es el de la relevancia estadística de los resultados. De sobra es conocido que para que se pueda realizar un análisis estadístico sobre un conjunto de datos es necesario que dicho conjunto tenga un tamaño mínimo. Es difícil decir exactamente que se entiende por “tamaño mínimo”, pero parece que el valor más aceptado es el de 30 muestras (o el de 5 por celda en el caso de trabajar con tablas de contingencia). Si lo que estamos trabajando es con un sistema de seguimiento de tendencia basado en el cruce de dos medias móviles, y nuestro backtest se realiza sobre barras diarias en un periodo de 6 años, es posible que no lleguemos a ese número mínimo de 30 operaciones (entrada + salida), sobre todo si las medias móviles se calculan sobre periodos de tiempo muy largos.

En estos casos lo que se hace es evaluar a mano el número de operaciones realizadas, y si según nuestro criterio personal decidimos que es muy bajo, se descarta el análisis por no ser relevante. Pero si lo que estamos utilizando es una plataforma de optimización automática de sistemas, la cosa se complica un poco. Porque, ¿qué hacemos en este caso? ¿simplemente descartamos aquellas iteraciones que produzcan menos de 30 entradas? ¿no deberían ser tenidas en cuenta también aquellas con 29 entradas? ¿y 28? ¿y 27? ...

Para solucionar este problema propongo utilizar una especie de modificador de relevancia estadística, que pondere nuestro indicador de bondad de la estrategia según la relevancia estadística de los resultados. Este modificador debería poder ser aplicado indistintamente al indicador de bondad que habitualmente utilicemos, ya sea beneficio neto, drawdown máximo, ratio de Sharpe, SQN, etc. Desconozco si en la literatura estadística, o sobre trading cuantitativo, se ha propuesto alguna solución similar a la aquí planteada. Si es así, le rogaría a los lectores escriban un comentario a esta entrada de blog con la correspondiente referencia.

A priori, lo natural sería utilizar como modificador de relevancia alguna variación del error estándar utilizado en los propios análisis estadísticos. A saber, multiplicar nuestro indicador por 1-1/sqtr(n) (si lo que andamos buscando es maximizar el indicador). El problema de esta solución es que con muy pocas operaciones, ya se considera que el indicador es bastante confiable. Por ejemplo, con 5 operaciones ya tendríamos una ponderación del 55% sobre el indicador. Véase la siguiente figura:

Un modificador más adecuado podría estar basado en una tangente hiperbólica, o en la función logística. Yo me inclino más por la función logística, y en concreto, por la función 1/(1+exp((-n/5)+6)). El valor 6 viene del hecho de que la función logística sólo es interesante en el intervalo [-6,6], ya que para valores mayores de 6 es prácticamente 1, y para valores menores de 6 es prácticamente 0. El valor de 5 se escoge para centrar la función en el valor 30 (5*6) del que antes habíamos hablado. Así el indicador es progresivamente más relevante de 20 a 40 operaciones, para valores menores de 20 se degrada muy rápidamente, y para valores mayores de 40 el modificador apenas si tiene impacto. Justo lo que buscamos. Véase la figura:


Evidentemente, comentarios, opiniones, y modificadores alternativos, son bienvenidos.

1 comentario:

  1. Casino in South Africa - JT Hub
    The casino in 군포 출장안마 South 나주 출장안마 Africa is licensed and regulated by the 여주 출장샵 Government of South Africa. The casino has a total 남원 출장마사지 of 4000 slot machines, 120 table games, 제천 출장안마

    ResponderEliminar