#1 17-02-13 21:42

Karim
Miembro
Calificacion :   

Programación Genética

Hola Muchachos,

Llevo un tiempo creando un sistema de trading algoritmico, y quisiera compartir un poco de lo que hago con la comunidad.

Creen que la programación genética sea práctica para determinar funciones que en función del tiempo logren determinar el precio de cierre de una acción? o lo menos una variación positiva/negativa?

> Articulo en wikipedia: http://en.wikipedia.org/wiki/Genetic_programming (lamentablemente el artículo en español no dispone de mucha información)

Por ejemplo mi análisis para el caso de ENTEL:

http://oi47.tinypic.com/oirfh3.jpg

Para el caso de ENTEL la población de predictores estimo funciones trigonométricas ascendentes (hay otros papeles que he encontrado funciones históricas/canales/ondas y un largo etc)

(Ojo que está todo normalizado)

Bueno, decodificando la función y aplicando la función de tiempo, es posible obtener estos precios de cierre para la semana:

Lunes: 9833,5752
Martes: 9838,665
Miercoles: 9843,408
Jueves: 9847,8042
Viernes: 9851,8536

Bueno eso, que piensan?

Un saludo.

Desconectado

#2 18-02-13 00:52

get free
Miembro
Calificacion :   174 

Re: Programación Genética

Se han dedicado memorias de título completas a este tema. Algoritmos genéticos, redes neuronales, árboles de decicion, regresión lineal y un largo etc. de tecnicas de IA para predecir movimientos bursatiles.

Es perfectamente realizable, pero depende cómo se enfrente el problema.
Tratar de predecir movimientos diarios no da buenos resultados. Hay mucho caos en las funciones de precios para que eso resulte bien. Y de todas maneras no tiene mucha utilidad práctica hacerlo de esa forma porque no vas a estar comprando y vendiendo a cada rato según si al siguiente dia vaya a subir o bajar una acción.

En mi experiencia, lo que resulta mejor es reducir el problema a dos deciciones binarias:
1. Comprar o no comprar
2. Vender o no vender

Es decir, dos metodos separados, uno que te da señales de entrada y otro señales de salida.


Existen 10 clases de traders: los que entienden binario y los que no.

Desconectado

#3 18-02-13 08:04

Fernando
Miembro
Calificacion :   81 

Re: Programación Genética

Solo lo había leído aquí en el foro, pero no investigué más allá. Pienso que buscar predecir los precios no es viable, los humanos insistimos en ello, pero somos realmente malos haciéndolo, por eso el AT no predice, si no que sigue el mercado y da pautas para reaccionar frente a distintos comportamientos del precio. Creo que el real aporte, si es que se puede hacer, es lo que menciona K9 en un post:

K9 escribió:

