Presentación forinvest 2013

43
REDES NEURONALES : HERRAMIENTA DE TRADING Javier Oliver Muncharaz http://www.rankia.com/blog/redes-neuronales Valencia, 7 Marzo 2013

description

 

Transcript of Presentación forinvest 2013

Page 1: Presentación forinvest 2013

REDES NEURONALES : HERRAMIENTA DE TRADING

Javier Oliver Muncharaz

http://www.rankia.com/blog/redes-neuronales

Valencia, 7 Marzo 2013

Page 2: Presentación forinvest 2013

• Aplicaciones de las redes neuronales

• Historia de las redes neuronales

•¿Qué son las redes neuronales y cómo funcionan?

• Red Neuronal BackPropagation

• Ejemplo 1: comparativa predicción de volatilidad

del índice IBEX-35 entre modelo econométrico

versus red neuronal BackPropagation

• Ejemplo 2: predicción índice DAX

Page 3: Presentación forinvest 2013

Problemas de Asociación y Reconocimiento

– NETalk (Sejnowski & Rosemberg):

• Reconocimiento de escritura, traducción,…

– Tratamiento de imágenes:

• Ruido o niebla en placas matrículas

Page 4: Presentación forinvest 2013

Inspección visual:

Seguimiento de pupila:

Page 5: Presentación forinvest 2013

Airline Marketing Tactician (AMT):

• Monitoriza y recomienda la reserva de

plazas

Control de robots:

Page 6: Presentación forinvest 2013

ALVINN:

• Conducción de vehículo

Page 7: Presentación forinvest 2013

Problemas de Optimización

– Optimización de rutas:

Aplicaciones en Astronomía/Astrofísica

– Reconocimiento de estrellas/galaxias

– Clasificación espectral y morfológica de

estrellas/galaxias

– Estudios de superficies planetarias

– Estudio del campo magnético interplanetario

– Determinación de parámetros en atmósferas

estelares

Page 8: Presentación forinvest 2013

Aplicaciones en Medicina:

-Análisis de imágenes de resonancias magnéticas, ultrasonido

- Clasificación de pacientes en grupos en función de variables

-Procesamientos de señales, modelado y simulación de

funcionamiento del cerebro.

- Predicción de pronósticos

Ej: clasificación de pacientes con Alzheimer. 92% éxito

frente al análisis discriminante.

Ej: enfermedades oculares. Un médico general detecta

correctamente un 79%, la red neuronal un 87% y se

aproxima a un especialista con un 92%

Page 9: Presentación forinvest 2013
Page 10: Presentación forinvest 2013

APLICACIONES EN FINANZAS

• Ej: análisis datos financieros y contables, sistema antifraude

VISA,…

• OPTIMIZACIÓN: Construcción de carteras de diferentes

activos optimizando el binomio rentabilidad-riesgo utilizando

redes neuronales frente a modelos clásicos de construcción de

carteras (Markowitz).

Ej: Wong, Wang, Goh y Quek (1992) utilizan red neuronal

(fuzzy) para la predicción de rentabilidades de las acciones

mediante ratios financieros de las empresas.

Ej: Azema-Barac, Trelaven (1993) utilizan como variables

para la red tanto ratios financieros del análisis fundamental como

indicadores del análisis técnicos.

Page 11: Presentación forinvest 2013

• CLASIFICACIÓN: Estudio de la probabilidad de riesgo

en la concesión de créditos y la probabilidad de quiebra de

una empresa.

Ej: Marose (1990) es el primero en estudiar la clasificación

de clientes para concesión de crédito para el Chase Manhattan

Bank.

Ej: Martín del Brío y Serrano (1995) estudian el riesgo de

insolvencia de empresas españolas.

Page 12: Presentación forinvest 2013

• PREDICCIÓN: Es el principal objetivo del uso de la

redes neuronales en las finanzas.

Ej: White (1988) (pionero) utiliza serie de precios y

volúmenes de IBM obteniendo mejores resultados respecto

modelos estadísticos y econométricos.

Ej: Hawley, Jhonson & Raina (1990) y Parisi, Parisi

(2006) estudian mercados con mayor volatilidad (mercados

asiáticos)

Ej: Parisi, Parisi & Guerrero (2003) predicción de las

variaciones semanales del índice IPSA (Chile). Con una

estrategia activa mediante redes neuronales obtienen más

ganancias respecto a otras estrategias más pasivas.

