Seguramente muchos de vosotros ya conocéis este tipo de tests para medir la significancia de los resultados de nuestros sistemas pero muchos traders que comienzan a crear sus primeros sistemas sin tener en cuenta este pequeño pero importante aspecto. En particular, el test habitualmente utilizado es el conocido como contraste de la t de Student. Dicho test se aplica sobre la esperanza matemática del sistema y con él vamos a poder determinar si dicha esperanza es significativamente mayor de cero a un nivel determinado de confianza (normalmente del 95%).
Lo anterior seguramente le resulte muy familiar a los estudiantes de Económicas y otras ciencias sociales en las que se enseña Estadística Aplicada, como podéis ver lo que se aprende en la Universidad al final siempre resulta útil 😉
Bien, pongámonos manos a la obra. Lo primero a tener en cuenta cuando realizamos el test es saber el número de reglas y/o restricciones que nos impone el sistema de trading. Con este número podremos determinar el número de grados de libertad para aplicar el valor teórico de la distribución de Student con el que compararemos el valor empírico obtenido por nuestro sistema. Por supuesto, el número de grados de libertad debe ser suficientemente alto como para asegurarnos de que el sistema no es víctima de la sobreoptimización y el curve fitting. En términos estadísticos, un sistema sobreoptimizado es aquel en el que sus parámetros han sido elegidos para funcionar solo en un determinado mercado o en condiciones de mercado limitadas, por lo que normalmente lo que sucederá es que en otros mercados o con condiciones de mercado diferentes el sistema funcionará mal.
El número de grados de libertad GL se obtiene mediante la siguiente fórmula:
GL = Nº Operaciones – Nº Restricciones
La fórmula anterior nos está diciendo cosas realmente importantes: por un lado, si tenemos muy pocas operaciones, la rentabilidad del sistema puede ser el resultado de una ordenación casual de las operaciones. Cuanto mayor sea el número de operaciones, mayor será GL y por tanto será más probable que la esperanza matemática del sistema no sea el resultado de la casualidad.
Por su parte, el número de restricciones se obtiene a partir del número de reglas del sistema, contando todas aquellas condiciones cuya variación altere las operaciones del sistema. Por ejemplo, imaginemos que tenemos un sistema que compra cuando el cierre de hoy es mayor que el de día anterior, y viceversa para las ventas. Además el sistema define un filtro de tendencia mediante una media móvil de 40 períodos. El sistema es de tipo stop and reverse por lo que se gira con cada señal, no existiendo stops. Veamos cuántas restricciones tenemos en el sistema:
- La media móvil supone 2 condiciones, una por la media en si misma (está el mercado por encima o por debajo) y otra por el período de la media.
- El patrón de cierre de las velas (el cierre diario está por encima o por debajo del cierre del día anterior) cuenta como otra.
- En total tenemos 3 condiciones que, multiplicadas por dos teniendo en cuenta el lado de las ventas, suma un total de 6 condiciones.
Si en las pruebas realizadas con nuestro sistemas tuviéramos menos de 6 operaciones, no tendríamos grados de libertad y por tanto cualquier inferencia sobre el sistema realizada sobre la base de su esperanza matemática sería completamente inválida. Este es un caso extremo pero en sistemas con muchos parámetros y condiciones podemos llevarnos alguna sorpresa si no tiene una frecuencia operativa elevada.
Con toda esta información ya podemos calcular el estadístico t. En particular debemos calcular:
t= (EM – 0)/[DT/Raíz(N)]
Donde EM es la esperanza matemática obtenida por nuestro sistema, DT es la desviación típica de los resultados de nuestras operaciones y N es el número de operaciones del sistema. una vez obtenemos el valor de t, debemos compararlo con el valor teórico de la distribución t de Student que se obtendría con un número de grados de libertad GL y un nivel de confianza determinado (generalmente 90%, 95% o 99%). Para ello basta con buscar en las tablas el valor apropiado; si no sabéis cómo os recomiendo que echéis un vistazo a este excelente Powerpoint de la Universidad de Lérida donde se explica muy bien. Si buscáis unas tablas hay muchas por la Red aunque podéis descargárosla directamente desde aquí.
Ahora ya solo falta comparar los valores obtenidos: si t es mayor que el valor en tablas rechazaremos la hipótesis de que nuestra esperanza matemática es igual a cero y por tanto aceptaremos que el valor de la esperanza matemática es significativa estadísticamente; en caso contrario, si t es menor que el valor en tablas, no podremos inferir nada sobre la rentabilidad de nuestros sistema ya que esta será igual a cero en términos estadísticos.
Veamos un sencillo ejemplo: supongamos el caso de un sistema que realiza 140 operaciones y tiene 20 restricciones. En ese caso GL = 140 – 20 = 120 grados de libertad. Si la esperanza matemática obtenida es de 10 € por operación y la desviación típica de las operaciones es de 5 €, tenemos que:
t = (10 – 0/[5/Raíz(140)] = 23.81
Si acudimos a las tablas de la t de Student tenemos que su valor con 120 grados de libertad y un 95% de confianza es de 1.66 por lo que al ser mayor t que el valor en tablas, rechazamos la hipótesis de que nuestra esperanza matemática es igual a cero y aceptamos que positiva.
Los lectores más avanzados seguramente se hayan dado cuenta de un inconveniente y es que para que esto sea correcto, debemos respetar los supuestos del test, en particular que las propiedades estadísticas de las operaciones permanezcan constantes. Esto es, que la esperanza matemática y la desviación típica de los resultados de las operaciones se mantengan constantes en el tiempo. En caso de que variasen sustancialmente a lo largo del tiempo, deberíamos tener cuidado por lo que conviene ir repitiendo el test cada cierto tiempo para ver si se producen variaciones importantes.
Saludos,
X-Trader