3-Algoritmos Geneticos (GA's):
La idea de esto es bien radical y genial.  La idea es darle ciertos datos basicos (o muy basicos) al sistema, para sus entradas, salidas y stops. Lo que hace esto es ir generando algoritmos (formulas) y viendo sus rendimientos. Aca viene lo interesante: solo guarda las mejores y las mezcla (reproduce) entre ellas, descartando las menos viables....SI EXACTO, SIGUE EL MODELO DE LA EVOLUCION GENETICA. Tengo entendido (aun no he jugado con ellos) que generan tremendos resultados, sin caer el el curve fitting. AMIBROKER ( que es como el metastock, pero un trillon de veces mejor y mas estable) en su ultima version incorpora optimizaciones basadas en GA's. Es impresionante ese software (ojo que en su version full maneja tambien los sistemas de simulacion que describi mas arriba, a un nivel mas basico que el tradesim, con el cual se acopla tambien)

Ya que vas prueba que el sistema te diga lo que dice get free... señal de compra y venta y que eso vaya mejorando vía algoritmo genético. Interesante lo que estas haciendo de todas formas.


“El éxito no es para los que solamente piensan que pueden hacer algo, sino para quienes, además de pensarlo, lo hacen”

Desconectado

#4 18-02-13 08:05

Fernando
Miembro
Calificacion :   81 

Re: Programación Genética


“El éxito no es para los que solamente piensan que pueden hacer algo, sino para quienes, además de pensarlo, lo hacen”

Desconectado

#5 18-02-13 08:12

administrador
Administrador
Calificacion :   126 

Re: Programación Genética

Si pero no....aquí hay un temazo...digamos que yo, luego de sacar 100 años de data llego (vía estos animalitos) a un algoritmo  que me dice que este o este otro camino es el mejor y que en 20 años debiera rentar la raja.......emmmm.....y sí lo hace....me sirve? digámoslo...nosotros queremos las lucas ahora....no nos sirve el algoritmo que busca el mejor resultado en un periodo de tiempo que es muy largo....aquí la gente si no gana plata en un año se va, aunque el año sea plena crisis...así es el negocio...un animalito de I.A te puede dar una ventaja estadística importante que se va a manifestar, usualmente, en el largo plazo....bueno....hacer 1.000 trades para que en el largo plazo salga ganando no va a entusiasmar a nadie aquí....lo que se quiere (implicito en las ideas que se vierten y los deseos que se comparten) aquí es mucho más que eso....mucho...muuuuucho....no siempre se logra pero todos apuntan alto.


Cada segundo comprado es un riesgo...debe valer la pena

Desconectado

#6 18-02-13 10:01

get free
Miembro
Calificacion :   174 

Re: Programación Genética

administrador escribió:

Si pero no....aquí hay un temazo...digamos que yo, luego de sacar 100 años de data llego (vía estos animalitos) a un algoritmo  que me dice que este o este otro camino es el mejor y que en 20 años debiera rentar la raja.......emmmm.....y sí lo hace....me sirve? digámoslo...nosotros queremos las lucas ahora....no nos sirve el algoritmo que busca el mejor resultado en un periodo de tiempo que es muy largo....aquí la gente si no gana plata en un año se va, aunque el año sea plena crisis...así es el negocio...un animalito de I.A te puede dar una ventaja estadística importante que se va a manifestar, usualmente, en el largo plazo....bueno....hacer 1.000 trades para que en el largo plazo salga ganando no va a entusiasmar a nadie aquí....lo que se quiere (implicito en las ideas que se vierten y los deseos que se comparten) aquí es mucho más que eso....mucho...muuuuucho....no siempre se logra pero todos apuntan alto.

Los sistemas de reglas analiticas del analisis tecnico, como los que muchos usan en este foro, tambien son inteligencia artificial (en IA a eso se les denomina "sistemas expertos").
Aprendizaje Automático vs Sistemas Expertos, he ahí la cuestión. Ese debate tiene decadas de historia.
Las tácnicas de aprendisaje automático son una especie de via de solución rápida que no requiere entender el problema que se busca solucionar.
Puedes pasarte años estudiando y leyendo libros y dar con un sistema de trading (sistema experto) muy bueno, o tambien puedes aplicar aprendisaje automático y no leerte ni un solo libro de AT. Qué resulta mejor? Alguien tiene datos duros para comparar?


Existen 10 clases de traders: los que entienden binario y los que no.

Desconectado

#7 18-02-13 10:28

Karim
Miembro
Calificacion :   

Re: Programación Genética

get free escribió:
administrador escribió:

Si pero no....aquí hay un temazo...digamos que yo, luego de sacar 100 años de data llego (vía estos animalitos) a un algoritmo  que me dice que este o este otro camino es el mejor y que en 20 años debiera rentar la raja.......emmmm.....y sí lo hace....me sirve? digámoslo...nosotros queremos las lucas ahora....no nos sirve el algoritmo que busca el mejor resultado en un periodo de tiempo que es muy largo....aquí la gente si no gana plata en un año se va, aunque el año sea plena crisis...así es el negocio...un animalito de I.A te puede dar una ventaja estadística importante que se va a manifestar, usualmente, en el largo plazo....bueno....hacer 1.000 trades para que en el largo plazo salga ganando no va a entusiasmar a nadie aquí....lo que se quiere (implicito en las ideas que se vierten y los deseos que se comparten) aquí es mucho más que eso....mucho...muuuuucho....no siempre se logra pero todos apuntan alto.

Los sistemas de reglas analiticas del analisis tecnico, como los que muchos usan en este foro, tambien son inteligencia artificial (en IA a eso se les denomina "sistemas expertos").
Aprendizaje Automático vs Sistemas Expertos, he ahí la cuestión. Ese debate tiene decadas de historia.
Las tácnicas de aprendisaje automático son una especie de via de solución rápida que no requiere entender el problema que se busca solucionar.
Puedes pasarte años estudiando y leyendo libros y dar con un sistema de trading (sistema experto) muy bueno, o tambien puedes aplicar aprendisaje automático y no leerte ni un solo libro de AT. Qué resulta mejor? Alguien tiene datos duros para comparar?

Ese es el tema, juntando ambos mundos es posible optimizar un sistema experto (reglas de trading) utilizando una metodología de aprendizaje automático, y esto es exactamente en lo que llevo trabajando ya hace un par de años...
El problema del aprendizaje automático es que se tiende a crear una caja negra, mientras que por otro lado el AT es bastante comprensivo, en el camino medio no está la panacea, pero creo que se obtienen mejores resultados.

Desconectado

#8 18-02-13 10:43

administrador
Administrador
Calificacion :   126 

Re: Programación Genética

Es que no es igual...la "caja negra" de la que hablan es un set de reglas, como se supone que es cualquier...pero no es lo que se hace aquí...vean...nadie aplicaba ese set de reglas mientras las cosas se caían a pedazos...el truco del ser humano es adapartarse...el truco de la máquina es el plan firme...a menos que quieras aplicar distintas IA a distintos periodos con los que le metes un elemento humano en el cambio de reglas....bueno...es tema....interesante...


Cada segundo comprado es un riesgo...debe valer la pena

Desconectado

#9 18-02-13 13:24

Karim
Miembro
Calificacion :   

Re: Programación Genética

Talvez no me explique bien, pero el tema es el siguiente. Hoy en día existen muchas técnicas adaptativas vs tiempo (es decir por cada nueva transacción se reinicia un periodo de entrenamiento al modelo) y se obtiene un nuevo modelo responsivo al nuevo escenario, este es el caso de los LCS y XCS los denominados clasificadores en tiempo real. Como tambien actualmente hay esquemas de Máquinas Vectores de Soporte y Redes Neuronales adaptativas que se usan principalmente en el tema de la salud (Estado del paciente) como en temas de marketing directo al visitar o clasificar visitas en sitios web (como en el caso de las ofertas de Amazon).
El problema radica (hoy en día) que las soluciones obtenidas por estos modelos adaptativos no son de fácil entendimiento por humanos, e incluso porque me ha tocado ver, incluyen reglas que no son aplicables (reglas basura) que dificultan la lectura de la estrategia de inversión, por lo que son simplemente cajas negras adaptativas pero que no resisten análisis o modificación (estamos hablando de reglas con sobre 500.000 sentencias de escenarios posibles y decisiones interlazadas).

Desconectado

#10 18-02-13 14:39

albert
Expulsado
Calificacion :   38 

Re: Programación Genética

Hay dos problemas epistemológicos.

1.- Sistemas expertos de trading, sistemas de redes neuronales o sistemas genéticos, análisis técnico etc  ... todos tienen la misma potencial falla: se usan los datos del pasado para calibrar/aprender/optimizar los sistemas, desechando los menos rentables y sólo seleccionando los de mejor rendimiento.
Se crea una falsa ilusión de que con eso estaremos seguros, puesto que se asume que los patrones de comportamiento de los precios en el pasado se repetirán en el futuro, y basta que eso no suceda para que el sistema en cuestión falle grotescamente.

La calibración/optimización adaptativa de los sistemas, aunque como su nombre lo dice se va adaptando a lo largo del tiempo, tiene la misma falla: utiliza datos del pasado para intentar predecir el futuro.


2.- Suponiendo que no existiera el problema nº1, y suponiendo que hipotéticamente alguien "descubriera" un sistema que permita predecir los retornos futuros, en poco tiempo el sistema se masificaría y se autoaniquilaría... a menos que el autor del sistema guardara el secreto bajo 7 llaves. Es como si alguien descubriera la fórmula para acertar los números del loto (ejemplo ficticio), basta que esa fórmula se masifique, y llegaría un tiempo en que todo el mundo se ganaría el loto y el
premio ya no serían 200 millones sino que 100 pesos, saldría mas caro comprar el boleto ...

Es por eso que cuando sale un libro titulado "el último sistema de trading: cómo hacerse rico en la bolsa", no hay que creer nada. Si el autor de ese libro realmente supiera como hacerse rico en la bolsa, pues aplicaría su método y se haría rico el sólo. Sin embargo el autor necesita ganar plata vendiendo ese libro ...
Nadie que tenga una gallina de los huevos de oro va estar comercializando esa gallina ...


--------------------------------------------------------------------------------------------------------


Después de leer cientos de papers al respecto y haciendo mis propios experimentos puedo decir:

a) intentar predecir el mercado día a día es imposible. No existe ningúna método fiable para predecir los retornos diarios de las acciones (la mejor red neuronal que encontré leyendo los papers era un sistema que tenía fiabilidad del 85% prediciendo los retornos diarios,  y que demoraba cerca de 10-30 horas en el computador para arrojar el resultado, puesto que tenía cerca de 40 inputs).

