Aplicación de Deep Learning a la inversión

El espacio de los traders quant: sistemas de trading, gestión monetaria, automatización de sistemas.
bugler1
Mensajes: 876
Registrado: 04 Dic 2013 08:56

Aplicación de Deep Learning a la inversión

Mensaje por bugler1 »

Hace unos meses tuve que desistir de la idea de automatizar la estrategia de las tortugas o la busqueda de patrones porque por un revés económico me quedé con la cuenta a cero.
Como siempre tengo que estar estudiando algo me puse a estudiar inteligencia artificial con una pasión brutal (muchos días como 12 horas diarias). Me interesé en esto por unos vídeos Ted que vi sobre los últimos avances a los que han llamado Deep Learning.
El caso es que estaba hace un par de meses viendo una serie llamada billions sobre un broker que se hizo mil-millonaria y pensé que lo que estaba estudiando se podría aplicar con cierta facilidad para reconocer patrones e inventir.
En particular hablo de redes recurrentes y convolucionales.

La idea es que en lugar de decirle al ordenador como tiene que invertir, tu simplemente le das los datos y es el propio programa el que aprende como invertir. Es decir, alguien que no tiene ni zorra de bolsa podría poner a punto el sistema (por supuesto cuanto más sepas del tema mejor porque hay muchos detalles). En eso consiste el deep learning. Dar ejemplos y que el sistema aprenda el mismo a interpretar los datos.

Voy a paso de tortuga porque todo es nuevo para mi: python, estadistica, machine learning, deep learning, tensorflow, etc. Las panzadas que me estoy pegando no son normales pero por fin empiezo a ver timidamente la luz al final del túnel y espero tener en no mucho una red neuronal lista para ser entrenada (he empezado con una recurrente)

Quería saber que si alguno ha leído sobre esto y/o puede aportar ideas, comentarios.

Gracias.
Avatar de Usuario
cls
Mensajes: 1304
Registrado: 24 May 2007 18:46
Ubicación: Zion

Re: Aplicación de Deep Learning a la inversión

Mensaje por cls »

Buenas, algo he leído, pero poco sé.
https://s3.amazonaws.com/quantstart/med ... esting.pdf

Estaba empezando a mirar algo de python por probar la librería scikit-learn, pero buff entre poco tiempo, la cantidad de material y las pocas neuronas que van quedando con ganas ...
Avatar de Usuario
SpeakerTrading
Mensajes: 117
Registrado: 13 Dic 2012 21:26
Contactar:

Re: Aplicación de Deep Learning a la inversión

Mensaje por SpeakerTrading »

bugler1 escribió:Hace unos meses tuve que desistir de la idea de automatizar la estrategia de las tortugas o la busqueda de patrones porque por un revés económico me quedé con la cuenta a cero.
Como siempre tengo que estar estudiando algo me puse a estudiar inteligencia artificial con una pasión brutal (muchos días como 12 horas diarias). Me interesé en esto por unos vídeos Ted que vi sobre los últimos avances a los que han llamado Deep Learning.

...

Quería saber que si alguno ha leído sobre esto y/o puede aportar ideas, comentarios.

Gracias.
Hola bugler1

Solo quería puntualizar una cosa sobre lo que has comentado. Es referente a lo de "alguien que no tiene ni zorra de bolsa podría poner a punto el sistema". Personalmente creo que debes saber de bolsa, y bastante. El aprendizaje automático lo que hace es optimizar las clasificaciones que le das. Si tus criterios son malos, te dará una buena solución basada en esos criterios, pero globalmente será una muy mala solución.

Desarrollar un sistema basado en aprendizaje automático puede ser una tarea encomiable. ¡Mucho ánimo!

Un saludo
Speaker Trading
http://speakertrading.wordpress.com/" onclick="window.open(this.href);return false;
bugler1
Mensajes: 876
Registrado: 04 Dic 2013 08:56

Re: Aplicación de Deep Learning a la inversión

Mensaje por bugler1 »

cls escribió:Buenas, algo he leído, pero poco sé.
https://s3.amazonaws.com/quantstart/med ... esting.pdf
Gracias. He mirado el pdf y obviamente estas cosas hay que tocarlas (y en eso estoy) pero el deep learning va aun mas alla.
SpeakerTrading escribió: Hola bugler1