Page 13: Presentación forinvest 2013

Ej: Zhang, Jiang, & Li (2004) utilizan una red neuronal

backpropagation para obtener señales de compra/venta

realizando predicción de tendencias futuras en el mercado

de valores.

Ej: Lamothe y García (2004) Estudian la volatilidad

implícita de las opciones sobre el índice Ibex-35 llegando a

la conclusión que el modelo de valoración de opciones

Black-Scholes no es totalmente eficiente obteniéndose

mejores resultados con la implementación de las redes.

Ej: Hamid y Habid (2005) también estudian la valoración

de opciones mediante redes. Conclusión: La aplicación de

las redes presentan muy buenas perspectivas tanto en la

valoración del precio de las opciones como en la

volatilidad.

Page 14: Presentación forinvest 2013

• Alan Turing (1936) estudia el cerebro como una forma de ver el

mundo de la computación

• Warren McCulloch ,Walter Pitts, Donald Hebb plantean las

primeras teorías de la computación neuronal.

• Frank Rosenblatt (1957) desarrolla la primera red neuronal, el

Perceptrón

• Widrow y Hoff desarrollan el modelo Adaline

• Autores como Grossberg, Minsky, Kohonen,

Hopfield,..también construyeron otro tipo de redes neuronales.

Page 15: Presentación forinvest 2013

• Desde 1985 comenzarón a consolidarse los congresos más

importantes como Neuronal Networks for Computing, la

Neural Information Processing Systems

• Revistas especializadas como Neural Networks,

Transactions on Neural Networks

•El Departamento de Defensa de los Estados Unidos, la

Sociedad Europea de Redes Neuronales son algunos de las

instituciones que han impulsado la investigación sobre redes

neuronales.

Page 16: Presentación forinvest 2013

• Las redes Neuronales Artificiales intentan simular el

comportamiento de las neuronas biológicas en el proceso de

aprendizaje.

• Un sistema de computación

compuesto por elementos

simples (neuronas) que se

encuentran interconectadas que

procesan la información de forma

dinámica como respuesta a

entradas externas

Page 17: Presentación forinvest 2013

Estructura neurona biológica y artificial

Page 18: Presentación forinvest 2013

• Estructura de una red neuronal: Neuronas de entrada,

intermedias y de salida.

Page 19: Presentación forinvest 2013

• Cada neurona tiene un estado de activación asociado

• Existe una función transferencia o de salida que modifica

el estado de la neurona y lo transforma en una señal de salida

• Las señales se transmiten mediante las conexiones sinápticas

mediante ponderaciones

• La agregación combinada de todas las entradas a una neurona

constituyen la entrada total neta de información o regla de

propagación , es decir, el cálculo del valor neto que realiza dicha

neurona con las diferentes señales que han entrado en la misma.

Page 20: Presentación forinvest 2013

• La función de activación estimará el nuevo estado de activación

de una neurona en un momento posterior teniendo en

cuenta el estado de activación anterior que tenía y el valor

de la entrada del valor neto calculado .

Neurona 1

Neurona 2

Neurona n

.

.

w j1

w jn

w j2

Netj

F(a j(t),Netj)=

