Categorías
©Al dia De Economia Empresas

La necesidad de tener una buena herramienta para tus algoritmos

Mientras sigamos con nuestro RETO en marcha, vamos a intentar mostrar un poco más de como se llega a tener un algoritmo completo

r06012017
r06012017

Hace unos días os invité a leer un artículo donde hablaba del backtesting, ahora os voy a mostrar como los trabajamos y como se diseña cualquier estrategía. Es importante saber que cuando uno tiene una idea, hay que desarrollarla primero en papel, pero no hablo de un sencillo texto y un dibujo de niño pequeño, estoy hablando de coger una libreta e ir plasmando todo lo que necesitamos tener en nuestro algoritmo para funcione.

No se trata de utilizar un lenguaje de compilación, frases sencillas con órdenes directas pero todo muy elaborado, si puede ser un diagrama de flujo es perfecto ya que sólo con los dibujos entendemos a golpe de vista que es lo que estamos haciendo. Esto no suele ser una tarea nada fácil, primero por tiempo ya que es ir plasmando tu día a día en un papel para automatizarlo y lo segundo porque el desarrollo del mismo, para ver tus primeros resultados pasarán muchos meses, podemos hablar hasta de años.

Cuando hemos llegado al momento de que tenemos el diagrama de flujo limpio llega una parte más compleja, es plasmarlo en un lenguaje de programación, en nuestro caso seguimos utilizando R, puede ser porque somos de la vieja escuela, pero nos da mucho más desarrollo el poder realizar lineas de programación y el moldeo es más seguro.

En el momento que esto funciona, nos da los números deseados empezamos a trabajar Rapidminner, es un complejo programa de minería de datos, esto lo podemos ampliar otro día ya que tiene mucho que hablar, dónde empezamos a ponerlo a prueba sobre la temida inteligencia artificial que nos va a hacer que nuestro algoritmo se convierta en un robot, que le vamos a dar nuestro algoritmo y va a ir generando situaciones de estress para encontrar todos los fallos y virtudes del mismo.

Con esta minería de datos, volvemos a reprogramar código y solucionar todos los escenarios en los que nos ha llevado, corrigiendo y complemento con nuevas ideas que nos han surgido en todo este nuevo proceso.

Esto daría por concluido lo que todo el mundo conoce como sistema de inteligencia artificial, pero sólo sería su primera fase, ya que el robot va aprendiendo día a día y establecemos unos calendarios para ir haciendo nuevas versiones. ¿Qué os parece todo esto?

Un saludo.