Solo quería puntualizar una cosa sobre lo que has comentado. Es referente a lo de "alguien que no tiene ni zorra de bolsa podría poner a punto el sistema". Personalmente creo que debes saber de bolsa, y bastante. El aprendizaje automático lo que hace es optimizar las clasificaciones que le das. Si tus criterios son malos, te dará una buena solución basada en esos criterios, pero globalmente será una muy mala solución.

Desarrollar un sistema basado en aprendizaje automático puede ser una tarea encomiable. ¡Mucho ánimo!

Un saludo
Estoy de acuerdo. Estaba llevándolo al extremo.
Pero el deep learning va bastante más allá que el aprendizaje automático tradicional.
Con deep learning tu solo tienes que darles los precios (y el volumen si acaso) y la red neuronal es la que encuentra los patrones y predice el precio futuro por si misma. Es en ese sentido que el que entrena la red neuronal no tiene porque ser un experto en bolsa aunque por supuesto cuanto mas sepa mejor para poder interpretar que está pasando en todo el proceso.

Una de mis grandes dudas en este tema es si tendré suficientes datos para entrenar correctamente la red neuronal. En deep learning cuantos más datos mejor (infinitos datos es lo óptimo)
Rango Starr
Mensajes: 3776
Registrado: 22 Dic 2014 10:49

Re: Aplicación de Deep Learning a la inversión

Mensaje por Rango Starr »

hola buenos días.....

prueba estos sites:

adaptrade.com

strategyquant.com

ambos tienen programas de machine learning enfocados a la creación de sistemas automáticos sin que el usuario tenga ni idea de lo que esta haciendo......... el problema es que esos programas tampoco tienen ni pajolera idea de lo que están haciendo......

me explico. como te ha dicho speakertrading, el machine learning ira limitado a los conocimientos de trading del que los diseña..... y no podrán ir mucho mas lejos, por mucho que llene los oídos nombres tan bonitos como el deep learning, y demás....

Yo los utilizo, sobre todo el strategyquant, pero no utilizo ni uno solo de los sistemas que me han diseñado (por lo menos aun, y llevan casi un año conmigo).....

por otro lado..... ¿no llegaste a programar la estrategia ninja, y ahora te metes en neuronales y machine learning?.....algo no me cuadra....

la estrategia de las tortugas no lleva mas de 5 minutos de programación en según que plataformas....piensa si vale la pena meterse en el berenjenal en el que quieres meterte o es mejor primero aprender el funcionamiento de los mercados...

Saludos!
Avatar de Usuario
SpeakerTrading
Mensajes: 117
Registrado: 13 Dic 2012 21:26
Contactar:

Re: Aplicación de Deep Learning a la inversión

Mensaje por SpeakerTrading »

bugler1 escribió:
cls escribió:Buenas, algo he leído, pero poco sé.
https://s3.amazonaws.com/quantstart/med ... esting.pdf
Gracias. He mirado el pdf y obviamente estas cosas hay que tocarlas (y en eso estoy) pero el deep learning va aun mas alla.
SpeakerTrading escribió: Hola bugler1

Solo quería puntualizar una cosa sobre lo que has comentado. Es referente a lo de "alguien que no tiene ni zorra de bolsa podría poner a punto el sistema". Personalmente creo que debes saber de bolsa, y bastante. El aprendizaje automático lo que hace es optimizar las clasificaciones que le das. Si tus criterios son malos, te dará una buena solución basada en esos criterios, pero globalmente será una muy mala solución.

Desarrollar un sistema basado en aprendizaje automático puede ser una tarea encomiable. ¡Mucho ánimo!

Un saludo
Estoy de acuerdo. Estaba llevándolo al extremo.
Pero el deep learning va bastante más allá que el aprendizaje automático tradicional.
Con deep learning tu solo tienes que darles los precios (y el volumen si acaso) y la red neuronal es la que encuentra los patrones y predice el precio futuro por si misma. Es en ese sentido que el que entrena la red neuronal no tiene porque ser un experto en bolsa aunque por supuesto cuanto mas sepa mejor para poder interpretar que está pasando en todo el proceso.

Una de mis grandes dudas en este tema es si tendré suficientes datos para entrenar correctamente la red neuronal. En deep learning cuantos más datos mejor (infinitos datos es lo óptimo)
Hola bugler1