a j(t+1)f j(a j(t+1)

=y j

y j

Neurona j

Page 21: Presentación forinvest 2013

• Cuando la regla de propagación o supera un cierto número

umbral Φ entonces se activa la neurona y el resultado pasa a la

función de transferencia que dará una señal de salida .

• Existen cuatro tipos básicos de funciones de transferencia o

activación: tipo escalón, lineal, lineal-mixta y sigmoidal.

• tipo escalón:

Se utiliza este tipo de función cuando el estado de activación de

la neurona es binario (0,1).

Por ejemplo para el caso de umbral fuera cero tendríamos la

siguiente función escalón:

Page 22: Presentación forinvest 2013

FUNCIÓN DE ACTIVACIÓN TIPO ESCALÓN

Page 23: Presentación forinvest 2013

• Función de activación tipo lineal: puede obtener cualquier

número real. En este caso el estado de activación coincide con el

valor neto de entrada menos el umbral.

Page 24: Presentación forinvest 2013

• Función de activación tipo lieal-mixta: variante de la lineal.

Los valores del estado de activación de una neurona están fijados

dentro de un intervalo de números reales.

Page 25: Presentación forinvest 2013

•Función de activación sigmoidal: función continua dentro del

intervalo del eje real y con valor de salida continuo entre (0,1).

Page 26: Presentación forinvest 2013

• APRENDIZAJE

•El proceso de aprendizaje viene determinado por la variación de

los estados de activación y éstos van modificándose mediante la

variación de los pesos de las neuronas.

• Durante el proceso de aprendizaje los cambios en los pesos

provocan creación, modificación o destrucción de conexiones

entre neuronas. Se creará un conexión cuando el peso sea mayor

que cero y se destruirá cuando sea cero.

• El proceso de aprendizaje finaliza cuando los pesos de cada

conexión de cada neurona permanecen constantes sin variación.

• Por tanto, una de las claves importantes en el aprendizaje es el

criterio elegido para la modificación de los pesos.

Page 27: Presentación forinvest 2013

• Clasificación mecanismos aprendizaje:

• Aprendizaje supervisado y no supervisado: El primero se basa

en la existencia de un agente externo (supervisor) que controla el

proceso de aprendizaje.

• Aprendizaje online y offline: online si la red puede aprender de

forma continua a medida que recibe nueva información. Los

pesos se modifican constantemente de forma dinámica. No se

distingue fase entrenamiento y de operatividad. En la red offline

se distingue la fase entrenamiento de la red con su conjunto de

datos y la fase de operatividad que utilizará otro conjunto de

datos para realizar test o pruebas sobre el aprendizaje. En este

caso los pesos quedan fijados definitivamente en la fase de

entrenamiento.

Page 28: Presentación forinvest 2013

• Con carácter general la variación de los pesos se produce a

partir del peso existente en un momento anterior.

• Aprendizaje supervisado: el agente externo controla las

respuestas que debe dar la RNA a partir de los datos de entrada

dados. Este tipo de entrenamiento puede realizarse de tres formas

diferentes.

• El primero , aprendizaje por corrección de error, se basa en el

ajuste de los pesos en función de la diferencia entre los valores

obtenidos por la red y los que se deseaban obtener (error).

• Aprendizaje por refuerzo: el supervisor indica a la RNA una

señal de refuerzo +1 si la salida obtenida es satisfactoria o -1

penalizándola en caso contrario.

• Aprendizaje estocástico: cambios aleatorios en los pesos en

función de una distribución determinada por el supervisor.

Page 29: Presentación forinvest 2013

• Aprendizaje no supervisado: es autosupervisado. La red no

tiene referencia si las salidas que va generando son o no

correctas. En este caso, la RNA trata de encontrar característica

y correlaciones entre los datos de entrada. Se utilizan para

determinar categorías (clustering) o mapeo de características

(features mapping).

• Existen dos tipos de aprendizaje autosupervisado:

• Aprendizaje Hebbiano: el ajuste de las neuronas viene dado por

la correlación entre los valores de activación (salidas) de las dos

neuronas conectadas.

• Aprendizaje competitivo y cooperativo: cuando las neuronas

compiten tendrán conexiones recurrentes de activación y tendrán

conexiones de inhibición si son próximas. Cuando sean neuronas

cooperativas las conexiones serán sólo de activación.

Page 30: Presentación forinvest 2013

• La red neuronal Backpropagation propuesta por Rumelhart,

Hinton y Williams en 1986.

• Utiliza el aprendizaje supervisado (por un agente externo) y se

basa en la regla delta generalizada (basado en la regla delta de

Widrow en 1960) o propagación del error hacia atrás.

• El algoritmo funciona en dos fases. En la primera, la

información fluye por las neuronas por la capa de entrada

generando una asociación entre los inputs-outputs. En la segunda

fase, la información fluye por las neuronas por el resto de capas

comparando la salida de cada neurona con la que se desea

obtener, calculando el error cometido. Posteriormente estos

errores se transmiten hacia atrás (capas anteriores) desde las

neuronas de la capa de salida de la red. Así se reajustan los pesos

de cada neurona y se vuelve a presentar la información

reduciéndose el error.

Page 31: Presentación forinvest 2013

• Aprendizaje de la delta generalizada:

• variación del peso entre neurona i y j cuando se

activa

• : es el factor de aprendizaje (0,1) velocidad de aprendizaje.

• : salida neurona i bajo el patrón de aprendizaje p.

• : delta. Diferencia entre la salida deseada y la obtenida. Para

el caso de la red BP, la delta se define además en función de la

entrada neta que recibe la neurona j.

• Cuando la neurona no esté en la capa de salida el error

cometido será función de los errores cometidos por las neuronas

que reciban como entradas a ésta (propagación del error hacia

atrás).

El parámetro k representa todas las neuronas conectadas a la

salida de la neurona j.

Page 32: Presentación forinvest 2013

• Esto implica que error de aprendizaje de una neurona será la

suma ponderada por los pesos de los errores de las neuronas que

están conectadas a la salida de ésta.

• El parámetro la velocidad de aprendizaje. A mayor tasa

mayores son los incrementos de los pesos para cada iteración y

más rápido es el aprendizaje. Esto puede provocar oscilaciones y

empeorar los resultados.

• Rumelhart, Hinton y Williams (1986) proponen incoporar un

parámetro (momento o beta) en la variación de los pesos de las

neuronas.

• siendo el momento una constante . Determina el efecto en t+1

del cambio de pesos en t. Se consigue mayor convergencia con

menos iteraciones.

Page 33: Presentación forinvest 2013

• Estructura red BP

• Este tipo de red presenta una capa de entrada con n neuronas y

una capa de salida con m neuronas. Además requiere de, al

menos, una capa intermedia(oculta).

• Las conexiones son hacia adelante (feedforward).

Page 34: Presentación forinvest 2013

• Múltiples estudios sobre la volatilidad y su comparativa con

Redes neuronales . Engle (1982 y 1987), French y Schwert

(1987), Bollerslev (1986), Peiró (1992), Aragó &Izquierdo

(2004).

• Modelización de la volatilidad mediante modelos

econométricos de la familia ARCH/GARCH. Los más

extendidos son el GARCH y el EGARCH.

• GARCH es adecuado si se espera una prima de riesgo tal

que el rendimiento esperado será mayor cuando aumente la

volatilidad.

• EGARCH es apto para asimetrías en la distribución de la

volatilidad.

Page 35: Presentación forinvest 2013

• Ejemplo de estudio: cierres diarios Ibex-35 03/01/2000-

14/07/2010 (2658 observaciones)

• Se estudió y estimó tanto las rentabilidades diarias como

la volatilidad diaria del índice mediante modelo

ARMA(1,1)-GARCH(4,2)-M, incluyendo el volumen con un

retardo. ( 4 residuos, 2 ret. Varianza)

• Inputs de la red: rentabilidad índice con un retardo, con esto

la red ya aprende las relaciones entre rt y rt(-1). (en el modelo

ARMA(1,1), dos retardos de la varianza y el volumen

retardado un periodo.

Page 36: Presentación forinvest 2013

• Se entrenó la red neuronal Backpropagation con 2 capas

ocultas, 256 neuronas.

• El ratio de aprendizaje se estableció para las capas

ocultas un rango (0,1;0,4). Para la capa de salida (0,1;0,2).

• Para el momentum, las capas ocultas (0,1;0,3) y para la de

salida (0,1;0,2).

• Para medir la eficiencia y poder comparar entre los dos

modelos se calcularon 5 tipos de error de predicción

MAPE (Mean Absolute Percentage Error), MAE (Mean

Absolute Error), MSE (Mean Squared Error), MPE (Mean

Percentage Error) y RMSE (Root Mean Squared Error)

Page 37: Presentación forinvest 2013

• Cuadro resumen resultados para la rentabilidad

ARMA(1,1)-GARCH-M(4,2)

RED NEURONAL CRIT. AVERAGE

ABSOLUTE ERROR

RED NEURONAL CRIT. MEAN

SQUARED ERROR

RED NEURONAL CRIT. ROOT MEAN SQUARED ERROR

MAPE 1,098356625 1,142042409 1,071136 1,148959

MAE 0,010810 0,010792093 0,010802 0,010844

MSE 0,000238249 0,000237482 0,000236805 0,000237048

MPE -0,971461761 -0,99147652 -0,99804707 -1,024735411

RMSE 0,015435317 0,015410446 0,015388459 0,015396354

• las RNA obtienen similares resultados

• No hay mejora sustancial.

• El tiempo de entrenamiento de las redes escaso (25-40

segundos)

Page 38: Presentación forinvest 2013

• Cuadro resumen resultados para la volatilidad

ARMA(1,1)-GARCH-M(4,2)

RED NEURONAL CRIT. AVERAGE

ABSOLUTE ERROR

RED NEURONAL CRIT. MEAN

SQUARED ERROR

RED NEURONAL CRIT. ROOT MEAN SQUARED ERROR

MAPE 2,046341064 0,188839984 0,148348765 0,175423745

MAE 0,000234 0,0000379 0,000037 0,000038

MSE 0,000000104 0,000000006 0,0000000196 0,0000000121

MPE 1,890341047 0,104597277 -0,006030978 0,089807449

RMSE 0,000323262 0,0000800898 0,000140036 0,000110112

•En este caso sí existen algunas pequeñas diferencias para los

3 criterios de selección para la red BP a favor del primer

criterio (red con mayor entrenamiento).

• Son claras las ventajas de cualquiera de las 3 RNA respecto al

modelo econométrico.

Page 39: Presentación forinvest 2013
Page 40: Presentación forinvest 2013

ESTRATEGIA I : Se realiza una predicción de la apertura y

cierre de la sesión siguiente. El precio de cierre estimado se

ajusta teniendo en cuenta el error que comete la red en la

estimación de la apertura.

Operativa: si este “precio de cierre estimado y

corregido” (Cec) > Apertura Venta a la apertura. Cierre de

posición a Cec o precio de cierre.

Si Apertura<Cec entonces compramos a la apertura y

cerramos posición a Cec o al precio de cierre.

ESTRATEGIA II : El ajuste se realiza teniendo en cuenta el

error que comete esta red en la predicción del cierre, centro y

radio en la sesión anterior y el error en la predicción de la

apertura de la sesión actual. Sumamos estos cuatro errores de

predicción y dividimos entre cuatro, obteniendo así un “error

medio”, que es el que aplicaremos al precio de cierre estimado

por la red. La operativa es idéntica a la estrategia I

Page 41: Presentación forinvest 2013

TOTAL MES

I II

may-12 48.5 319

jun-12 -206 -335.75

jul-12 376 369.75

ago-12 446 386.75

sep-12 181.5 336.75

oct-12 285.5 147.75

nov-12 -8.5 258.75

TOTAL 1123 1483

02/05/2012 6822 8 6802 28

03/05/2012 6694 53 6621.5 74

04/05/2012 6669 2 6653.25 13.75

07/05/2012 6407 3 6432.25 28.25

08/05/2012 6548 25.5 6580.75 7.25

09/05/2012 6549 -1 6376.25 1

10/05/2012NO OPERA NO OPERA

11/05/2012 6442 -67.5 6439.25 -67.5

14/05/2012 6536 -80.5 6565.5 -80.5

15/05/2012 6530 -89 6473.25 10.25

16/05/2012 6361 34 6443.25 116.25

17/05/2012 6454 -139.5 6374.75 25.75

18/05/2012 6294 69 6372.75 2

21/05/2012NO OPERA NO OPERA

22/05/2012 6406 31.5 6377.25 2.75

23/05/2012NO OPERA NO OPERA

24/05/2012 6346 4 6364.5 -52.5

25/05/2012 6259 55 6235 55

28/05/2012 6418 18 6373.75 26.25

29/05/2012 6342 30.5 6344.25 28.25

30/05/2012 6267 112 6258.75 120.25

31/05/2012 6339 -19.5 6365.25 -19.5

01/06/2012 6315 -216 6346.25 -216

04/06/2012 5997 17 5854.75 -13

05/06/2012 6082 -13.5 6206.5 -13.5

06/06/2012 6018 10.5 5901 -106

07/06/2012 6163 17 6024 10

08/06/2012 6103 8.5 6163 68.5

127 Operaciones

Page 42: Presentación forinvest 2013

• Definición de los datos de entrada

(Selección de variables ratios, indicadores,…)

• Definición de la topología de la red

(estructura de la red, número neuronas, capas ,

conexiones,..)

• Definición de la función de activación

(función sigmoidal y lineal principalmente. Función escalón si

hay variables binarias)

• Definición del criterio de aprendizaje

(pesos, mecanismo de paro de aprendizaje EMA,…)

• Definición de los datos de salida

Page 43: Presentación forinvest 2013

NeuroShell Trader www.neuroshell.com

NeuroSolutions www.nd.com

www.alyuda.com

www.wave59.com

www.biocompsystems.com/

www.nnea.net

www.optimaltrader.net

Cortex.snoweron.com/forex_nn.htm

www.ozgrid.com/Services/neural-network-software.htm

Stuttgart Neural Network Simulator

www.ra.cs.uni-tuebingen.de/SNNS/

R-project