La robótica evolutiva
¿Qué es la evolución genética de un sistema de trading?
Sin duda, una de las grandes incógnitas dentro de un sistema de trading (ya sea automático o discrecional), es sobre como se ha trabajado hasta obtener un determinado robot que se adapte de una forma más o menos estable a las condiciones cambiantes de los mercados financieros.
Es en este momento, cuando entramos en el campo de las redes neuronales basadas en algoritmos complejos de decisión, que nos ayudarán a obtener un robot de trading que tome las decisiones correctas, aún sin estar nosotros presentes.
¿Pero cómo hemos llegado a que un robot que use un sistema de trading concreto, se comporte correctamente? Es aquí, donde llegamos a los conceptos de la evolución genética de un sistema de trading.
Entender la evolución genética de un sistema de trading, sin antes entender la robótica evolutiva, puede llevar a confusión a todo aquel que quiera descubrir el origen, presente y futuro de los sistemas automáticos de trading.
Si deseas conocer un poco más que se esconde detrás de un robot de trading o un sistema de trading automático complejo y tienes alguna curiosidad acerca de los conceptos aplicados a nivel evolutivos de la programación de sistemas, te aconsejamos que sigas leyendo esta pequeña introducción.
¿Qué es la robótica evolutiva?
Robótica evolutiva (ER), es un área emergente de investigación, dentro del campo mucho más grande de los robots autónomos. Uno de los objetivos primarios de la robótica evolutiva (ER), es desarrollar métodos automáticos para crear controladores inteligente robot autónomo y hacerlo de una manera, que no requiera una programación directa y constante por parte de los seres humanos.
La principal ventaja de utilizar los métodos de diseño de un robot que toma sus bases en la genética evolutiva y las redes neuronales, es que no se requiere tanta mano de obra en la codificación o en la optimización del sistema, dado que este tipo de tareas podría ser realizada por los controladores o incluso todo robots que son capaces de funcionar en entornos que los humanos no entienden bien.
Evolución artificial: la supervivencia del más apto.
La robótica evolutiva dentro de la robótica, utiliza la evolución artificial basada en la generación y población de candidatos de un “ecosistema”, para evolucionar los controladores de un robot autónomo (es decir, cerebro del robot) y a veces incluso ayudarán a definir las morfologías robot.
Generalmente, los robots han evolucionado radicalmente tanto en su diseño de base como en su estructura lógica, para realizar tareas que requieran un nivel de inteligencia, por ejemplo moverse en un entorno sin toparte con las cosas.
El proceso que lleva a la evolución de un controlador, consiste en repetir los ciclos de selección y pruebas de aptitud controlador, que no son más que generaciones más o menos análogas en la evolución natural.
El proceso de una evolución hablando dentro del campo de la robótica y la inteligencia artificial, se inicia mediante la creación de una población de robots aleatoriamente configurados (o controladores de robot).
En el caso de los sistemas de trading llevando la teoría a nuestro campo, podemos hacer una “ensalada”, en la que podríamos añadir los ingredientes que queramos:
Indicadores de volatilidad
Indicadores de momentum
Indicadores de tendencia
Con ello, sentamos las bases que formarán parte de los ciclos evolutivos que irán tomando parte del controlador del robot.
Durante cada ciclo posterior, o generación, cada uno de los controladores de robot compite en un entorno para realizar la tarea para la cual los robots están siendo evolucionados. Este proceso consiste en colocar cada controlador en un robot y luego permitiendo que el robot que interactúan con su medio ambiente por un período de tiempo. A continuación, se evalúa desempeño de cada controlador usando una función de selección de aptitud (función objetivo) que mide qué tan bien se realizó la tarea. Los controladores de los robots mejor desempeño son seleccionados, alterados y propagados en un proceso repetitivo que imita la evolución natural. El proceso de alteración también está inspirado en la evolución natural y puede incluir la mutación y el comercio de material genético.
Los ciclos se repiten desde hace varias generaciones capacitar a las poblaciones de controladores de robots para realizar una determinada tarea.
¿Qué es creado durante la evolución?
En la mayoría del trabajo de robótica evolutiva sólo los programas de control se crean y configuración mediante el proceso evolutivo. Estos controladores vienen en una variedad de formas, incluyendo las redes neuronales, genéticas de programación estructuras (ecal-koza-1992), controladores de lógica difusa (hoffmann-ipmu-1996) y consulta simple y tablas de parámetros relacionados con entradas de sensor para salidas del motor (gecco-augustsson-2002). También ha habido varios ejemplos de circuitos de hardware seres que evolucionaron para robot control ().
Evolucionando los cerebros de un Robot
Las redes neuronales son por lejos el tipo más común de los controladores utilizados en robótica evolutiva. Estos pueden ser codificados para el proceso de evolución en una variedad de maneras.
Por ejemplo, un controlador neural puede representarse como un conjunto de conexión de varios indicadores. La mayoría de las redes neuronales utilizados en robótica evolutiva es pequeña y dar cabida a menos de 10 entradas por sensor. Estas redes suelen tienen menos de diez neuronas (¡pero cuidado con lo que son capaces de hacer!) y entre diez y cincuenta conexiones ponderadas.
En estos casos sólo el conjunto de peso representado por diez a cincuenta números variables podría ser evolucionado. Las redes más grandes en ER tienen alrededor de 150 entradas y cerca de 5000 conexiones. Para estas redes neuronales grandes, el sistema de pesos y la configuración por neurona han evolucionado en forma de una variable tamaño de matriz de números.
No sólo los controladores pueden ser desarrollados. Además, es posible encontrar una forma de codificar la estructura física de un robot y evolucionan también. Aunque hubo intentos de hacerlo en los primeros años de investigación de ER, sólo sería en los últimos cinco o seis años que tales métodos han dado lugar a robots capaces de funcionar en el mundo real. Estos últimos resultados fueron logrados mediante la formulación de un conjunto de edificios modulares de construcción las unidades que podrían ser fácilmente simulados y fabricado, pero que también puede ser configurado y combinadas en una variedad casi infinita de los cuerpos de robot no trivial que formarán parte de los sistemas automáticos de trading, tal como los conocemos.
¿Qué hacen los Robots en realidad? ¿Cúal sería su aplicación en el trading?
Casi toda la investigación realizada hasta la fecha desarrollado robots capaces de comportamientos muy simples. Las tareas comunes de referencia que han sido estudiadas incluyen la simple locomoción, locomoción con la evitación del objeto etc… pero obviamente en el campo físico. Si aplicamos estas mismas teorías sobre el comportamiento de programas informáticos junto al análisis cuantitativo, se pueden obtener sistemas avanzados de trading que se adapten a las condiciones determinadas de los mercados e incluso que evolucionen de forma automática.
Reconocemos que el estudio de la aplicación de los conocimientos de las redes neuronales aplicadas al trading, puede resultar difícil para muchos de los lectores, pero es sin duda el presente y futuro de lo que nos vamos a encontrar a través del trading de alta frecuencia por ejemplo o sistemas automáticos de trading avanzados y gestionados por grandes fondos.