miércoles, 16 de enero de 2013

¿Por qué Entropycs?


El lanzamiento de la plataforma Entropycs ha despertado cierto interés entre la comunidad de desarrolladores de sistemas automáticos de trading, pero también son muchos los que no entienden del todo cual es el problema que pretendemos resolver, y nos han llegado muchas preguntas del tipo: ¿por qué una nueva plataforma? ¿por qué no simplemente utilizar MetaTrader, TradeStation, NijaTrader, o cualquier otra de las otras existentes en el mercado?

En esta entrada de blog intentaré explicar por qué no es posible utilizar esta plataformas. Para no complicar demasiado las cosas, voy a centrarme en las carencias de MetaTrader 4, que es quizás la plataforma más conocida en este mundo de los sistemas automáticos de trading.

Imaginemos que hemos desarrollado una estrategia de trading, que hemos hecho unas primeras pruebas con datos históricos, y que la estrategia parece que es rentable. A continuación queremos optimizar nuestra estrategia para encontrar aquellos parámetros que nos permitan obtener el máximo beneficio con el mínimo riesgo. Para ello primero tenemos que seleccionar una función objetivo, ¿y cuales son las funciones objetivo que nos permite definir MetaTrader? Pues muy pocas: balance, disminución maximal, y poco más. ¿Y si quiero utilizar alguna función objetivo algo más avanzada, como por ejemplo un ratio de Sharpe, o un retorno ajustado al riesgo? Pues simplemente no se puede.

Por otro lado está el tema de qué algoritmo utilizamos para optimizar nuestro robot. MetaTrader permite elegir entre una optimización lineal, y una optimización basada en algoritmos genéticos. ¿Sólo? ¿Y que pasa con el resto de las técnicas de optimización? Por ejemplo simulated annealing, particle swamp, etc. Pues que no están disponibles.

A continuación queremos hacer un análisis walk forward de nuestro sistema. Una prueba que a nuestro entender es la más básica que se le puede aplicar a cualquier robot de trading. Pues bien, MetaTrader no permite hacerlo. Aquí algunos lectores dirán que se puede hacer de manera manual. Y sí, es cierto. Pero cuando uno quiere aplicar este análisis a decenas de símbolos simultáneamente, la automatización es imprescindible.

¿Y que pasa si hablamos de gestión de carteras? No es ninguna locura pensar que un usuario quiere conocer el rendimiento y el riesgo de varios sistemas considerados en su conjunto. Pues tampoco. ¿Y si queremos analizar los resultados de los robots que tenemos en marcha? No sólo para ver si están cumpliéndose las expectativas que teníamos de ellos, sino también porque a lo mejor nos interesa utilizar una gestión monetaria basada en la fórmula de Kelly, y para ello necesitamos los datos históricos. Tampoco.

Y así podría seguir con una larga lista de carencias, como la simplicidad de los gráficos de optimización, la carencia total de análisis estadísticos decentes, etc. Básicamente se puede decir que casi cualquier análisis que uno quiera realizar sobre sus sistemas no se puede hacer con MetaTrader. Por ejemplo, ayer mismo estaba evaluando la posibilidad de modificar mi stop loss en base a un Maximial Excursion Análysis, y como me temía, esto en MetaTrader es poco menos que imposible.

Esperemos que con la plataforma Entropycs podamos dar solución a estas y a muchas otras limitaciones que nos encontramos al desarrollar y evaluar los sistemas automáticos de trading.

2 comentarios:

  1. Hola Rafael,
    me gusta mucho la idea!

    Una pregunta muy fácil: en qué lenguaje está implementado Entropycs? Estará limitado de alguna manera? Será privativo? Público? Ofrecerá una API?

    Saludos cordiales

    ResponderEliminar
  2. Hola Ferran,

    La herramienta está programada prácticamente en su totalidad con R, al que se le ha añadido un interfaz gráfico.

    A nosotros nos gustaría liberarla como software libre, pero los modelos de negocio que se nos ocurren alrededor de un producto libre no son viables (tipo formación, soporte, consultoria, etc), ya que Entropycs es una herramienta demasiado vertical para poder rentabilizarla de esta forma. Así que seguramente sea aun producto cerrado y de pago.

    Un cordial saludo

    Rafael

    ResponderEliminar