b) intentar predecir el mercado a largo plazo es en cierta medida posible si aprovechamos cierta info a nuestro favor (efecto small caps, efecto momento-continuador de tendencia, efecto mean reversion - reversión de tendencia, efecto value, efecto earnings growth, etc ). Lo que la mayoría de los usuarios de este foro hace es utilizar el efecto momento, es decir, seguir la tendencia vía analisis técnico. Cuando estamos en una fase "momento" existe una correlación serial positiva de los
retornos
y la hipótesis de los mercados eficientes en ese caso no es válida. Lo mismo sucede cuando estamos en reversión a la media, claro que ahí existe una correlación serial negativa de los retornos.


c) el análisis técnico no hay que "endiosarlo" ni considerarlo como conocimiento científico. Sólo consiste en un conjunto de reglas y métodos empíricos acumulados durante décadas. Las pruebas estadísticas serias hechas sobre el AT están divididas: revisando varios meta-análisis de papers sobre la eficacia del AT, cerca del 50-60% arrojan resultados en favor del AT y el otro 50% arroja que no hay gran diferencia entre AT y la estrategia Buy&Hold.
Los resultados son bien dispares por la siguiente razón:
hay tantos indicadores de análisis técnico, digamos unos 30 (los principales)
hay tantas reglas de compra/venta para cada uno de esos indicadores, digamos unas 5 reglas x cada indicador
hay tantas acciones, bonos o índices  a los cuales aplicar esos indicadores y reglas, digamos unas 50000 acciones en el mundo o unos 200 índices
Tenemos 50000x30x5 = 7,5 millones de combinaciones a probar en acciones, ó, 200x30x5= 30000 combinaciones para probar en índices.