No te dejes engañar por las páginas sensacionalistas o lo que leas por ahí. El deep learning es aprendizaje automático sin más. Es "simplemente" una red neuronal con varias capas que son capaces de aprender varias características con distintos niveles de abstracción.

Te pongo un ejemplo, el típico de reconocimiento de letras. Podrías tener una capa que reconozca trazos simples (un palo, una curva...) en un primer nivel de abstracción y en el último, una que le de sentido a esos trazos, el de una letra. Tienes una capas que reconocen cosas simples (características simples sin mucho sentido) y conforme avanzas en las capas de la red, otras características más de alto nivel, más cercanas al resultado que estás entrenando.

Si quieres que esta red funcione, no basta con darle los pixeles de la imagen y que ella aprenda sola. Tú tienes que decirle que la imagen la vas a convertir a escala de grises porque así te resulta más fácil operar con la imagen, tú tienes que definir las características que quieres, las que son relevantes para el aprendizaje (los trazos...), eres tú quien determina cómo funciona la red. La red es muy útil porque optimiza/clasifica los resultados mucho mejor y más rápido que tú pero no funciona sola, sigue las directrices que le das al desarrollarla.

Tienes que afinar mucho en el número de capas y en el número de neuronas que pones por capa ya que el coste computacional de estas redes es bastante grande.

Si te cuesta desarrollar un sistema automático con Ninja Trader creo que lo de las redes neuronales te va a resultar misión imposible. No solo necesitas una base de conocimiento importante sobre cómo funcionan estos sistemas sino que programarlos es mucho más complejo que hacer un sistema automático.

Si no sabes cómo funcionan, no vas a obtener nada que merezca la pena. Estarás usando aprendizaje automático, si, pero sin obtener ningún beneficio de ello. Es cómo quien desarrolla un algoritmo genético y sus variables no son continuas. Si, estás usando un genético, creando poblaciones, cruzando, mutando... pero el resultado es el mismo que con una búsqueda aleatoria con el coste añadido de estar realizando los cálculos (innecesarios) propios del genético.

Por otro lado, supongo que habrá sitios donde te vendan el aprendizaje automático ya hecho pero volvemos a lo mismo, si no sabes cómo funciona por dentro, no vas a sacarle rendimiento. Además, tienes que ceñirte a lo que te dan, no puedes adaptarlo a tu gusto.

Si hay casos, como comenta Rango Starr, en los que después de un año con estos sistemas no ha encontrado nada, es para pensarlo un poco.

A todos nos gusta la IA, deep learning, fuzzy logic... suena muy bien y son muy útiles pero no son herramientas sencillas. Personalmente, vendérselas de esta forma a la gente me parece un engaño porque incluso si están bien diseñadas, lo normal es que la gente no sepa usarlas y no les saca rendimiento.

Un saludo
Speaker Trading
http://speakertrading.wordpress.com/" onclick="window.open(this.href);return false;
Rango Starr
Mensajes: 3776
Registrado: 22 Dic 2014 10:49

Re: Aplicación de Deep Learning a la inversión

Mensaje por Rango Starr »

Hola Speaker trading,

no no es eso.... no es que no encuentren cosas.... es que las cosas que encuentran para poder validarlas no te sirve solo Montecarlo y walk forward.... es que además le tienes que hacer un largo forward test, ya que por la misma forma en que están diseñadas, no acabas de fiarte de ellas..... y sabes que a priori se romepran mas pronto que tarde... pero los periodos de DD de algunas, pueden llegar a un año.... asi que......

Saludos!
Avatar de Usuario
mascara
Mensajes: 338
Registrado: 18 Oct 2007 23:15

Re: Aplicación de Deep Learning a la inversión

Mensaje por mascara »

Con deep learning tu solo tienes que darles los precios (y el volumen si acaso) y la red neuronal es la que encuentra los patrones y predice el precio futuro por si misma. Es en ese sentido que el que entrena la red neuronal no tiene porque ser un experto en bolsa aunque por supuesto cuanto mas sepa mejor para poder interpretar que está pasando en todo el proceso.
No creo que sólo pasándole los precios en plan "High-Low-Open-Close" tal cual, en "bruto", te vaya a funcionar, sería muy fácil... tendrás que usar una información un poco más trabajada que eso... Por ejemplo, por sugerir, la variación de precio en un intervalo de tiempo en porcentaje o en pips, u otros valores, como indicadores, cercanía a soportes/resistencias, datos macro o cosas así... pero vamos que creo que el precio en bruto es lo último que usaría... Demasiado fácil y trillado estaría ya...

