|
A todos aquellos que usan sistemas de
trading la historia que actualmente les
voy a contar les será bastante
familiar. Cuando comenzamos a interesarnos
por el mundo de los sistemas, comenzamos
a programar nuestras primeras ideas, a
probarlas, optimizarlas, analizarlas,
.... empezamos a descubrir un mundo totalmente
nuevo para nosotros y realmente, en un
principio, nos encontramos como bebes
en pañales, con un sinfín
de cosas por aprender.
Introducción
Lo más común es comenzar
a probar sistemas de libre distribución,
del tipo de los que AGM ofrece en su página
o de los que algunos amables traders ponen
a nuestra disposición. Tras unas
pocas horas de optimización hemos
conseguido el sistema millonario que nos
retirará de trabajar para el resto
de la vida. Ya no tendremos que seguir
soportando a ese plasta de jefe y podré
llevar a los niños a Disneyworld.
Las estadísticas de nuestra optimización
lo dicen y ese sistema es una máquina
de hacer dinero.
Tras convencer a nuestra familia para
comenzar a operar con "la máquina
de hacer dinero", empezamos no sin
miedo, a utilizar las señales de
compra/venta que el sistema genera y al
cabo del tiempo (normalmente poco tiempo),
nos damos cuenta de que nuestros resultados
no se parecen en nada a lo que había
conseguido tras mi optimización,
las rachas de pérdidas son extraordinariamente
más grandes que las esperadas y
nos envuelve un sentimiento de frustración
que acaba por hacernos parar la operativa
para recapacitar sobre lo que hemos hecho
mal y buscar soluciones.
Esta historia tan típica y que
todos hemos sufrido en nuestros comienzos
tiene fácil explicación:
simplemente habíamos comenzado
a operar con un sistema sobreoptimizado,
que se había ajustado a la curva
de precios histórica, dando unos
resultados muy buenos en el pasado, pero
con poco valor predictivo futuro. Para
evitar este tipo de sobreoptimizaciones,
ahorrándonos así varios
disgustos, lo más conveniente es
aplicar el análisis en prueba externa
a nuestros sistemas. Veamos en que consiste.
El concepto
Supongamos que hoy es día 31 de
diciembre de 2000 y tenemos un sistema
muy bueno con el que queremos comenzar
a operar al día siguiente. El proceso
habitual es optimizar nuestro sistema
en un conjunto de datos históricos
y aplicar el conjunto de parámetros
óptimo a la operativa en mercado
real a partir del 1 de enero de 2001.
De esta manera podríamos saber
como se hubiera comportado nuestro sistema
en un conjunto de datos en los que el
sistema no ha sido optimizado, o lo que
es lo mismo, en un conjunto de datos externos
a la optimización. Por lo tanto,
en el análisis de prueba externa
lo que hacemos es optimizar el sistema
en un conjunto de datos históricos
determinados y aplicar los parámetros
optimizados a otros conjuntos de datos
que no habían sido tenidos en cuenta
en nuestra optimización inicial.
La idea es dividir nuestro conjunto de
datos históricos en diversos "trozos"
de datos, optimizando en cada uno de los
trozos y aplicando los parámetros
óptimos al trozo siguiente. Veámoslo
con un ejemplo. Imaginemos que tenemos
un conjunto de datos que va desde el 1/1/1998
al 15/5/2003 y queremos analizar la validez
de un determinado sistema de trading.
Para ello tenemos dos opciones:
1) Tomar el conjunto de datos entero,
optimizarlo y comenzar a operar con los
parámetros optimizados a partir
del día 16/5/2003. Esta manera,
que es la que habitualmente se suele utilizar,
es totalmente errónea, ya que no
nos informa de la bondad del sistema en
ningún momento. Simplemente nos
dice que ha sido posible obtener unos
buenos resultados con nuestro sistema
en dicho periodo, pero no sabemos nada
acerca del carácter predictivo
del sistema, ya que no hemos aplicado
el sistema a datos externos.
2) Dividir el conjunto de datos en diversos
periodos. Por ejemplo, de la siguiente
manera:
|
Periodo
Optimizado
|
Parámetros
aplicados al periodo
|
|
1/1/1998 a 31/12/1998
|
1/1/1999 a 31/3/1999
|
|
1/4/1998 a 31/3/1999
|
1/4/1999 a 30/6/1999
|
|
1/7/1998 a 30/6/1999
|
1/7/1999 a 30/9/1999
|
|
...
|
...
|
|
1/4/2002 a 31/3/2003
|
1/4/2003 a 30/6/2003
|
En la tabla anterior hemos dividido nuestro
conjunto de datos en periodos de 12 meses,
aplicando los parámetros optimizados
a los 3 meses siguientes, obteniendo de
esta manera nuestra secuencia de operaciones
en prueba externa. Es importante por lo
tanto, seleccionar el periodo hacia atrás
(el periodo que vamos a optimizar) y el
periodo hacia delante (el periodo "futuro"
al que vamos a aplicar los parámetros
optimizados). De esta manera podemos saber
que hubiera ocurrido en nuestra cuenta
si hubiésemos comenzado a operar
el 1/1/1999, por ejemplo, con los parámetros
optimizados hasta el 31/12/1998.
De esta manera obtendremos una secuencia
de operaciones fruto de nuestro análisis
de prueba externa, siendo nuestras estadísticas
mucho más reales que las obtenidas
por la mera optimización del conjunto
de datos global. Además, con este
tipo de prueba evitamos la sobreoptimización
del sistema y el ajuste a la curva de
precios, porque la secuencia de operaciones
que hemos conseguido no es fruto de un
conjunto de datos optimizado. Posteriormente,
sería conveniente aplicar los análisis
de montecarlo a la secuencia de operaciones
externas, para poder determinar nuestro
capital necesario, etc...
Conclusión
Si bien el hecho de que un sistema no
haya superado los análisis de prueba
externa no es motivo suficiente para decir
que ese sistema no es bueno, si es cierto
que con los análisis de prueba
externa conseguimos una imagen más
real de lo que podemos esperar de nuestro
sistema, y sobre todo evitamos que nuestro
sistema se haya simplemente ajustado a
la curva de precios histórica como
consecuencia de una sobreoptimización.
Aunque el proceso de realización
de la prueba externa puede llegar a convertirse
en algo bastante tedioso, es recomendable
que realicemos este tipo de pruebas a
nuestros sistemas antes de comenzar a
operar con ellos y determinar posteriormente
los capitales necesarios para la misma
en función de los análisis
de montecarlo efectuados a la secuencia
de operaciones en prueba externa.
Espero que les haya servido de ayuda
este artículo. Para cualquier duda
pueden ponerse en contacto conmigo en
chaptrader@yahoo.es
Saluditos,
Chap
chaptrader@yahoo.es

|