Ahora algo importante, en los papers que arrojan evidencia significativa en favor del AT, hay un inconveniente: el efecto de pagar comisiones en  cada trade, disminuye los resultados e incluso en algunos casos anula casi toda posible ventaja. En un mundo sin comisiones la ventaja sería mayor (existe en el extranjero brokers que ofrecen trades ilimitados de ETF sin comisiones, o en el caso chileno pueden jugar con familias de ffmm sin comision de rescate o usar  un sistema fondo A <--->
fondo E de la AFP  sin comisión de cambio de fondo).

Que salga un trader afirmando "el AT funciona, yo lo he utilizado por 20 años y me hice rico, soy capo" ... es sólo anécdotico. Sería el equivalente a decir "el tarot funciona, ayer una mujer me leyó las cartas y acertó". Por cada trader que ha tenido éxito usando el AT, habrán otro (u otros) que no tuvieron éxito. Y lo del análisis chartista es más subjetivo aún: cada trader ve las figuras que quiere ver, hace las líneas que quiere hacer, etc.


d) El rol del azar en nuestro mundo, y en finanzas
Recomiendo absolutamente el libro  "Fooled Spam Randomness" (confundidos por el azar) del matemático Nassim Taleb, en donde explica claramente la manera en como sobreestimamos nuestras capacidades y subestimamos el rol del azar en nuestras vidas y decisiones.
Un trade orgulloso jamás aceptará eso y se autoconvencerá de que todo trade exitoso es fruto de sus capacidades.

También recomiendo que lean sobre el experimento  de los chimpancés tirando dados (metáforicamente hablando) y que en base a esos dados decidían que acción comprar o vender o que acciones conformarían su portfolio.
El resultado era asomboroso: gran parte de los chimpacés tirando los dados superaban a los más exitosos portfolio managers o más exitosos hegde funds ... Sin embargo la comunidad financiera "endiosa" a los managers más éxitosos creyendo que son genios de las finanzas, y la realidad es otra: el simple efecto azar de tirar los dados en muchos casos supera el rendimiento de esos supuestos genios.

Desconectado

Pie de página

Powered by FluxBB