Suerte!
Avatar de Usuario
X-Trader
Administrador
Mensajes: 11074
Registrado: 06 Sep 2004 10:18
Contactar:

Re: Aplicación de Deep Learning a la inversión

Mensaje por X-Trader »

Hola a todos, sobre este tema estoy preparando artículo (aunque debo reconocer que traducir toda la información que tengo a términos que la gente pueda entender fácilmente es complicado), espero subirlo entre esta semana y la que viene.

Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
jda
Mensajes: 746
Registrado: 27 Abr 2015 17:38

Re: Aplicación de Deep Learning a la inversión

Mensaje por jda »

¿tan dificil es meterse en los mercados?Joroba,os leo y alucino.Redes neuronales!!!!

Mi mente no esta concebida para procesar esa informacion.Espero que x-trader me lo explique como si fuera un bebe.

Saludos cordiales al lado sistematico del foro .
arruinao
Mensajes: 718
Registrado: 26 Abr 2005 18:32

Re: Aplicación de Deep Learning a la inversión

Mensaje por arruinao »

JDA, leyendo esto pareces un alienígena de los mercados. ¿Será por eso que eres el ÚNICO que vive EXCLUSIVAMENTE del mercado en este y otros Foros?. Hay que ver el tinglado que hay montado en torno al trading, y no para de crecer ...

S2
Avatar de Usuario
IaM
Mensajes: 443
Registrado: 08 Feb 2009 12:23

Re: Aplicación de Deep Learning a la inversión

Mensaje por IaM »

Precisamente tengo un amigo que es bastante "VICIADO" de DeepLearning y para entrenar es red necesitas aproximadamente 100 ordenadores con 100 tarjetas graficas buenas. No lo puede hacer cualquiera por la cantidad de recursos que se necesitan.

Para que veais un ejemplo hacia donde estamos llegando con la inteligencia artificial os enlazo un articulo (en inglés) de hacia donde estamos yendo:
http://waitbutwhy.com/2015/01/artificia ... ion-1.html
http://waitbutwhy.com/2015/01/artificia ... ion-2.html

Por cierto creo que esta es la serie que comentas:
http://estrenosok.com/billions-temp-1serie2016hdestreno

Para que os acojonéis un poco, esta es una aplicación de Deep Learning intentando imitar a la perfección voces humanas a ver is distinguis cual es humana y cuál es la máquina:
https://deepmind.com/blog/wavenet-gener ... raw-audio/


Resumiendo, aprovechad para vivir bien antes de aparezca una super inteligencia artificial y nos aplaste como cucarachas jajaa :P
Una persona se puede equivocar, pero la multitud se equivoca siempre. (Anónimo)
NO PUEDES COMER COMO UN PÁJARO Y CAGAR COMO UN ELEFANTE. (Gordon Geko).
Avatar de Usuario
SpeakerTrading
Mensajes: 117
Registrado: 13 Dic 2012 21:26
Contactar:

Re: Aplicación de Deep Learning a la inversión

Mensaje por SpeakerTrading »

Rango Starr escribió:Hola Speaker trading,

no no es eso.... no es que no encuentren cosas.... es que las cosas que encuentran para poder validarlas no te sirve solo Montecarlo y walk forward.... es que además le tienes que hacer un largo forward test, ya que por la misma forma en que están diseñadas, no acabas de fiarte de ellas..... y sabes que a priori se romepran mas pronto que tarde... pero los periodos de DD de algunas, pueden llegar a un año.... asi que......

Saludos!
Desconozco los criterios que siguen esos sistemas en concreto pero, en el fondo, una red neuronal (deep learning o no) lo que va a hacer es optimizar los criterios de clasificación para los que ha sido diseñada.

Si tienen muchas variables y varias capas, las operaciones que deben realizar son muy costosas: muchas operaciones con matrices al margen de los propios cálculos que haya que hacer para evaluar los criterios que quieres clasificar. Evidentemente, a una persona se le hace imposible seguirle el rastro y da la sensación que piensan como nosotros. De hecho, depurar la red para comprobar que funciona bien ya tiene tarea.

