Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistema de Inversion en Bolsa A Corto Plazo PDF
Sistema de Inversion en Bolsa A Corto Plazo PDF
Fdo: Fecha:
Fdo: Fecha:
Fdo: Fecha:
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 2
Sistema de inversin en
bolsa a corto plazo
Proyecto de fin de carrera
Ingeniera Industrial
Escuela Tcnica Superior de Ingeniera (ICAI)
Universidad Pontificia Comillas
RESUMEN
Este proyecto consiste en un sistema que, realizando predicciones de
cotizaciones de acciones de diferentes empresas, ejecuta rdenes de compra y venta
con el objetivo de obtener una inversin rentable.
SUMMARY
Once the main variables are determined, we will study the application of
neural networks for predicting financial time-series. The different possibilities of
modeling with neural networks will be studied, and an appropriated neural network
will be defined. This neural network will be programmed using the network toolbox
of Matlab.
Tabla de contenido
1. Introduccin ............................................................................................................12
La Bolsa ...............................................................................................................14
Acciones ..............................................................................................................15
Estocstico ...........................................................................................................58
Definicin ............................................................................................................67
Introduccin.........................................................................................................78
Programacin.....................................................................................................108
7. Anexos ..................................................................................................................128
Dividendos.........................................................................................................129
8. Bibliografa ...........................................................................................................143
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 9
ndice de grficos
Grfico 1: Grfico lineal de Endesa 14/05/08 (Elaboracin propia con Visual Chart)
....................................................................................................................................27
Grfico 2: Grfico barras de Endesa 14/05/08 (Elaboracin propia con Visual Chart)
....................................................................................................................................28
Grfico 3: Grfico candelabro de Endesa 14/05/08 (Elaboracin propia con Visual
Chart)..........................................................................................................................29
Grfico 4: Porcentaje de periodos en los que se dispone de informacin ..................32
Grfico 5: Ejemplo1 ADX (Fuente: www.stockcharts.com) .....................................38
Grfico 6: Ejemplo2 ADX (Fuente: FxStreet) ...........................................................39
Grfico 7: Ejemplo3 ADX en Acerinox (Elaboracin propia con Visual Chart) .....41
Grfico 8: Ejemplo1 MACD (Elaboracin propia con Visual Chart) .......................44
Grfico 9: Ejemplo2 MACD en ACS (Elaboracin propia con Visual Chart) .........46
Grfico 10: Ejemplo1 OBV (Fuente TradeStation) ...................................................48
Grfico 11: Ejemplo2 OBV (Elaboracin propia con Visual Chart) ........................50
Grfico 12: Ejemplo1 RSI (Fuente StockCharts) .......................................................53
Grfico 13: Ejemplo2 RSI (Elaboracin propia con Visual Chart)...........................54
Grfico 14: Ejemplo CCI (Elaboracin propia con Visual Chart) ............................58
Grfico 15: Ejemplo Estocstico en Unin Fenosa (Elaboracin propia con Visual
Chart)..........................................................................................................................60
Grfico 16: Prueba para determinar el n de neuronas de la primera capa oculta ......96
Grfico 17: Prueba para determinar el n de neuronas de la segunda capa oculta .....97
Grfico 18: Errores medios por periodo ...................................................................114
Grfico 19: Comparacin del error obtenido con el error de la prediccin ingenua 115
Grfico 20: Porcentajes de acierto en las empresas estudiadas ................................117
Grfico 21: % de aciertos de la prediccin del sistema en comparacin con la
prediccin ingenua ....................................................................................................118
Grfico 22: n de posiciones tomadas en cada una de las empresas .........................119
Grfico 23: Evolucin del dinero invertido ..............................................................121
Grfico 24: Evolucin del beneficio acumulado ......................................................122
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 10
Grfico 25: Comparacin de la variacin del ndice IBEX-35 con el dinero invertido
..................................................................................................................................123
Grfico 26: Comisiones de los Brokers Online ........................................................132
ndice de Tablas
Tabla 1: Empresas analizadas .....................................................................................26
Tabla 2: Lista de entradas al modelo *Ver apartados: Indicadores Burstiles y
Estudio de las variaciones de los indicadores respecto al precio ..............................34
Tabla 3: Funciones de transferencia para redes neuronales........................................69
Tabla 4: Tamao de los vectores de entrenamiento....................................................89
Tabla 5: Parmetros de la red neuronal escogida .......................................................98
Tabla 6: Brokers online que operan con Visual Chart ..............................................131
ndice de Ilustraciones
Ilustracin 1: Estructura bsica del modelo ................................................................24
Ilustracin 2: 20 redes neuronales ..............................................................................25
Ilustracin 3: Grfico candelabro ...............................................................................28
Ilustracin 4: Estructura de los datos histricos necesarios........................................30
Ilustracin 5: Clculo del Directional Movement ......................................................36
Ilustracin 6: Funcin ADX .......................................................................................40
Ilustracin 7: Ejemplo del clculo de la Media Exponencial .....................................43
Ilustracin 8: Funcin MACD ....................................................................................45
Ilustracin 9: Funcin OBV........................................................................................49
Ilustracin 10: Funcin RSI ........................................................................................54
Ilustracin 11: Funcin CCI .......................................................................................57
Ilustracin 12: Funcin ESTOCASTICO ...................................................................60
Ilustracin 13: Funcin divergence ............................................................................62
Ilustracin 14: Funcin Crea_Entradas ......................................................................64
Ilustracin 15. Funcin calcula_entradas ...................................................................65
Ilustracin 16: Neurona ..............................................................................................68
Ilustracin 17: Ejemplo red neuronal .........................................................................70
Ilustracin 18: Red de propagacin hacia delante ......................................................72
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 11
1. Introduccin
La Bolsa
La bolsa es un mercado, es decir, un lugar en el cual se ponen en contacto los
demandantes y los ofertantes de un bien para comercializarlo. En el caso de la Bolsa,
el bien son activos financieros (ttulos que de alguna manera representan dinero
invertido en una sociedad: acciones, bonos, obligaciones, etc.). Los participantes en
el mercado de la Bolsa son:
Acciones
El tipo de inversin que se plantea en este proyecto es la inversin en acciones.
Una accin es un ttulo representativo del valor de una de las fracciones iguales en
las que se divide el capital social de una empresa (declarada como sociedad
annima).
Analizados los derechos que conlleva ser accionista de una empresa se puede
deducir cuales son las intenciones que llevan a un inversor a comprar acciones, que
pueden ser dos:
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 17
No se puede decir lo mismo de las variaciones del valor de una accin a medio y
a largo plazo, ya que stas dependen de aspectos ms subjetivos (decisiones
estratgicas de empresas, nivel adquisitivo de las personas, rumores, etc.) que son
difciles de modelar matemticamente. Por esta razn el sistema parte de que el
mejor escenario de prediccin de valores burstiles es el corto plazo.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 18
La principal ventaja que tiene invertir en bolsa en corto plazo es que se cuenta
con la posibilidad de aprovechar la elevada volatilidad del mercado (volatilidad que
se pretende predecir). Como desventaja, este tipo de inversin acarrea unos costes de
transaccin (pago de comisiones a intermediarios) muy elevados debido al gran
nmero de operaciones que se realizan. Adems la inversin en bolsa en corto plazo
requiere un seguimiento continuo del mercado (ver [RODR04]).
Cuando se ejecutan rdenes (tanto de compra como de venta) hay que pagar una
comisin al intermediario (broker) que las efecta.
Antes de nombrar los distintos modelos que existen para la prediccin de series
temporales, es necesario identificar las propiedades que tiene una serie temporal que
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 19
represente el valor de una accin a lo largo del tiempo. Este tipo de series son
conocidas como series financieras.
Series financieras
Las principales caractersticas de las series financieras son (ver [CLEM03]):
Son series con elevado nivel de ruido, ya que existe una gran cantidad de
aleatoriedad en las variaciones da a da.
Lo que s es cierto es que muchas de las expectativas que genera el valor de una
accin se deben a la informacin histrica que se conoce de ella. Todos los decisores
disponen de esta informacin, luego como se coment en el apartado anterior, se
puede llegar a modelar la prediccin de una serie financiera considerando que
depende de esta informacin histrica disponible.
A partir de aqu se puede decir que actualmente existen dos vas para tratar de
predecir valores futuros de series financieras (ver [OLME04]):
2. Anlisis de las
entradas al modelo:
2.1 Introduccin
2.2 Obtencin de datos histricos
2.3 Lista de entradas al modelo
2.4 Indicadores burstiles
2.5 Coeficiente de variacin de un indicador respecto al precio de una
jjjjjjaccin
2.6 Rutina de creacin de entradas
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 24
2.1 Introduccin
En esta seccin se van a analizar las entradas al modelo, es decir, las entradas
que va a utilizar la red neuronal para realizar predicciones.
Entradas a el
modelo de Red Prediccin
prediccin Neuronal
Las empresas que se van a analizar en este proyecto son 20 empresas del IBEX-
35 de las que se dispone de informacin burstil intradiaria a travs de la plataforma
Visual Chart. Se ajustar una red neuronal para predecir los valores de las acciones
de cada una de estas empresas. Por lo tanto, el sistema tendr un total de 20 redes
neuronales independientes para predecir las 20 empresas.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 25
Red
Entradas empresa Prediccin
neuronal
1 empresa 1
empresa 1
Red
Entradas empresa Prediccin
neuronal
2 empresa 2
empresa 2
.. ..
Red
Entradas empresa Prediccin
neuronal
20 empresa 20
empresa 20
'ACS.I' ACS 1
'ACX.I' Acerinox 2
'ANA.I' Acciona 3
'BBVA.I' BBVA 4
'BKT.I' Bankinter 5
'ELE.I' Endesa 6
'FCC.I' FCC 7
'FER.I' Ferrovial 8
'GAM.I' Gamesa 9
'GAS.I' Gas natural 10
'IBE.I' Iberdrola 11
'IBLA.I' Iberia 12
'IDR.I' Indra 13
'ITX.I' Inditex 14
'POP.I' Popular 15
'REE.I' Red elctrica 16
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 26
'REP.I' Repsol 17
'SAN.I' Santander 18
'TEF.I' Telefnica 19
'UNF.I' Unin Fenosa 20
Tabla 1: Empresas analizadas
Grficos burstiles
La informacin histrica de la bolsa se suele representar por medio de grficos
burstiles. En este captulo se van a analizar diferentes grficos, por lo que conviene
realizar una introduccin terica de las caractersticas de stos. Un grfico burstil
representa el valor de una accin a lo largo del tiempo. El intervalo de tiempo
utilizado para realizar el grfico depende de la compresin de los datos: intradiaria,
diaria, semanal, cuatrimestral o anual. Los datos necesarios para este proyecto son de
compresin intradiaria. Unos datos con compresin intradiaria se caracterizan por
estar divididos en periodos de 5 minutos.
Grfico lineal
Grfico 1: Grfico lineal de Endesa 14/05/08 (Elaboracin propia con Visual Chart)
Grfico de barras
El siguiente grfico muestra los datos del grfico anterior mediante un grfico de
barras.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 28
High (mximo)
Close (cierre)
Open (apertura)
Low (mnimo)
Grfico 2: Grfico barras de Endesa 14/05/08 (Elaboracin propia con Visual Chart)
Grfico candelabro
Este grfico representa cada periodo mediante una caja con dos lneas verticales
de la siguiente manera:
El siguiente grfico muestra los datos del grfico anterior mediante un grfico de
tipo candelabro.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 29
Grfico 3: Grfico candelabro de Endesa 14/05/08 (Elaboracin propia con Visual Chart)
Los datos intradiarios que proporciona Visual Chart estn compuestos por
periodos de cinco minutos, empezando el da a las 9:05 y terminando a las 17:30.
Cada da est compuesto por 102 periodos.
Cuando se necesiten datos para crear las entradas necesarias para la red neuronal,
se tendr que descargar un conjunto de datos histricos lo suficientemente alto
(20.000 periodos por ejemplo). Visual Chart trabaja con grficos y estos se pueden
exportar en formato de texto. Es necesario tratar estos datos para que sean
homogneos.
<TICKER>,<PER>,<DTYYYYMMDD>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>,<OPENINT>
ALT.MC,I,20060711,171500,36.55,36.58,36.54,36.55,18473,0
ALT.MC,I,20060711,172000,36.55,36.64,36.55,36.64,33055,0
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 31
ALT.MC,I,20060711,172500,36.64,36.64,36.56,36.60,31446,0
ALT.MC,I,20060711,173000,36.55,36.62,36.50,36.57,369817,0
ALT.MC,I,20060712,090500,36.51,36.64,36.51,36.64,10645,0
ALT.MC,I,20060712,093500,36.55,36.58,36.49,36.49,10131,0
ALT.MC,I,20060712,094000,36.49,36.59,36.47,36.47,5954,0
ALT.MC,I,20060712,095000,36.49,36.53,36.49,36.53,1366,0
Este estudio ha servido para seleccionar las 20 empresas que se van a emplear
para realizar predicciones. Se han seleccionado las 20 empresas en las que se dispone
de informacin en ms de un 93% de los periodos (rectngulos azules del grfico).
Otras empresas como NH, Metrovacesa, Sogecable y Abengoa, no se han
seleccionado al presentar elevados huecos de informacin (rectngulos rojos).
Una vez se tienen los datos histricos de todas las empresas homogenizados ya
se pueden obtener las entradas al modelo.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 33
Clculo
+ = 1
= 1
+ = = 0
1 =
2 = 1 = (1 , 2 , 3 )
3 = 1
DM DM
DI DI
TR TR
J. Welles Wilder, inventor del ADX, recomienda trabajar con los 14 ltimos
periodos para poder obtener un resultado suficientemente representativo.
DM (14) DM (14)
DI (14) DI (14)
TR(14) TR(14)
( DI (14)) ( DI (14))
ADX (14)
( DI (14)) ( DI (14))
Razonamiento econmico
La grfica de la parte inferior de esta figura, muestra los valores que van
tomando +DI, -DI y ADX, a lo largo de los periodos estudiados. Para explicar las
rdenes de compra-venta se va a estudiar las 4 zonas marcadas en la grfica.
Programacin
El valor que toma el ADX va a depender de la longitud de los periodos con los
que se est trabajando. Dependiendo del tipo de decisiones que se quieran tomar se
escoger un periodo u otro:
##### #### ##.## ##.## ##.## ##.## #### Periodo n
Ejemplo
En este ejemplo se observa que el estudio del ADX hubiese servido para la
prediccin de la bajada brusca que ocurre entre las horas 14:00 y 15:10 del 15 de
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo 42
Febrero. A las 14:00 del 15 de Febrero, el ADX empieza a tomar valores por encima
de 40 y la cotizacin est bajando. Como el ADX est por encima de 40, estar
indicando una fuerte tendencia bajista. Esta tendencia de bajista la predecimos
mientras el ADX es mayor que 40. Se observa como a las 15:10 el ADX deja de ser
superior a 40 luego ya no se est en una tendencia fortalecida y no podemos predecir
si la accin va a seguir bajando.
Clculo
Y la curva lenta (llamada Signal y representada por una lnea discontinua) venga
dada por la expresin:
Donde:
2
Med .Exp .(t , N ) precio (t ) Med .Exp.(t 1, N ) Med .Exp.(t 1, N )
1 N
t periodo _ actual
t 1 periodo _ anterior
N nmero _ de _ periodos
Med .Exp .(0, N ) Med .Simple ( N )
Ejemplo: Med.Exp.(4)
Razonamiento econmico
Programacin
Periodo 1
Periodo n
Periodo 34
n-33 periodos
Periodo n
Ejemplo
V V
V C
C C
C V C
No tengo acciones
Tengo acciones
Clculo
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 47
Razonamiento econmico
Para trabajar con este indicador se elaboran dos grficos, uno con la variacin de
la cotizacin de una accin y otro con la variacin del valor del OBV a lo largo de
tiempo. Cabe notar que para obtener informacin del OBV hay que fijarse en la
tendencia del valor de OBV (el valor numrico en concreto que tenga en un instante
determinado no aporta informacin) pues lo que interesa es ver los incrementos y
decrementos en el volumen.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 48
En este grfico se muestra la variacin del ndice Dow Jones desde Diciembre
del 2000 hasta Octubre de 2001 con su respectivo OBV. Se observa cmo se pueden
predecir ciertas tendencias en el precio a partir de la informacin de la curva del
OBV (pues las mismas tendencias que se dan en el OBV se dan el precio un poco
ms tarde). En este ejemplo se observa cmo el OBV detecta el fin de la tendencia
alcista antes de que esta suceda.
Las rdenes de compra y de venta que se pueden generar con el OBV son las
siguientes:
Programacin
##### #### ##.## ##.## ##.## ##.## #### Periodo n
n
##### #### #### Periodo n
Esta funcin calcula el valor puntual del OBV en cada periodo. Como se
coment anteriormente, lo que aporta informacin es la tendencia del OBV no el
valor puntual; pero para calcular la tendencia es necesario los valores puntuales. A
partir de estos valores se realizar una estimacin de la tendencia (ver apartado 2.5,
pgina 60).
Ejemplo
compra
compra
Clculo
= 1 1
= 0 < 1
= 1 < 1
= 0 1
13 +
=
14
14
=1 ()
14 =
14
13 +
=
14
14
=1 ()
14 =
14
100
= 100
1 +
El RSI depende de todos los valores anteriores, por lo que cuntos ms datos se
dispongan, ms preciso ser el clculo del RSI. Se puede considerar que con 100
datos histricos ya se obtienen valores del RSI con suficiente precisin.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 52
Razonamiento econmico
El RSI se suele representar comparndolo con una lnea horizontal de valor 50%.
Valores de RSI por encima del 50% significan que ltimamente ha habido ms
ganancias que prdidas y valores por debajo de 50% significan que ha habido ms
prdidas que ganancias. Podemos considerar que valores del RSI mayores del 70%
estn significando que estamos en un periodo alcista, y valores por debajo del 30%
estn significando que estamos en un periodo bajista. Valores entre el 30% y el 70%
significan que no hay ninguna tendencia fortalecida.
Una forma de caracterizar los distintos valores que toma el RSI, es nombrar a los
valores RSI mayores que el 70% como sobrecomprados (overbought), y valores del
RSI inferiores al 30% como sobrevendidos (oversold).
Programacin
Se ha programado una funcin RSI en Matlab que calcula el RSI utilizando las
frmulas matemticas descritas anteriormente. Esta funcin recibe datos histricos y
devuelve los valores del RSI en cada periodo.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 54
##### #### ##.## ##.## ##.## ##.## #### Periodo n
Es importante resaltar que para tener datos fiables del RSI es necesario disponer
de un conjunto de datos histricos suficientes (50 periodos anteriores suelen ser
suficientes).
Ejemplo
En este ejemplo (ACS) se puede observar como con la ayuda del RSI podemos
tomar decisiones acertadas.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 55
Este indicador supone que el valor de una accin es de algn modo cclico, y que
por tanto los mximos y mnimos llegan en intervalos peridicos. Lambert
recomienda usar un tercio de un ciclo completo (de mnimo a mnimo o de mximo a
mximo) como longitud de los intervalos con los que se va a trabajar (ntese que la
determinacin de la longitud del ciclo es subjetiva e independiente al clculo del
CCI). Si tenemos que un ciclo completo se da en 60 das (se da un mximo o un
mnimo cada 60 das), entonces los intervalos de trabajo sern de 20 das.
Clculo
Para el clculo del CCI hay que realizar las siguientes operaciones:
++
=
3
=1
=
=
=
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 56
=
0.15
Razonamiento econmico
La constante de valor 0,15 antes comentada haca que el 70/80% de los valores
cayeran entre -100 y +100, y que el 30/20% caer fuera de este rango. Cuando el CCI
es mayor que 100 significar que el TP (True Price) del periodo es
considerablemente superior a los anteriores TP, y que se est ante el comienzo de una
tendencia alcista. Por el contrario si el TP es menor que -100 significar que el TP
del perodo es considerablemente menor que los anteriores TP y que se est ante el
comienzo de una temporada bajista.
Programacin
Se ha programado una funcin CCI en Matlab que calcula el valor del CCI a
partir de un conjunto de datos histricos. Esta funcin precisa de 19 periodos
anteriores para calcular el CCI en un periodo concreto.
##### #### ##.## ##.## ##.## ##.## #### Periodo n
n-19 periodos
##### #### #### Periodo n
Ejemplo
12:20
Estocstico
Introduccin
Clculo
1
% = 100
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 59
14
% = %, 3
Razonamiento econmico
Lecturas por encima del 80% son consideradas puntos en los que la accin est
sobrevendida (overbought) y lecturas por debajo del 20% son consideradas puntos en
los que la accin est sobrecomprada (oversold). Sin embargo Lane crea que una
medida por encima del 80% no significaba necesariamente que fuese a comenzar un
periodo bajista y que una medida por debajo del 20% no significaba necesariamente
el comienzo de un periodo alcista. Para obtener una seal ms fiable es necesario
observar tambin la pendiente de las curvas. Una vez el indicador llega a niveles de
sobrecompra es bueno esperar a tener una pendiente negativa para establecer cuando
comienza el periodo bajista, y viceversa.
Los valores de D% (curva lenta del estocstico) se utilizan para generar rdenes
de compra de venta. Cuando la lnea %K cruza por debajo de la lnea %D se genera
una orden de venta y cuando la lnea %K cruza por encima se genera una orden de
compra.
Programacin
##### #### ##.## ##.## ##.## ##.## #### Periodo n
fecha hora %K %D
##### #### ##.## ##.## Periodo 16
n-15 periodos
##### #### ##.## ##.## Periodo n
Ejemplo
Ordenes de Ordenes de
compra venta
Grfico 15: Ejemplo Estocstico en Unin Fenosa (Elaboracin propia con Visual Chart)
n (nmero de periodos)
Precios (precios de apertura)
Indicador (valores del
divergence col_divergence
indicador)
Esta funcin calcula la pendiente media de los ltimos n periodos, tanto de los
precios como del indicador. Despus resta la pendiente media de los precios a la
pendiente media del indicador.
Para realizar este ajuste se llama a la funcin fit de Matlab de la siguiente forma:
[statistics,model] = Fit(X,Y,'poly1')
Donde X es (tanto en los precios como en el valor de los indicadores) una matriz
columna del tipo:
5
10
=
..
5
La matriz Y depender si se est calculando la pendiente de los precios o de los
valores del indicador. Si se va a comparar el crecimiento y decrecimiento del precio
y del valor de un indicador, es necesario que sean de alguna manera comparables.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 63
Para ello se divide cada uno de los elementos de la matriz entre la media de todos los
elementos de la matriz. De modo que la matriz Y ser:
(1)
=1 ()) (2)
=
..
()
(1)
=1 ()) (2)
_ =
..
()
Pendiente Divergence
Precios -0.00029304
##### #### ##.## ##.## ##.## ##.## #### Periodo n
Matriz_de_entradas
M_datos(datos histricos) Crea_entradas Targets
n-100 periodos
##### #### ##.## ##.## Periodo n
##### #### ##.## ##.## ##.## ##.## #### Periodo 101
3. Redes neuronales
3.1 Introduccin
3.2 Perceptrn multicapa
3.3 Entrenamiento de la red neuronal
3.4 Modelado de la red neuronal
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 67
3.1 Introduccin
El modelo matemtico que utiliza el sistema de inversin para predecir valores
futuros es una red neuronal artificial (RNA). En este captulo se van a exponer los
conceptos fundamentales de las redes neuronales y se va a describir la red neuronal
que va a utilizar el sistema.
Definicin
Una red neuronal artificial (RNA) es un modelo matemtico que, inspirado en el
funcionamiento del sistema nervioso biolgico, procesa informacin (ver
[GARC02]). Las redes neuronales artificiales tienen un conjunto de propiedades
especficas, como son la habilidad de adaptarse (aprender), generalizar y organizar la
informacin.
Un sistema de RNA est compuesto por una estructura con dos elementos
bsicos:
Se les da esta denominacin para subrayar la similitud con los sistemas nerviosos
biolgicos.
Conceptos bsicos
Una red neuronal artificial est compuesta por un conjunto de neuronas
interconectadas entre s que trabajan conjuntamente para solucionar un determinado
problema.
Nmero de entradas N
=
Y salida de la red neuronal
= F F Y
=1 Y
Xj valor de la entrada j
Los pesos de las entradas son los que el algoritmo de aprendizaje ajustar para
que la red neuronal proporcione las salidas adecuadas.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 69
= 1 0
Escaln
= 0 < 0
= 1 > 0
= 1 < 1
1
=
Funcin sigmoidea 1 +
Funcin tangente 1
= 1
sigmoidea 1 + 2
Las neuronas de una capa se conectan a las de la capa siguiente (las neuronas de
una capa (n-1) envan sus salidas a las neuronas de la capa n que las tomarn como
entradas).
1
2
=
3
4
11
21
1 = 12 2 =
22
13
Se debe dar valores a los pesos de la red neuronal. Estos valores se obtendrn
del proceso de entrenamiento. Este proceso consiste en proporcionar un conjunto de
muestras a la red neuronal, de tal manera que sta adapta el valor de los pesos para
minimizar el error en la salida.
Las redes neuronales de este tipo tienen la ventaja de que son las ms rpidas en
ejecutarse. Por otro lado tienen el inconveniente de que su entrenamiento es lento sea
cual sea el tipo de entrenamiento que realicemos.
Entrada 1
Entrada 2
Salida
Entrada 3
Entrada 4
Redes recurrentes
1 3
6 4
5
Redes estocsticas
Estas redes neuronales se caracterizan por tener conexiones aleatorias entre las
neuronas. La red ms conocida de este tipo es la red neuronal de Boltzmann. En la
siguiente imagen se muestra un ejemplo:
Redes modulares
Estas redes estn compuestas por distintos conjuntos de redes que cooperan unas
con otras para resolver un mismo problema. Este tipo de red es el que ms se
aproxima al sistema neuronal biolgico.
Tipos de entrenamiento
Entrenamiento supervisado: En este tipo de entrenamiento se le proporciona a
la RNA una serie de ejemplos consistentes en unos patrones de entrenamiento
que consisten en pares de entradas con sus correspondientes salidas (ejemplos
de cmo se quiere que funcione la red neuronal). El proceso de entrenamiento
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 75
consistir en ajustar los pesos para que la salida de la red sea lo ms parecida
posible a la salida deseada (terica).
Prediccin
P1
P2
Pi
Pnp
:
=1
:
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 77
: = ,
=
3.2 Perceptrn
Para modelar la prediccin del sistema de este proyecto se ha programado una
red neuronal del tipo perceptrn multicapa.
Aproximacin de funciones
Clasificacin de datos
1 , 1 , 2 , 2 , , { , }
error
W1
W2
que sea un hiperplano con varios mnimos locales, el proceso iterativo dar con uno
de ellos en funcin del punto de partida, pero este mnimo no tendr porque ser el
absoluto. Para solucionar este problema se puede entrenar la red un cierto nmero de
veces partiendo de distintos pesos, para tener un conjunto de mnimos locales y
escoger los pesos que proporcionan el menor mnimo local.
El software de Matlab contiene una toolbox de redes neuronales que ser la que
se va a utilizar para el entrenamiento de la red neuronal de modelo de prediccin. La
toolbox de redes neuronales de Matlab tiene programadas una serie de funciones de
entrenamiento. Se ha escogido la funcin trainlm para realizar el entrenamiento de la
red neuronal, ya que es la ms rpida en ejecutarse y la que mejores resultados suele
proporcionar.
Algoritmo de Levenberg-Marquardt
La funcin trainlm entrena la red neuronal mediante un modelo de optimizacin
Cuasi-Newtoniano concretamente el algoritmo Levenberg-Marquardt. Este algoritmo
es una modificacin del mtodo de Newton, que fue diseado para minimizar
funciones que sean la suma de los cuadrados de otras funciones no lineales; por eso
el algoritmo de Levenberg-Marquardt tiene un excelente desempeo en el
entrenamiento de redes neuronales donde el entrenamiento de la red est determinado
por el error medio cuadrtico.
1 1
2 2
= T=
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 83
= [,1 , ,2 , , ,]
Siendo:
1 = 1
=1 + 1
1 n capa
j n de neurona
W Peso
p Entrada
b Bia
= ( )
j nmero de neurona
m nmero de capa
Una vez definido este trmino se pueden definir las entradas netas de las dems
capas.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 84
= 1 +
=1
Cada una de las neuronas de la capa de salida (S) tendr una salida terica (ts)
(salida que tiene que producirse en la neurona para que se obtenga la salida deseada
con el vector de entradas proporcionado). El error de cada neurona () vendr dado
por la diferencia entre esta salida terica y la salida que realmente se produce:
= ( )
S capa de salida
1 2
= =
2
=1 =1
ns nmero de salidas
Se trabaja con el error medio cuadrtico para no distinguir signo en el error sin
tener utilizar la funcin absoluto, que puede entorpecer el clculo computacional.
()
La funcin F depende de los pesos y de las bias, que son las incgnitas del
problema.
1 1
= [1,1 , , 1, , , , , , , 11 , . . , ]
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 85
R n de entradas
n n de neuronas
m n de capa
S capa de salida
W Peso
b Bia
+1 = 1 :
2
= 2 = ()
=1
= 2
1
+1 = +
j nmero de neurona
m n de capa
, =
,
j nmero de neurona
m n de capa
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 87
,
,
= = , = , ,1
, , , ,
,
,
= = , = ,
,
= ( )
= +1 +1
= 1 2 [ ]
k=k+1
FIN
1 Se presentan todos los patrones de entrada a la red y se calculan sus
correspondientes salidas y errores d:
No S
Despus se calcula la suma de los errores cuadrados para cada patrn Se cumplen
de entrada: condiciones
de meta?
S
2
Se calculan las sensibilidades y la matriz de sensibilidad (Sk). Con esta se
calcula la matriz Jacobiana (Jk).
<
3
Se calcula
y se obtiene
No
Las condiciones de meta sern las que se tendrn que introducir al algoritmo
como parmetros. Estas condiciones pueden ser de diferentes tipos:
Implementacin en Matlab
En este apartado se va a explicar la rutina de Matlab para crear una entrenar una
red neuronal:
Se divide los datos necesarios en distintos conjuntos para tratar que la red
minimice el error en cada uno de ellos, y no se conforme con minimizar un error
medio global.
Conjunto n de periodos
Entrenamiento 16000
Validacin 4000
Test 100
Se tiene por tanto un conjunto de datos compuesto por 20100 periodos. Los datos
pertenecientes a entrenamiento, validacin y test estn organizados de la siguiente
manera:
per. 1 per. 2 per. 3 per. 4 per. 5 per. 6 per. 7 per. 8 per. 9 per.10 per.11 per.14 per.15 per.19999 per. 20000 per. 20001 per. 21000
e e e e v e e e e v e e v e v t
e entrenamiento
v validacin
t test
El hecho de utilizar 20100 datos anteriores para entrenar la red neuronal, supone
entrenar la red neuronal con datos histricos de los ltimos dos meses. Esto supone
aceptar el hecho de que la cotizacin de un periodo determinado depende de las
cotizaciones de los ltimos dos meses, lo que parece razonable.
Es importante recordar que la red neuronal trabaja con datos normalizados luego
es necesario normalizar el conjunto de datos antes de realizar un entrenamiento. Esto
se hace a travs de la funcin mapstd de Matlab. A esta funcin se le pasa una matriz
de entradas y normalizar cada una de las entradas para transformarla en una
distribucin con media 0 y desviacin tpica 1. Tambin se le pasa el vector de
salidas para que tambin ste sea normalizado.
%trasposicin de matrices
Matriz_de_entradas=Matriz_de_entradas';
targets=targets';
%obtencin de P y T
P=Matriz_de_entradas(3:end,:);
T=targets(3,:);
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 91
%normalizacin
[p,PE] = mapstd(P);
[t,PS] = mapstd(T);
[pent,tent,pent,tent,ptest,ttest]=separador_entrenamiento
(p,t);
Una vez se tienen los conjuntos de datos definidos se tiene toda la informacin
necesaria para poder crear la red neuronal.
TFi: Funcin de transferencia a utilizar en cada una de las capas, por defecto
utiliza tansig
PF: Funcin para evaluar el desempeo de la red, por defecto utiliza mse.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 92
Ejemplo:
net=newff(minmax(pn),[30 3 1]
,{'tansig','tansig','purelin'});
Una vez definida la red, los parmetros del entretenimiento y los datos
necesarios para entrenarla, se puede realizar el entrenamiento de la red. El cdigo es
el siguiente:
[net,tr] = train(net,pent,tent,[],[],val,test);
Se observa como la grfica representa los errores que se obtienen en cada uno de
los conjuntos de datos en cada iteracin del algoritmo de entrenamiento.
Cada vez que se entrene una red neuronal se obtendrn unos pesos y bias que
proporcionan un mnimo local, pero no global en la funcin error. Por esto cada vez
que se entrena una red, el sistema realizara 10 entrenamientos y seleccionara el que
proporcione un menor error en la prediccin con el conjunto de test, entrenamiento y
validacin.
resolviendo el mismo tipo de problema, y no hay ninguna razn para suponer que
puedan tener distintas estructuras.
Algoritmo de entrenamiento
Funciones de transferencia
Nmero de capas
Algoritmo de entrenamiento
Se ha escogido el algoritmo de Levenberg-Marquardt integrado en la funcin
trainlim de Matlab, por las razones comentadas en el apartado anterior.
Funciones de transferencia
Los mercados financieros son no lineales y tienen memoria, por esto las
funciones de transferencia ms apropiadas son las funciones sigmoideas, ya que son
no lineales y continuamente diferenciables (ver [MA__92]).
Por otra parte la ltima capa (cuya salida ser un valor nico correspondiente a la
prediccin) ser una funcin lineal, para que realice una salida ponderada a partir de
las salidas que han proporcionado todas las neuronas de las capas anteriores.
Nmero de capas
Antes de analizar la decisin del nmero de capas, se va a explicar la notacin
relacionada con las capas de un perceptrn multicapa.
Entrada 1 1 1 1
Capa de salida
Entrada 2 2 2 2
1
.
Entrada n n1 n2 nX
La capa de entrada corresponde a las entradas a la red neuronal, en este caso 30.
Estudios anteriores han mostrado que con dos capas ocultas se puede aproximar
funciones con una precisin arbitrariamente buena (ver [CYBE89]). Hasta ahora no
se han publicado estudios de perceptores multicapa con ms de dos capas ocultas. Se
parte por tanto de una red neuronal con dos capas ocultas.
Para tomar esta decisin, se ha supuesto que la segunda capa oculta tiene 3
neuronas y se ha ido variando el nmero de neuronas de la primera capa oculta
buscando cul es la red neuronal que mejor predice.
Se han estudiado cinco posibilidades (10 neuronas en la primera capa oculta, 20,
30, 40 y 50) calculando en cada una el error medio que tienen las predicciones en los
siguientes periodos:
El resultado de este estudio indica que la mejor estructura es la red neuronal con
30 neuronas en la primera capa oculta.
El resultado de este estudio indica que la mejor estructura es la red neuronal con
7 neuronas en la segunda capa oculta.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 98
n de entradas 30
n de salidas 1
n de capas 4
Este modelo de red ser el aplicado a la red neuronal de cada una de las 20
empresas.
Entrada 7 6
Entrada 8 7
Entrada 9 8
Entrada 10 9
Entrada 11 10
Entrada 27 27
Entrada 28 28
29
Entrada 29
30
Entrada 30
99
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 100
4. Funcionamiento del
sistema en tiempo real
El sistema va realizando est rutina sucesivamente y cada vez que recibe nuevas
cotizaciones analiza el beneficio que se ha obtenido con la operacin anterior.
Recepcin de
nuevas
cotizaciones
Ejecucin de
Anlisis de l
rdenes de
beneficio
compra venta
Clculo de las
Toma de
entradas a la
decisiones
red neuronal
Simulacin de
la red
neuronal
nuevas_cotizaciones.
evaluacion_y_decisiones
actualiza_inversiones
18-actualiza datos de inversiones
19-borra inversion_realizada.ok
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo
inversion_realizada.txt
acciones_actualizadas
guarda_historial
20- guarda historial
103
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 104
Decisiones de inversin
En cada periodo se tendr una posicin, que ser una variable que represente
dnde est invertido el dinero. Slo se consideran dos posibilidades:
Se han optado por estas dos posibilidades con el nimo de tener una postura ms
o menos conservadora.
efectuar (ver Anexo captulo 2). Este broker online cobra una comisin por operacin
de compra o de venta del 0,05% del importe de la operacin (con un mnimo de
1,5).
Por otro lado si se venden acciones que se han comprado a un precio menor (se
ha generado una plusvala), hay que pagar un impuesto correspondiente al 18% de la
plusvala necesaria (ver Anexo captulo 1).
No 2 que se tienen 2
Quedarme =
Se tiene
dinero en 2 1 que se tiene Comprar 1
empresas? Pagar 2 comisiones
Vender 1 2
1 Plusvaa
S
S
Empresas
seleccionadas 1 Ninguna inversin
Primero se analiza cul es la situacin en la que se est (se tiene el dinero en dos
empresas o no se tiene en ninguna). Y segn sea est situacin se tomar una
decisin dependiendo de los valores que se hayan simulado.
Puede ser que en un periodo determinado se est en la situacin de que suban dos
empresas, pero que ejecutar las rdenes implique incurrir en unos gastos (comisiones
e impuestos) superiores al beneficio predicho. En esta situacin se opta por ejecutar
las rdenes, dado que si dos empresas aumentan su valor es muy probable que lo
hagan en el periodo siguiente y las comisiones tendrn que pagarse de todas formas.
Adems el cargo de las comisiones e impuestos viene a representar normalmente un
0,075% de la cantidad invertida, y las predicciones que se realizan tienen una
precisin media del 0,15% (ver apartado de modo de prueba) luego no se tiene la
suficiente precisin para tomar este tipo de decisiones.
Datos de partida
Para que el sistema de inversin empiece a trabajar en tiempo real, es necesario
que disponga de una serie de datos de partida. Estos datos de partida necesarios son:
Red neuronal: variable tipo structure con las 20 redes neuronales de las 20
empresas, entrenadas con datos histricos hasta el da anterior.
matriz estar compuesta por ceros menos el elemento (2,2), que contendr el
dinero lquido que se dispone para empezar a invertir.
Programacin
Se han programado dos rutinas relacionadas con la ejecucin del sistema en
tiempo real: modo de prueba y modo Visual Chart. El modo prueba consiste en la
simulacin del programa en tiempo real de un da anterior, para comprobar cmo se
hubiese comportado el sistema. El modo Visual Chart es el que se utilizar para
ejecutar el programa en tiempo real.
num_dias
comisiones
empresas_seleccionadas
red_neuronal posicionesydinero
hora modoprueba valores
datos_de_normalizacion
n_periodos (nmero de periodos)
Histricos (de las 24 empresas)
Visual Chart es una plataforma que aporta informacin de la bolsa en tiempo real
y permite ejecutar rdenes de compra y venta de ttulos. Tiene la ventaja de que
permite incorporar rutinas de Visual Basic para personalizar el tipo de uso que el
usuario requiera.
Visual Chart representa los datos burstiles por medio de grficos burstiles que
se pueden exportar como archivos grficos o como archivos de texto.
Para ejecutar este sistema es necesario abrir un grfico con datos de una sola
empresa. Los parmetros de este sistema son: nombre del fichero de confirmacin,
nombre del fichero con las acciones a realizar.
Funcin funcionamiento_tiempo_real
Se ha programado una funcin funcionamiento_tiempo_real en Matlab, que
ejecuta el sistema de inversin en tiempo real interactuando con Visual Chart.
Una vez se tienen los sistemas de Visual Chart en ejecucin, se puede ejecutar la
funcin funcionamiento_tiempo_real en Matlab (con los datos de partida
comentados en el apartado 4.1 de este captulo). Esta funcin ir ejecutando las
rdenes de compra y venta de acciones e ir calculando el beneficio que se va
acumulando.
5. Resultados y
conclusiones
Se tiene un error medio global del 0,42% lo cual indica que se estn realizando
predicciones con una precisin considerablemente buena. Un error del 0,42% supone
que si una accin en un periodo vale 10, la red neuronal predijo que valdra 10,04 o
9,96, por ejemplo. Pero realmente las predicciones han tenido una precisin mayor,
pues las empresas Iberia, Indra y Ferrovial han presentado un error bastante ms
elevado que el resto de las empresas, y han hecho aumentar el error medio global.
Iberia ha presentado un error ms alto que el resto de las empresas porque la red
neuronal identific una tendencia alcista en el lunes 2 de junio, y la accin de Iberia
se mantuvo constante e incluso disminuy su valor. Este tipo de situaciones pueden
darse ya que el valor de una accin se puede ver afectado por mltiplos factores que
no se han tenido en cuenta en el modelado. En este caso se podra haber producido
un comportamiento inusual de la accin de Iberia porque el da dos de Junio de
2008 se public en Reuters una noticia que indicaba que Iberia haba visto un ligero
descenso en su coeficiente de ocupacin (ver [REUT08]), y esta noticia podra haber
provocado que algunos inversores vendieran sus acciones.
+ 1 = ()
1,80%
1,60%
1,40%
0,40%
0,20%
0,00%
Grfico 19: Comparacin del error obtenido con el error de la prediccin ingenua
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 116
Esto no significa que la prediccin realizada por el sistema no sea vlida y que
sea mejor aceptar la prediccin ingenua. Ya que la prediccin ingenua supone que la
accin permanece constante y con esta suposicin no se podra tomar ninguna
decisin de compra atendiendo a los criterios de decisin que se han planteado (ver
ilustracin 30).
+ 1 >
+ 1
% total de
% subidas
% bajadas
acertadas
acertadas
aciertos
% aciertos
90%
80%
70%
60%
50%
40%
30%
20%
10%
100%
0%
Esta grfica es la que mejor muestra la utilidad del sistema de inversin, ya que
muestra que se tiene una tasa de aciertos globales de aproximadamente 70%. Esta
tasa de aciertos supone disponer de una gran ventaja en la participacin del mercado
burstil, y presenta un escenario con infinidad de oportunidades de realizar
inversiones rentables. Esta tasa de aciertos refleja con fidelidad la precisin del
modelo ya que contempla las predicciones de una semana completa compuesta por
un total de 510 periodos de cinco minutos.
90%
80% % aciertos
prediccin
70%
ingenua
60%
% aciertos
50% prediccin
40% del sistema
30%
20%
10%
0%
Grfico 21: % de aciertos de la prediccin del sistema en comparacin con la prediccin ingenua
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 119
n de posiciones
250
200
150
100
50
0
Iberdrola
Telefnica
Ferrovial
Repsol
Indra
Acerinox
Acciona
Acs
FCC
Endesa
Iberia
No invertir
Popular
Gamesa
Bankinter
Red Elctrica
Unin Fenosa
Inditex
Santander
BBVA
Gasnatural
Los criterios de inversin utilizados son los que se exponen en el apartado 4.2 de
este documento (ver pgina 97). Se ha decidido no invertir fuera del horario de
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 120
Ambas cifras son muy elevadas. Hay que tener en cuenta que cada vez que se
realiza una operacin de compra o de venta es necesario pagar el 0,05% del importe
de la operacin al broker online (ver apartado 6.2). Por otra parte cuando se venden
acciones de una empresa obtenindose una plusvala, hay pagar un impuesto
correspondiente al 18% de la plusvala.
dinero invertido
12.500
30/05/08 02/06/08 03/06/08 04/06/08 05/06/08
12.000
11.500
11.000
10.500
10.000
9.500
9.000
beneficio acumulado
dinero invertido
2.500
12.500
30/05/08 02/06/08 03/06/08 04/06/08 05/06/08
12.000
2.000
11.500
1.500
11.000
10.500
1.000
10.000
500
9.500
0
9.000
12.500 13.700
13.600
12.000
13.500
11.500
13.400
dinero invertido
13.300
10.500
13.200
10.000
13.100
9.500
dinero invertido
13.000
IBEX-35
9.000 12.900
Grfico 25: Comparacin de la variacin del ndice IBEX-35 con el dinero invertido
6 Lneas de continuacin
Otras entradas que se pueden incluir son las relacionadas con el valor de
empresas de un mismo sector. Por ejemplo, una entrada para Endesa podra ser el
estado de la tendencia de las dems compaas elctricas europeas.
Por ltimo se propone tratar de buscar una posibles entradas a la red neuronal
que estn relacionada con los resultados publicados por las compaas (hace cunto
que se publicaron, expectativas, resultados parciales, etc.). Este tipo de variables
pueden ser tiles ya que son las que definen muchas posturas de los inversores (sobre
todo de los inversores a largo plazo).
7. Anexos
Dividendos
Los dividendos tienen una retencin del 15%. El inversor slo cobra neto el
85%, el 15% restante se lo retienen cuando le van a pagar los dividendos. Estos se
imputan ntegramente en el clculo de la base imponible, el 100%, pero se puede
deducir el importe retenido, el 15%.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 130
Los brokers online suelen operan tanto en la Bolsa espaola como en el MEFF
(Mercado Oficial de Futuros y Opciones Financieros en Espaa) como
intermediarios en la venta de los productos financieros que se ofrecen en estos dos
mercados. Tambin pueden operar en bolsas de otros pases/ciudades mediante la
afiliacin con entidades autorizadas para operar en stas, o siendo miembro de stas.
Seguridad de su sistema
Los brokers online que operan con Visual Chart se muestran en la siguiente
tabla:
La mayora de brokers online cobran unas comisiones compuestas por una parte
fija y por una parte variable, y estas comisiones dependen del importe de la
operacin que se realice.
35,00
30,00
25,00
/operacin
20,00
Estubroker
15,00
Renta 4
10,00 Gaesco
Inversis
5,00
0,00
6.000
2.000
4.000
8.000
0
10.000
12.000
16.000
22.000
26.000
28.000
32.000
34.000
14.000
18.000
20.000
24.000
30.000
36.000
importe de la operacin
carpeta='C:\Users\Juan\Documents\Proyecto\historicos'
HISTORICOS=homogeniza(carpeta)
[redneuronal,normaliza]=entrenared(HISTORICOS,fecha,hora)
Las variables fecha y hora sirven para indicar cul es el ltimo periodo de los
datos HISTORICOS del conjunto que se utilizar para entrenar la red neuronal.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 135
Lo lgico es que sea el ltimo periodo que se dispone. Si se han descargado los
datos segn el ejemplo del apartado 1.2, fecha=20080606 (viernes 6 de junio de
2008) y hora=173000. De esta manera se obtendr la red neuronal para realizar
predicciones del da siguiente (lunes de 16 de junio de 2008).
Hacerlo del mismo modo que para crear la red neuronal (obtener la
variable HISTORICOS). Es importante que los datos histricos contengan los
das que se desean simular y que se tengan datos suficientes para entrenar la red
neuronal.
[VALORES,POSICIONES]=modoprueba(fecha_inicial,fecha_final
,HISTORICOS,empresas_seleccionadas,comisiones)
_ =
0 0
_ = 0
0 0
comisiones: esta variable es una matriz que sirve para incluir las
comisiones y los impuestos. (Actualmente si se utiliza el broker online
EstuBroker la matriz comisiones sera: [0.0005 0.18]).
= % %
Empresa
1 (ACS)
Empresa
20
(Unin
Fenosa)
ndice de
empresa
3. Obtencin de resultados
[VALORES,POSICIONES]=(fecha_inicial,fecha_final,HISTORICO
S)
Esta funcin tendr como inputs las salidas de la funcin modoprueba, y como
outputs:
1
1730
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 139
. (1)
. (20)
. (1)
. (20)
. (1)
. (20)
. (1) (1)
(20) (20)
. (1) (1)
(20) (20)
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 140
Esta funcin devolver una matriz posicionesydinero que tiene el mismo formato
que la variable POSICIONES de la funcin modoprueba (ver ilustracin 36). Y una
variable valores con el formato que se muestra en la ilustracin 35.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 143
8. Bibliografa
[CAVA06] Cava, J.L., "El arte de especular. Las tcnicas que mejor funcionan".
2006.
[CLEM03] Clemens, M.P., Fransen, P.H, Swanson, "Forecasting economic and
financial time-series with non-linear models". 2003.
[CRUZ04] Cruz Torres, I., "Pronsticos en el mercado de derivados utilizando
redes neuronales y modelos ARIMA: una aplicacin al Cete de 91 das
en el MexDer". 2004.
[CYBE89] Cybenko, G., "Approximation by superposition of a sigmoidal
function". 1989.
[DEMU06] Demuth, H., Beale, M. y Hagan, M., "Neural Networks Toolbox".
2006.
[EMER06] EMERGIA, "Estudio comparativo brokers online". 2006.
[EVEL06] Evelina, M., "Using economic indicators to improve investment
analysis". 2006.
[GARC02] Garca Estvez, P., "Aplicaciones de las redes neuronales en las
finanzas". 2002.
[GARC05] Garca de Jaln, y Rodrguez, J.I, "Aprenda Matlab como si estuviese
en primero". 2005.
[GARC99] Garca de Jaln, J., Brazlez, A. y Rodrguez, J.I, "Aprenda Visual
Basic 6.0 como si estuviera en primero". 1999.
[KRS96] Krse, J.A y Van der Smagt, P., "An introduction to neural networks".
1996.
[LACH95] Lachtermacher, G. y Fuller, G.D., "Backprogramation in time-series
forecasting. Journal of Forecasting, 14: 381-393". 1995.
[MA__92] Ma, G.W y Kao, C.K, "Memories, heteroscedasty and prices limit in
currency future markets". 1992.
[MALA07] Malaver Baselga, Toms, "Proyecto de fin de carrera: Aplicacin del
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 144