La auditoría de sistemas de trading (y II)

14 de mayo, 2013 0
Experto en trading con sistemas automáticos. Operando con ellos desde 2000 y a tiempo completo desde 2008. Fundador del blog:... [+ info]
Experto en trading con sistemas automáticos. Operando... [+ info]

En el capítulo anterior sobre auditorías en sistemas de trading, concluimos que el momento en el cual un sistema se pone “de verdad” a prueba es el momento en que se comienza a auditar y no el momento en que empieza a operar realmente en cuentas.

Intenté explicar que esto se debe a que la operativa auditada puede dar la misma o incluso más fiabilidad que la operativa real siempre y cuando los costes operativos estén correctamente estimados desde el principio.

El objetivo que persigo hoy es dar herramientas al lector para averiguar si esto se ha hecho correctamente en su opinión. Pero antes quiero hacer un apunte sobre las comisiones y los alquileres (las otras patas de los costes de operación) que, aunque de menor impacto, también habría que considerar a la hora de elegir un sistema. Aunque son costes de naturaleza totalmente distinta, el punto que quiero tratar afecta idénticamente a todos ellos.

En el historial del sistema se suelen abarcar extensos periodos de tiempo. Un buen auditor (o el desarrollador) debe contemplar de manera realista tanto los deslizamientos como los costes de alquiler y las comisiones porque los tres impactan de manera importante en el rendimiento del sistema. Sin embargo, esto no siempre es fácil de hacer con rigor.

Tanto las comisiones como los alquileres pueden sufrir variaciones sustanciales en el periodo de tiempo transcurrido o incluso para los distintos traders. En muchas ocasiones los brokers y/o desarrolladores cambian su tarifario (subiendo o bajando los precios) según las condiciones de mercado. También hay otros impactos en los costes (como por ejemplo los descuentos por contratar trimestres, años o mucho volumen que muchos desarrolladores aplican a sus licencias) que son muy difíciles de reflejar en las estadísticas porque requeriría cálculos complejos que muchas veces las plataformas de desarrollo y/o auditoría no pueden realizar.

Con lo cual, nos encontramos con que muchas veces las estadísticas están calculadas con una “tarifa única” de comisiones y alquileres que no corresponde con la realidad que ha ocurrido en el pasado. Dado que la tecnología no nos permite hacerlo mejor, es importante asegurarse que TODO el histórico se ha calculado considerando las condiciones más desfavorables posible. Esto podría llevar a paradojas como estar aplicando en las estadísticas de hoy, comisiones o alquileres más altos de los que se pueden conseguir con facilidad. Podemos considerar que esto es un “mal menor” que bien podemos asumir como precio por tener un histórico más ajustado a la realidad esperable en el futuro. Lo que conseguiremos es sobrevalorar los riesgos futuros e infravalorar los beneficios, que siempre es mejor compromiso que lo contrario.

Cerrado así el tema de las comisiones y alquileres, veamos que pasa con los deslizamientos. En esencia el problema es el mismo que he descrito antes (la variabilidad del coste en el histórico). Lo que ocurre es que aquí, en lugar de cambiar el coste “de tanto en tanto” cambia en cada operación y para cada cuenta.

En el fondo pues, la solución es idéntica a la anterior: asegurarnos que los deslizamientos están correctamente dimensionados a lo largo de todo el histórico y reflejan el escenario más adecuado posible. Lo que esto supone, en mi opinión, es hacer dos cosas:

  1. Asegurarnos que todo el histórico está calculado con un deslizamiento que refleje lo mejor posible la realidad del mercado en su momento.
  2. Asegurarnos que dicho deslizamiento es coherente con el que se está obteniendo hoy en el mercado.

Compromiso dificilísimo como se podrán imaginar.

Por ejemplo: imaginemos que producto de miles de operaciones reales de años anteriores, llegamos a la conclusión de que el deslizamiento promedio para un sistema determinado es de 5€ por contrato. Lo que indica el sentido común es que ese es el valor que tendríamos que aplicar al histórico y también a las operaciones auditadas.

Sin embargo, es posible que las condiciones de mercado de hoy aconsejen poner deslizamientos más bajos o más altos. Es importante detectar este hecho y ajustar los números históricos contemplando el peor escenario posible. No hacerlo podría llevar a empezar a operar un sistema que podría ser excelente pero que no es rentable en las condiciones de mercado actuales. Podría volver a serlo dentro de muy poco, pero la realidad es que hoy no lo es.

Ajustar los números históricos con los valores de deslizamiento de hoy es imprescindible para poder prever como va a actuar el sistema de manera inmediata en las próximas sesiones. Un sistema con un DD máximo histórico de 6.000€ con un deslizamiento de 5€ podría tenerlo de 8.000€ con un deslizamiento de 6€. Algo de esto he hablado en algún post en el pasado.

Vamos a ver un ejemplo concreto con idea de aclarar un poco los conceptos. Este que presento es un sistema con base en el FDax que no estoy operando personalmente ni nadie que conozca. No sé nada de el más allá de los números fríos que puedo consultar. Sé que se está operando en real desde septiembre del año pasado con lo que lleva un histórico real de aproximadamente unos 100 contratos (redondeando) reales y aproximadamente 2200 en total (reales, auditados y backtest). Esta es la pinta que tiene el sistema:

image

Veamos que deslizamientos ha aplicado el tracker a cada operación de este sistema:

image

Ya sé que se ve mal, pero se puede apreciar incluso a simple vista como al comenzar a operar en real, los deslizamientos empiezan a ser más erráticos. El eje de la izquierda mide en puntos de Dax, así que un deslizamiento de –6 puntos en una operación equivale a una penalización adicional a las comisiones de nada menos que 150€. Desde el comienzo de la operativa real hay también, como se ve, algunas operaciones con deslizamientos positivos. Esto quiere decir, en la práctica, que la operación se ejecuta a un precio más favorable para el trader que lo que el sistema preveía en la teoría. Esto no es muy habitual y por eso se considera en general el deslizamiento como un coste adicional.

Ahora veamos si este incremento en la volatilidad del valor de los deslizamientos es bueno para el operador o malo. Para ello vamos a pensar no solo en la operativa sino también (y quizá más importante) en la fiabilidad de las estadísticas que usamos para decidir si activar un sistema o no.

Este sistema ha sido penalizado, en promedio, con -0.71 puntos (-17.75€) por contrato para calcular las estadísticas. En la gráfica anterior se ve claramente (bueno no tan claramente para ustedes Sonrisa) como este promedio es razonable aunque pelín bajo para el periodo 2001-2003 pero es muy alto (las estadísticas presentadas son mejores de lo esperable) para el periodo 2004-2007 donde se ha penalizado el resultado teórico con menos coste que el promedio. Cabría pensar que obviamente el promedio se obtiene de todos estos datos, así que eso no nos dice mucho. Aun siendo cierto, la realidad es que al menos nos dice que las estadísticas del periodo 2004-2007 probablemente son demasiado optimistas.

Al ver con un poco de detalle los años indicados se aprecia como, quitando el 2006, probablemente estén notablemente por debajo de la media en cuanto a ganancias:

image

El impacto de incrementar el deslizamiento a algo más cercado al promedio sería, en este sistema, de aproximadamente unos 2000 €/año en beneficios, así que tampoco convertiría al sistema en perdedor de todas maneras. Así que tampoco parece que en este caso debiéramos preocuparnos demasiado de fiabilidad de las estadísticas.

Veamos ahora si es razonable suponer que ese -0.71 puntos de deslizamiento se va a mantener en el futuro. A continuación una curva de deslizamientos promedio de 20 sesiones:

image

La curva ahora es, dentro de lo que cabe, más estable y se mueve entre rangos mucho más estrechos. Lo que nos dice es que cabe suponer que el deslizamiento se moverá en lo entornos de –0.7 puntos incluso en los tiempos actuales. Es una buena noticia porque no olvidemos que todo el histórico está calculado con –0.71 puntos. Luego refrenda su validez, más allá de que en períodos concretos del tiempo el histórico sea “no fiable” porque el deslizamiento utilizado para calcularlo se aparta mucho de ese valor.

Si ahora hacemos zoom en esta gráfica y vemos el deslizamiento que está teniendo el sistema desde septiembre de 2012 que empezó a operar en real nos sale esto:

image

Como se ve ha habido periodos de más deslizamiento y otros de menos pero básicamente, el –0.71 que se ha usado en este caso para calcular todo el histórico es correcto en mi opinión. Y desde luego para las condiciones de este momento es razonable como se puede apreciar. Luego podemos confiar en que las estadísticas de este sistema son adecuadas aunque haya momentos del tiempo en que hay que “cogerlas con pinzas” como antes he dicho.

Este sistema acaba de tener su DD máximo en febrero y el anterior “pico” de DD ha sido en diciembre del año pasado, poco después de comenzar a operar. Como se ve, el DD de diciembre probablemente estuvo fuertemente influenciado por el incremento en deslizamiento que hubo hasta primeros de noviembre y que estuvo penalizando la operativa más de lo estimado a priori. Con lo que podríamos concluir fácilmente que aunque se superó el DD de julio/2010, ello fue debido al incremento del coste operativo y no a que el sistema dejara temporalmente de funcionar.

Concluyendo, calcular adecuadamente o no el deslizamiento utilizado para el histórico (tanto backtest como auditado) puede afectar de manera muy notable a las estadísticas que usamos para decidir activar un sistema o no.

El solo hecho de que profesionales de esto hagan estos cálculos y estimaciones sobre lo que podría haber sido el resultado de un sistema de haber operado en real es una garantía (como se puede observar en este caso en que las estimaciones globales realizadas son bastante correctas). Sin embargo, no debemos hacer un acto de fe sobre las estadísticas aportadas por el desarrollador o el auditor. Hay que entrar a desgranar lo que se pueda y sacar nuestras propias conclusiones sobre la validez de los números que nos presentan.

Confío en no haber oscurecido más que aclarado y que este pequeño artículo sea de interés y utilidad. Sonrisa

Saludos y suerte en el trading,

Usuarios a los que les gusta este artículo:

Este artículo no tiene comentarios
Escriba un nuevo comentario

Identifíquese ó regístrese para comentar el artículo.