El resultado de la red, si las variables son buenas, es increible y en Internet hay muchos ejemplos de uso de ellas que te dejan boquiabierto. La red optimiza muy bien y vale la pena la complejidad que conlleva su desarrollo.

Pero insisto, si los criterios de clasificación no son buenos, la red neuronal no te va a servir de nada. De ahí que hagan falta tantos filtros posteriores para validarlas y que dejen de funcionar de inmediato. Es como lo que comenté del genético que termina siendo, a efectos prácticos, una búsqueda aleatoria. Estás usando un genético mal y sus resultados son malos (más bien aleatorios) pero como luego aplicas un filtro que te valida el resultado pues si has topado con una solución buena de casualidad da la sensación de que funciona.

Personalmente me parece un engaño vender estas soluciones genéricas sin que la gente conozca cómo funciona por dentro porque es muy difícil que una persona consiga resultados decentes metiendo 4 datos en una red sin más.

Al final la red neuronal lo que te hace es optimizar tus criterios. Pero tus criterios (tu estrategia al fin y al cabo) tienen que estar trabajados y adaptados para la red neuronal.

Si bastase con meter muchos datos, con lo que tienen las grandes empresas de Big Data estaríamos mucho, mucho más avanzados. Pero no solo basta con tener muchos datos, hay que darle criterios de clasificación a la red y dedicarle muchas horas hasta obtener una red que hace muy bien la tarea para la que se diseñó.

Un saludo
Speaker Trading
http://speakertrading.wordpress.com/" onclick="window.open(this.href);return false;
Rango Starr
Mensajes: 3776
Registrado: 22 Dic 2014 10:49

Re: Aplicación de Deep Learning a la inversión

Mensaje por Rango Starr »

...

si lo que dices es totalmente cierto y estoy de acuerdo.... al final son tus manos las que guian el proceso, de forma que el , lo único que hace es "ir muy rápido", en el proceso de búsqueda..... aunque es muy ciego y al final solo se consigue por velocidad de ejecución..... (vamos te validara 1 de cada 100000 sistemas)....

de hecho es mejor programar unas reglas coherentes, y luego validarla mediante el programa. Ahi, si que es eficiente.... en la mejora de tu conocimiento.... (de hecho una mejora genética de un sistema propio es mas rápida por machine learning)...

Saludos!

Pd.- Hace tiempo que conozco tu pagina.... muy interesante por cierto.

Lastima que no sea la santísima trinidad..... Soy uno, y finito.
bugler1
Mensajes: 876
Registrado: 04 Dic 2013 08:56

Re: Aplicación de Deep Learning a la inversión

Mensaje por bugler1 »

Buenas. Hasta que llegó el deep learning los criterios del que programaba un algoritmo de machine learning eran fundamentales.

Con deep learning el criterio se reduce a la forma de representar los datos, que por lo que he visto se hace el logaritmo del precio de hoy partido por el de ayer: ln (p1/p0) y esa información se le aplica a una red (la candidata número uno es una red recurrente del tipo lstm) y (y este es el gran y) se tiene suficientes datos y se sabe programar la red neuronal (número de neuronas, capas, learning rate, regularización, etc) entonces dada una secuencia de precios a la red esta "alucina" o predice la secuencia futura de precios más probable.

Por poner un ejemplo el que enseña a una red neuronal a traducir del inglés al chino no tiene porque saber ni una sola palabra de chino pero si tiene que saber entrenar una red con los ojos cerrados.

Una vez se tienen los precios como he dicho (que debería ser cosa de días) lo suyo sería pasarselo a un experto en inteligencia artificial para que configurase la red. Yo tengo muchisimas dudas sobre el detalle de como alimentar los datos a la red así que me tocará hacer pruebas.
Como no conozco a ese experto me toca pelearme con yahoo para conseguir los datos, transformarlos y entrenar la red neuronal.

Cuando llegue el momento de entrenar la red mi ordenador se quedará corto de capacidad y tendré que pagar los servicios de amazon (aws) con tensorflow.

Mucho curro por delante a ver si saco algo de esto.

Saludos.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!
Responder

Volver a “Sistemas de Trading”