Sei sulla pagina 1di 144

Autorizada la entrega del proyecto del alumno:

Juan Hornedo Lpez-Ibor


LOS DIRECTORES DE PROYECTO
Jos Villar Collado
Fdo:



Fecha:


lvaro Snchez Miralles
Fdo:



Fecha:
V B DEL COORDINADOR DE PROYECTOS


Susana Ortiz Marcos



Fdo:



Fecha:



2
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo



Sistema de inversin en
bolsa a corto plazo

Proyecto de fin de carrera
Ingeniera Industrial
Escuela Tcnica Superior de Ingeniera (ICAI)
Universidad Pontificia Comillas



Autor: Juan Hornedo Lpez-Ibor
Directores: Jos Villar Collado, lvaro Snchez Miralles

Madrid, junio de 2008

3
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Sistema de inversin en bolsa a corto plazo
Autor: Juan Hornedo Lpez-Ibor
Directores: Jos Villar Collado y lvaro Snchez Miralles
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.
La obtencin de un modelo que permita predecir valores futuros de acciones de
empresas con la suficiente precisin supondra disponer de una importante ventaja en
el mercado burstil, que derivara en la obtencin de elevados beneficios. Por este
motivo, a lo largo de la historia se han desarrollado muchos estudios que tratan de
modelar el comportamiento de la Bolsa.
El valor de una accin a lo largo del tiempo es una serie financiera. En la
actualidad existen dos vas para tratar de predecir series temporales: modelos lineales
(ARIMA, ARCH-GARCH) y modelos no lineales (redes neuronales y algoritmos
genticos). La aplicacin de las redes neuronales a la prediccin de series financieras
est creciendo en los ltimos aos, y parece ser un mtodo eficaz y que presenta
multitud de oportunidades. Por este motivo este proyecto aplica las redes neuronales
para modelar la variacin del valor de una accin a lo largo del tiempo y realizar
predicciones. Concretamente se va a tratar de realizar predicciones a corto plazo de
los valores de las acciones de 20 empresas del IBEX-35 (de las que se dispone de
informacin burstil intradiaria).
Se parte de una breve introduccin terica sobre la inversin en bolsa a corto
plazo y sobre las propiedades de las series temporales financieras.
Seguidamente se ha realizado un estudio de las principales variables
independientes para predecir valores burstiles a corto plazo, y se ha programado su
clculo en el software Matlab.

4
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Una vez determinadas las principales variables, se estudia la aplicacin de redes
neuronales a la prediccin de series financieras. Se estudiaran las distintas
posibilidades del modelado mediante redes neuronales y se terminar definiendo una
red neuronal apropiada para el tipo de modelado que se pretende realizar. Esta red
neuronal se ha programado con la toolbox de redes neuronales de Matlab.
Con la red neuronal definida, se realizan una serie de simulaciones de inversin a
partir de las predicciones de la red neuronal, definindose previamente unos
determinados criterios de toma de decisiones de inversin.
Por ltimo se plantea la implementacin del sistema de inversin en tiempo real
a travs de la plataforma Visual Chart.















5
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
SUMMARY
This project develops a system to forecast stocks of different companies and
to execute buy-sell orders in order to achieve a profitable investment.
Obtaining a model to forecast quotations of companies could provide an
important advantage to achieve huge profits. For this reason, many studies
throughout history have attempted to model the operations of the Stock Market.
The value of a stock over time is known as a financial time-serie. Nowadays
there are two ways to predict temporal time-series: linear models (ARIMA, ARCH-
GARCH) and non-linear models (Neural Networks and Genetic Algorithms). In the
past few years the application of neural networks for predicting financial time-series
has increased, since it seems to be an efficient and resourceful system. For this
reason this project applies neural networks to model the variation of the value of a
stock throughout time and forecast its future values. Specifically this system forecast
the values of the stocks of twenty companies of the IBEX-35 index at short term. The
project starts with a brief introduction to the main characteristics of the short-term
investment and to the properties of the financial time-series.
Secondly, the project carries out a study of the principal independent variables to
model the Stock Market operation, as well as a program to calculate it in Matlab
software.
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.
With the neural network defined, a number of simulations will be realized
based in a determinate criterion of decision making.


6
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Tabla de contenido
1. Introduccin ............................................................................................................ 12
1.1 Motivacin del proyecto ................................................................................... 13
1.2 Inversin en Bolsa ............................................................................................. 14
La Bolsa ............................................................................................................... 14
Acciones .............................................................................................................. 15
Inversin en acciones a corto plazo ..................................................................... 17
1.3 Prediccin de series financieras ........................................................................ 18
Series financieras ................................................................................................. 19
Modelos de prediccin de series financieras ....................................................... 19
1.4 Objetivos del proyecto ...................................................................................... 21
1.5 Metodologa y recursos utilizados .................................................................... 21
2. Anlisis de las entradas al modelo: ......................................................................... 23
2.1 Introduccin ...................................................................................................... 24
Grficos burstiles ............................................................................................... 26
2.2 Obtencin de datos histricos ........................................................................... 29
2.3 Lista de entradas al modelo ............................................................................... 33
2.4 Indicadores burstiles ........................................................................................ 34
ADX (movimiento direccional)........................................................................... 34
MACD (convergencia-divergencia del promedio mvil) ................................... 42
OBV (Balance de volmenes) ............................................................................. 46
RSI (ndice relativo de fuerza) ............................................................................ 50
CCI (ndice de commodities) .............................................................................. 55
Estocstico ........................................................................................................... 58
2.5 Coeficiente de variacin de un indicador respecto al precio de una accin ..... 61
2.6 Rutina de creacin de entradas.......................................................................... 64

7
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
3. Redes neuronales .................................................................................................... 66
3.1 Introduccin ...................................................................................................... 67
Definicin ............................................................................................................ 67
Conceptos bsicos ............................................................................................... 68
Tipos de redes neuronales ................................................................................... 71
Tipos de entrenamiento ....................................................................................... 74
3.2 Perceptrn ......................................................................................................... 77
Motivos de la eleccin del perceptrn multicapa ................................................ 77
Caractersticas del perceptrn multicapa ............................................................. 77
3.3 Entrenamiento de la red neuronal ..................................................................... 78
Introduccin......................................................................................................... 78
Algoritmo de Levenberg-Marquardt ................................................................... 81
Implementacin en Matlab .................................................................................. 89
3.4 Modelado de la red neuronal ............................................................................. 93
Algoritmo de entrenamiento ................................................................................ 94
Funciones de transferencia .................................................................................. 94
Nmero de capas ................................................................................................. 95
Nmero de neuronas en cada capa ...................................................................... 95
Red neuronal escogida......................................................................................... 98
4. Funcionamiento del sistema en tiempo real.......................................................... 100
4.1 Principio de funcionamiento ........................................................................... 101
Decisiones de inversin ..................................................................................... 104
Datos de partida ................................................................................................. 107
Programacin..................................................................................................... 108
4.2 Modo de prueba .............................................................................................. 108
4.3 Funcionamiento con Visual Chart................................................................... 109

8
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Sistema de escritura de cotizaciones (Escritura.vba) ........................................ 109
Sistema de ejecucin de rdenes (ejecucion.vba) ............................................. 110
Funcin funcionamiento_tiempo_real ............................................................... 111
5. Resultados y conclusiones .................................................................................... 113
5.1 Precisin de las predicciones realizadas ......................................................... 114
5.2 Evaluacin de las decisiones de inversin realizadas ..................................... 119
5.3 Evaluacin del beneficio obtenido .................................................................. 121
6 Lneas de continuacin .......................................................................................... 124
6.1 Incorporacin de nuevas entradas ................................................................... 125
6.2 Red neuronal ................................................................................................... 125
6.3 Toma de decisiones ......................................................................................... 126
6.4 Funcionamiento en tiempo real con Visual Chart ........................................... 127
7. Anexos .................................................................................................................. 128
7.1 Fiscalidad de la inversin en Bolsa ................................................................. 129
Plusvalas y minusvalas .................................................................................... 129
Dividendos......................................................................................................... 129
7.2 Brokers online ................................................................................................. 130
Qu es un broker online? ................................................................................. 130
Eleccin del broker online ................................................................................. 131
7.3 Gua del usuario del sistema de inversin ....................................................... 132
Creacin de una red neuronal ............................................................................ 132
Simulacin de varios das .................................................................................. 135
Simulacin en tiempo real con Visual Basic ..................................................... 140
8. Bibliografa ........................................................................................................... 143


9
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
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

10
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
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

11
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Ilustracin 19: Red neuronal recurrente ..................................................................... 73
Ilustracin 20: Red neuronal estocstica .................................................................... 73
Ilustracin 21: Red neuronal modular ........................................................................ 74
Ilustracin 22: Mnimos locales.................................................................................. 80
Ilustracin 23: Nomenclatura de la red neuronal ........................................................ 82
Ilustracin 24: Algoritmo de Levenberg-Marquardt (Elaboracin propia) ................ 88
Ilustracin 25: Datos para el entrenamiento ............................................................... 90
Ilustracin 26: Entrenamiento en Matlab ................................................................... 93
Ilustracin 27: Nomenclatura del las capas de una red neuronal................................ 95
Ilustracin 28: Estructura de la Red Neuronal escogida (Elaboracin propia) .......... 99
Ilustracin 29: Rutina de funcionamiento en tiempo real ......................................... 101
Ilustracin 30: arquitectura del programa ................................................................. 103
Ilustracin 31: rbol de decisin .............................................................................. 106
Ilustracin 32: Funcin modoprueba ........................................................................ 108
Ilustracin 33: Grfico de Visual Chart con las 20 empresas ................................... 110
Ilustracin 34: Obtencin de datos en Visual Chart ................................................. 133
Ilustracin 35: Nombres de los ficheros ................................................................... 134
Ilustracin 36: Formato de la variable VALORES................................................... 137
Ilustracin 37: Formato de la variable POSICIONES .............................................. 138
Ilustracin 38: Insertar ESCRITURA.VBA ............................................................. 141
Ilustracin 39: Parmetros del sistema EJECUCION.vba ........................................ 142

12
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
1. Introduccin



1.1 Motivacin del proyecto
1.2 Inversin en acciones
1.3 Prediccin de series financieras
1.4 Objetivos del proyecto
1.5 Metodologa y recursos utilizados

13
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
1.1 Motivacin del proyecto
La motivacin principal de este proyecto es la posibilidad de obtener beneficios
mediante la inversin en bolsa sin correr riesgos demasiado elevados, utilizando un
modelo matemtico.
Se pretende estudiar la capacidad de las redes neuronales en la prediccin de
acciones, y comprobar si se obtendran beneficios si se toman decisiones de inversin
en base a stas. Las redes neuronales han demostrado su efectividad en otras
disciplinas y existen motivos para pensar que se pueden aplicar con xito a la
prediccin de series financieras.
Se tiene la intencin de poder realizar decisiones de inversin a partir de
predicciones, que repercutan en la obtencin de beneficios. Adems, las predicciones
de informacin no dejan de ser una informacin til que se puede utilizar como
complemento a la intuicin y al conocimiento burstil.
Otro factor que anima a la realizacin de este proyecto es el hecho de la
proliferacin de nuevos canales de contacto con el broker. Actualmente existen
muchos brokers que contactan con el cliente a travs de internet. Esto supone que se
pueda plantear un sistema de inversin en bolsa que opere automticamente a travs
de un ordenador y no requiera la presencia fsica del inversor. Hasta ahora una de las
principales limitaciones de la inversin en bolsa a corto plazo era la necesidad de
disponer de tiempo para ello (ver [RAYA07]).
Los conceptos desarrollados en este estudio matemtico realizado para la
prediccin de series financieras, se pueden aplicar a la investigacin de predicciones
en otros campos (predicciones de derivados financieros, predicciones de demanda
elctrica, etc.).

14
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
1.2 Inversin en Bolsa
La inversin que plantea este sistema es la inversin en acciones (renta variable)
de 20 empresas del IBEX-35, de las que se dispone de informacin burstil
intradiaria.
En este captulo de introduccin se van a explicar los conceptos financieros
necesarios para entender el funcionamiento del sistema.
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:
- Demandantes de capital: empresas, organismos pblicos o privados y
otros entes. Tanto las empresas como los organismos, necesitan capital
para cubrir sus necesidades de inversin. Una de las opciones que tienen
para recaudar capital es acudir a la Bolsa y vender sus activos
financieros.
- Ofertantes de capital: inversores (tanto institucionales como
particulares). Los inversores desean obtener rentabilidad de sus
excedentes y entre las muchas alternativas de inversin que existen,
pueden decidir comprar en la Bolsa activos financieros emitidos por las
empresas.
- Intermediarios: agentes autorizados para negociar la compra y venta de
activos financieros. Son conocidos por el nombre de corredores
(brokers). Su labor principal es la de ejecutar las rdenes de compra y
venta de los inversores, y negociar con las empresas el modo de emitir y
comercializar sus acciones.

15
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
La bolsa canaliza el ahorro hacia la inversin productiva, facilitando la
movilidad de la riqueza. Es un instrumento de financiacin para las empresas y de
inversin para los inversores.
Los activos financieros se clasifican en activos de renta variable y de renta
fija. Los activos financieros de renta fija se caracterizan por tener una rentabilidad
establecida e independiente del mercado (bonos, obligaciones, etc.). Por el contrario,
los activos financieros de renta variable tienen una rentabilidad que depende de las
fluctuaciones del mercado. Las acciones son los activos financieros por excelencia.
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).
El valor de una accin va a variar a lo largo del tiempo, como el de cualquier
bien, dependiendo de las decisiones que toman los intervinientes en el mercado de la
Bolsa.
La compra de una accin de una empresa supone convertirse en accionista de la
misma y esto conlleva los siguientes derechos:
- Derecho al dividendo. El beneficio que una empresa obtiene en un
ejercicio se destina, en primer lugar, a compensar las prdidas de aos
anteriores si las hubiere; despus deben pagarse los impuestos
correspondientes; la parte restante podr destinarse a reservas y
dividendos. Las reservas son la parte del beneficio que se mantiene en la
sociedad con objeto de aumentar la potencia econmica de la misma y
permitir financiar con recursos propios las inversiones que tengan
previstas. El dividendo es la parte del beneficio que la compaa reparte a
sus accionistas. Como puede deducirse, el importe del dividendo depende
de los resultados de la compaa cada ao y de su poltica de distribucin

16
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
de beneficios. Por eso a las acciones son consideradas un producto de
renta variable.
- Derecho a la transmisin. Todo accionista tiene derecho, a recibir la
parte proporcional que le corresponde que es la resultante de la
liquidacin de la sociedad; ello no significa que tenga derecho a solicitar
a la sociedad que le devuelva el valor de su inversin en cualquier
momento. Sin embargo, todo accionista tiene el derecho de vender sus
acciones, siempre y cuando encuentre comprador. La transmisin est
prcticamente asegurada, dado que una de las principales funciones de la
Bolsa es precisamente dar liquidez a los valores cotizados. La diferencia
positiva entre el precio de venta y el precio al que se compraron las
acciones se denomina plusvala
- Derecho preferente de suscripcin. Cuando una sociedad annima
efecta una ampliacin de capital con emisin de nuevas acciones, sus
accionistas actuales tienen derecho preferente para suscribir
(comprometerse a la compra) de las nuevas acciones.
- Derecho a voto. Todos los accionistas tienen derecho a voto en la Junta
General de la empresa. La Junta General es la reunin que tienen todos
los accionistas ordinariamente, una vez al ao, y extraordinariamente en
determinadas circunstancias, para tomar decisiones principales relativas a
la empresa, y entre ellas aprobar los ejercicios concluidos,
nombramientos, etc. Todos los accionistas tienen derecho a voto, con una
restriccin: slo pueden votar directamente aqullos que renan el
nmero mnimo de acciones que se determine; aquellos accionistas que
posean un nmero inferior de acciones pueden unirse para cubrir dicho
mnimo y votar conjuntamente.
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:

17
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
- Obtener rentabilidad de la inversin
- Obtener control en una compaa
La rentabilidad de una inversin en acciones se obtiene a travs del cobro de
dividendos, o a travs de la generacin de una plusvala cuando se vende la accin a
un precio superior al que se compr.
Un inversor particular invertir en acciones con la intencin de obtener una
rentabilidad a su inversin, dado que invertir en acciones para obtener el control de
una compaa es el tipo de decisin estratgica que interesa a un inversor
institucional con unos recursos de capital considerables.
Inversin en acciones a corto plazo
El modelo de inversin que se plantea en este proyecto es la inversin en
acciones a corto plazo, pues es el escenario que se considera ms susceptible de ser
modelado matemticamente.
Un modelo matemtico de prediccin requiere de un escenario en el cual la
prediccin a realizar dependa de una serie de variables cuantificables. Se parte del
supuesto de que las variaciones de una accin en el corto plazo estn fuertemente
afectadas por la informacin histrica que se tiene de sta. Esta informacin histrica
se puede resumir en el valor de los diferentes indicadores burstiles que afectan a las
decisiones que toman los intervinientes en el mercado.
Se pretende modelar un escenario en el que se presupone que estos indicadores
burstiles son los que determinan las decisiones de los interventores en el mercado, y
por tanto son indirectamente los causantes de la variacin del precio de una accin.
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.

18
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
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.
1.3 Prediccin de series financieras
El valor de una accin a lo largo del tiempo es una serie temporal. Por tanto, la
prediccin de valores futuros de las acciones consiste en la prediccin de series
temporales. Una serie temporal es una secuencia cronolgica de observaciones de
una variable.
El tiempo se suele observar en pasos de tiempo discretos, luego el valor de una
variable de una serie temporal ser una variable discreta. Cuando se estudia la
variacin de una serie temporal se trata de identificar patrones histricos que puedan
ser tiles en la prediccin. Para tratar de identificar estos patrones se parte de que una
serie temporal est compuesta por:
- Tendencias: una tendencia se da cuando los valores de una serie
temporal crecen o disminuyen durante largos periodos de tiempo.
- Ciclos: un ciclo se refiere a movimientos hacia arriba o hacia abajo
alrededor del nivel de tendencia.
- Estacionalidades: patrones que se repiten cada determinado tiempo.
- Aleatoriedades: son movimientos irregulares en una serie de tiempo que
no siguen un patrn regular, ni reconocible.
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

19
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
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 procesos prcticamente aleatorios.
- Cambian sus propiedades estadsticas a lo largo del tiempo.
- Son series con elevado nivel de ruido, ya que existe una gran cantidad de
aleatoriedad en las variaciones da a da.
- La aparicin de tcnicas de prediccin pasa a ser parte del proceso a
predecir, puesto que influir en la toma de decisiones de los inversores.
La prediccin de valores futuros de series financieras es un problema difcil,
dado que debera tener en cuenta todos los parmetros que determinan las
expectativas de los intervinientes en el mercado, y estos parmetros suelen ser de
carcter psicolgico e imposibles de cuantificar.
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.
Modelos de prediccin de series financieras
Cuando se trata de modelar series financieras, se plantea modelar un problema
inverso, es decir, dada la evolucin de un sistema (serie de datos compuesta por la
variacin de una accin a lo largo del tiempo) construir un modelo que pueda haberla
originado (modelo generador de datos). Si se determina la funcin que puede dar
origen a esta evolucin, se dispondr de un posible modelo de prediccin. Para
estimar esta funcin se separan los datos en dos grupos: el primero se utilizar para
llevar a cabo una interpolacin o aproximacin de la funcin desconocida (conjunto

20
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
de entrenamiento) y el segundo para evaluar la bondad del ajuste mediante los
errores de prediccin (ver [OLME04]).
Los primeros modelos de prediccin de series temporales que se desarrollaron
fueron los modelos ARMA (modelos autoregresivos y de medias mviles) y ARIMA
(modelos autoregresivos, integrados de medias mviles). Estos modelos trataban de
modelizar la evolucin de una serie temporal empleando funciones lineales cuyos
parmetros dependan de medias mviles y autorregresiones. Estos modelos tienen
una serie de inconvenientes como son su incapacidad de ajustar comportamientos
irreversibles en el tiempo, asimtricos o irregulares. Lo cierto es que no dejan de ser
modelos lineales incapaces de detectar relaciones no lineales (ver [CRUZ04]). (Dado
que el sistema no utiliza estos modelos de prediccin, no es objeto de este documento
el realizar un anlisis descriptivo de estos).
Debido a los inconvenientes que tenan los modelos lineales de prediccin, se
empezaron a desarrollar modelos de prediccin no lineales. Los modelos de
prediccin no lineales que mejores resultados proporcionan son los que se
desarrollan en el campo de las redes neuronales. Estos modelos tienen la capacidad
de explorar de forma adaptativa una gran cantidad de modelos potenciales.
A partir de aqu se puede decir que actualmente existen dos vas para tratar de
predecir valores futuros de series financieras (ver [OLME04]):
- Va compresin: tratar de entender el comportamiento de una serie
financiera utilizando la reconstruccin del espacio de estados (modelos
ARMA y ARIMA).
- Va aprendizaje: desarrollar modelos utilizando un enfoque de redes,
desarrollando un algoritmo que imite el comportamiento de la serie
financiera.
La experiencia de anteriores estudios indica que la utilizacin de redes
neuronales incrementa la precisin en la prediccin de series financieras. Por esto
este proyecto aplica las redes neuronales para realizar las predicciones de las
cotizaciones.

21
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Es importante sealar que la utilizacin de redes neuronales tiene un
inconveniente: se pierde la claridad de la que se dispona en los modelos lineales en
cuanto a cules son los parmetros que determinan el modelo de prediccin, y cmo
cambia ste al variar aquellos.
1.4 Objetivos del proyecto
El objetivo principal de este proyecto es desarrollar un sistema de inversin en
bolsa a corto plazo que trabaje en tiempo real con la Bolsa (realizando operaciones
de compra y venta de acciones) permitiendo obtener beneficios sin correr riesgos
demasiado elevados. Otros objetivos que se derivan de este objetivo principal son:
- Estudio de las redes neuronales artificiales y de su implementacin en un
sistema de prediccin burstil.
- Estudio estadstico de la bolsa tratando de identificar las causas de sus
movimientos y tendencias.
- Desarrollo de un sistema de prediccin y de toma de decisiones que opere con
la bolsa en tiempo real.
- Obtener un manejo de Matlab y Visual Chart a nivel profesional.
1.5 Metodologa y recursos utilizados
Para desarrollar el sistema de inversin en bolsa se van a seguir los siguientes
pasos:
1. Anlisis de las entradas al modelo. Decidir cules van a ser y cmo se
van a obtener.
2. Programacin de una red neuronal que sea capaz de predecir valores
futuros de la bolsa a partir de las entradas del modelo.
3. Incluir la red neuronal en un sistema que trabaje en tiempo real con la
bolsa.

22
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Para desarrollar este proyecto se han empleado los siguientes recursos:



Matlab. Se programa en Matlab la obtencin de
las entradas al modelo, la red neuronal y el sistema de
toma de decisiones.

Visual Chart. Se utiliza Visual Chart para la
obtencin de datos histricos y de datos en tiempo
real. Tambin se utilizar este programa para ejecutar
las rdenes de compra y venta de acciones.


23
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
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

24
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
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.

Ilustracin 1: Estructura bsica del modelo
Las entradas que en este captulo se exponen representan la informacin histrica
que todo inversor dispone a la hora de tomar una decisin. El valor futuro de una
accin depende de las decisiones de los inversores y estas estn condicionadas en
cierto modo por la informacin histrica de la que se dispone.
Se van a realizar predicciones cada 5 minutos, luego cada 5 minutos se debern
de calcular nuevas entradas al modelo.
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.
Entradas a el
modelo de
prediccin
Red
Neuronal
Prediccin

25
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo

Ilustracin 2: 20 redes neuronales
A continuacin se muestra la lista de las 20 empresas analizadas.
Nemnico Empresa ndice
'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
Entradas empresa
1
Entradas empresa
2
Entradas empresa
20
Red
neuronal
empresa 1
Red
neuronal
empresa 2
Red
neuronal
empresa 20
.. ..
Prediccin
empresa 1
Prediccin
empresa 2
Prediccin
empresa 20

26
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
'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.
Existen muchos tipos de grficos burstiles, en esta introduccin se van explicar
los tres ms comunes: lineal, barras y candelabro.
Grfico lineal
Muchos inversores consideran que el valor de cierre es ms importante del
periodo. Este grfico une los puntos de cierre de cada uno de los periodos.

27
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo

Grfico 1: Grfico lineal de Endesa 14/05/08 (Elaboracin propia con Visual Chart)
Grfico de barras
Es el grfico burstil ms popular y ser el que ms se va a utilizar en este
documento. Representa el valor de apertura, de cierre, mximo y mnimo de la
accin en cada periodo. El mximo y el mnimo estn representados en el punto
superior e inferior de la barra respectivamente. El valor de apertura es representado
mediante una lnea horizontal a la izquierda de la barra, y el valor de cierre es
representado mediante otra lnea horizontal a la derecha de la barra.
El siguiente grfico muestra los datos del grfico anterior mediante un grfico de
barras.

28
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo

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:

Ilustracin 3: Grfico candelabro
Las cajas negras implican que el valor de cierre es inferior al de apertura. La
ventaja de este tipo de grfico est en que se identifica rpidamente los periodos en
los que la accin ha bajado y en los que la accin ha subido.
El siguiente grfico muestra los datos del grfico anterior mediante un grfico de
tipo candelabro.

Open (apertura)
Low(mnimo)
Close (cierre)
High (mximo)

29
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo

Grfico 3: Grfico candelabro de Endesa 14/05/08 (Elaboracin propia con Visual Chart)
2.2 Obtencin de datos histricos
Todas las entradas se obtienen a partir de datos histricos. Estos datos histricos
se obtienen del programa Visual Chart y posteriormente se tratan para que sean
homogneos. Los datos homogneos son aquellos en los que en cada periodo se
tiene informacin sobre las 20 empresas.
La obtencin de las entradas se programa en Matlab. La estructura de los datos
necesaria para obtener las entradas consiste en una variable .mat de Matlab del tipo
structure. Esta variable consiste en una matriz en la que cada celda contiene los datos
histricos de una empresa. Ser una matriz fila de 20 columnas.
Los datos histricos de cada empresa se organizan en forma de matriz de 7
columnas y n filas. Las siete columnas sern: fecha, hora, open high, low, close; y las
filas representarn los distintos periodos.

30
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo

Ilustracin 4: Estructura de los datos histricos necesarios
Open valor de la accin al comienzo del periodo
High valor mximo que toma la accin en el periodo
Low valor mnimo que toma la accin en el periodo
Close valor de la accin al finalizar el periodo
Volume n de ttulos negociados en el periodo

El valor de una accin es una variable discreta que ha de estudiarse en intervalos
concretos de tiempo (por esto el valor de apertura de un periodo no tiene porque
coincidir con el valor de cierre del periodo anterior).
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
Fecha Hora Open High Low Close Volume
ammdd hhmm ##.## ##.## ##.## ##.## ##.##

ammdd hhmm ##.## ##.## ##.## ##.## ##.##
Empresa1 (ACS) Empresai Empresa 24 (Unin Fenosa)

31
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
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,091000,36.58,36.58,36.45,36.47,8109,0
ALT.MC,I,20060712,092500,36.46,36.46,36.46,36.46,150,0
ALT.MC,I,20060712,093000,36.48,36.48,36.48,36.48,1769,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

Para homogeneizar los datos se ha programado en Matlab una funcin
homogeniza, que rellena los huecos de informacin suponiendo que en los periodos
en los que no se dispone de informacin, el valor de la accin no vara y no se
negocia ningn ttulo.
La accin de homogenizar datos puede entorpecer la prediccin si se tiene
demasiados huecos de informacin. Por este motivo se han escogido 20 empresas
que no suelen presentar demasiados huecos de informacin.
Para homogenizar los datos es necesario seguir los siguientes pasos:
1. Descargar los grficos de las 20 empresas de Visual Chart en archivo .txt
2. Ejecutar la funcin homogeniza en Matlab
Se han descargado datos histricos intradiarios de 24 empresas del IBEX-35
desde el da 1 de Mayo de 2006 hasta el 5 de Junio de 2008. A continuacin se
muestran los porcentajes de periodos en los que se dispone de informacin en los
datos de cada una de las 24 empresas.
Dnde est el periodo
de las 9:45?

32
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo

Grfico 4: Porcentaje de periodos en los que se dispone de informacin
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).
El disponer de datos histricos completos en base intradiaria es crtico para
realizar un entrenamiento correcto de las redes neuronales, ya que cuando existen
muchos periodos en los que no se dispone de informacin y se supone que el valor de
la accin no vara, se obtienen series financieras que no representan la verdadera
variacin del valor de un accin.
Un procedimiento para rellenar huecos de informacin consiste en simular
mediante el modelo de prediccin los valores que deberan darse. Pero dado que las
empresas estudiadas tienen slo un 0.5% de huecos de informacin, se ha decidido
ignorarlos.
Una vez se tienen los datos histricos de todas las empresas homogenizados ya
se pueden obtener las entradas al modelo.
0
10
20
30
40
50
60
70
80
90
100
% de peridos en los que se dispone de informacin
N de periodos estudiados: 54.468

33
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
2.3 Lista de entradas al modelo
En este apartado se presenta la lista de entradas al modelo. El estudio de las
posibles entradas al modelo ha partido del proyecto de fin de carrera: Aplicacin del
perceptrn multicapa a la compra-venta de acciones de bolsa a corto plazo, de
Toms Malaver (ver [MALA07]).
Partiendo de las entradas al modelo de Toms Malaver, se han desarrollado
diferentes estudios empricos que han concluido con la incorporacin de nuevas
entradas y con la eliminacin de otras existentes.
Entrada 1 Close (t-1)
Entrada 2 Open (t-1)
Entrada 3 Open (t-2)
Entrada 4 Open (t-3)
Entrada 5 Open (t-5)
Entrada 6 Open (t-7)
Entrada 7 Open (t-9)
Entrada 8 Open (t-11)
Entrada 9 Open (t-13)
Entrada 10 Open (t-15)
Entrada 11 Open (t-17)
Entrada 12 Pendiente de los 4 ltimos precios de apertura
Entrada 13 Pendiente de los 2 ltimos precios de apertura
Entrada 14 Media exponencial* de los ltimos 14 precios de apertura
Entrada 15 Media mvil* de los ltimos 26 precios de apertura
Entrada 16 Media mvil* de los ltimos 7 precios de apertura
Entrada 17 Media mvil* de los ltimos 42 precios de apertura
Entrada 18 Valor del ADX*

34
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Entrada 19 Coeficiente de variacin del ADX respecto al precio de apertura*
Entrada 20 Valor del MACD*
Entrada 21 Valor de SI GNAL*
Entrada 22 Coeficiente de variacin del MACD respecto al precio de
apertura*
Entrada 23 Coeficiente de variacin del OBV respecto al precio de apertura*
Entrada 24 Valor del RSI *
Entrada 25 Coeficiente de variacin del RSI respecto al precio de apertura*
Entrada 26 Valor del CCI *
Entrada 27 Coeficiente de variacin del CCI respecto al precio de apertura*
Entrada 28 Valor de la curva K del Estocstico*
Entrada 29 Diferencia entre las dos curvas del Estocstico (K-D)*
Entrada 30 Coeficiente de variacin de la curva K del Estocstico respecto al
precio de apertura*
Tabla 2: Lista de entradas al modelo *Ver apartados: I ndicadores Burstiles y Estudio de las variaciones de
los indicadores respecto al precio
2.4 Indicadores burstiles
En este apartado se van a analizar los indicadores burstiles que se han incluido
como entradas al modelo. Se han consultado diferentes fuentes de informacin
referentes a indicadores burstiles (ver [EVEL06] y (ver [MALA07]), pero la fuente
ms completa y de la que se ha obtenido toda la informacin para la elaboracin de
este apartado, ha sido la que se encuentra en la pgina web www.stockcharts.com.
ADX (movimiento direccional)
Introduccin
El ADX (Average Directional), es un indicador que se utiliza para conocer si un
valor est en tendencia o no y determinar la fortaleza de la misma. El ADX oscila
entre valores comprendidos entre 0% y 100%, y cuanto ms elevado sea su valor ms
fuerte ser la tendencia que representa. Valores del ADX por encima de 60 son
extraos, y normalmente se considera que un ADX mayor que 40 ya est

35
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
representando una fuerte tendencia. Por otro lado valores inferiores al 20
representarn tendencias muy dbiles.
El valor del ADX va a representar la fortaleza de la tendencia. Para saber si esta
es bajista o alcista se tiene que observar el valor de +DI y DI que son dos
parmetros que se utilizan en el clculo del ADX.
Clculo
El ADX se sirve de los siguientes parmetros para determinar la fortaleza de la
tendencia:
- DM (Directional movement, movimiento direccional)
- TR (True range, amplitud verdadera)
- DI (Directional Indicator, indicador direccional)
El DM es la diferencia entre el mximo (o mnimo) de un periodo y el mximo
(o mnimo) del periodo anterior. Si el mximo del periodo es mayor que el mximo
del periodo anterior, se tendr un DM positivo (+DM); si el mnimo del periodo es
menor que el mnimo del periodo anterior se tendr un DM negativo (-DM). Si el
precio de un periodo cae dentro del periodo anterior entonces no se tiene DM; y si el
precio del periodo se mueve en un rango superior o inferior al mismo se considerar
el mximo de +DM y DM.

36
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo

Ilustracin 5: Clculo del Directional Movement
+ = 1
= 1
+ = = 0
El TR de un periodo se define como el mximo valor de los siguientes:
- Diferencia entre el mximo y el mnimo de un periodo.
- Diferencia entre el mximo del periodo y el valor de cierre del periodo
anterior.
- Diferencia entre el valor de cierre del periodo anterior y el mnimo del
periodo.


37
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo

1
=

2
= 1 = (
1
,
2
,
3
)

3
= 1
El DI se representar como por +DI si el valor se mueve al alza y por DI si el
valor se mueve a la baja (que se comprueba observando el signo del DM):
TR
DM
DI
+
= +

TR
DM
DI

=

J. Welles Wilder, inventor del ADX, recomienda trabajar con los 14 ltimos
periodos para poder obtener un resultado suficientemente representativo.
De este modo se calcula el +DM(14) como la suma de los +DM de los 14
ltimos periodos, y DM(14) como la suma de los DM de los catorce ltimos
periodos. Anlogamente, se tendr TR(14) como la suma de los rangos verdaderos de
los catorce ltimos periodos. +DI(14) y DI(14) se calcularan entonces como:
) 14 (
) 14 (
) 14 (
TR
DM
DI
+
= +

) 14 (
) 14 (
) 14 (
TR
DM
DI

=

Con +DI(14) y con DI(14) ya se podr obtener el indicador ADX(14) como:
)) 14 ( ( )) 14 ( (
)) 14 ( ( )) 14 ( (
) 14 (
DI DI
DI DI
ADX
+ +
+
=

El numerador de esta ecuacin representa la fuerza de la tendencia, ya que es la
diferencia entre las dos tendencias (alza y baja), y el denominador normaliza por el
nmero de periodos que se est trabajando.

38
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Razonamiento econmico

Grfico 5: Ejemplo1 ADX (Fuente: www.stockcharts.com)
La siguiente figura muestra dos grficas: la superior indica el valor de la accin
de Intel a lo largo del tiempo, y la inferior que muestra los valores que van tomando
el ADX (negro), el +DI (verde) y el DI (rojo). Se observan dos periodos en los que
el ADX supera 40 luego identificamos dos fuertes tendencias.
A continuacin se va a explicar cmo esta informacin se puede traducir en
rdenes de compra y venta.

39
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo

Grfico 6: Ejemplo2 ADX (Fuente: FxStreet)
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.
- Zonas 1 y 3 rdenes de venta. -DI corta a +DI con un ADX superior al
25%, luego se puede deducir que va a empezar una tendencia bajista (ms
fortalecida en 3 que en 1). La accin correcta sera la de vender valores ya
que estos parece que van a bajar.
- Zona 2 rdenes de compra. +DI corta a DI y empieza a aumentar la
diferencia entre las dos curvas, esto unido a que la curva del ADX empieza a
aumentar, hace que se pueda deducir que se est ante una tendencia alcista
que se va fortaleciendo. La accin correcta sera la de comprar acciones.
- Zona 4 ADX>40. Cuando el ADX se mantiene un cierto tiempo por
encima del 40 nos da una seal de posible agotamiento del movimiento
direccional, ya que los mercados no son tan tendenciales durante mucho
tiempo.

40
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
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:
- Toma de decisiones a largo plazo periodos de 1 mes
- Toma de decisiones a medio plazo periodos de 1 semana 1 da
- Toma de decisiones a corto plazo periodos de 5 minutos
Como se estn realizando predicciones a corto plazo, se tomarn periodos de 5
minutos, por este motivo el ADX podr variar mucho en un da ya que este
contempla 103 periodos de 5 minutos.
Se ha programado en Matlab una funcin ADX de la forma:

Ilustracin 6: Funcin ADX
La ilustracin 6 representa el esquema de entradas y salidas de la funcin ADX.
Los tems verde y rojo representan respectivamente las entradas y las salidas de la
funcin; el tem central contiene el nombre de la funcin. Tambin se representa el
formato y la dimensin de las entradas y salidas.
M_datos(datos histricos)
ADX
M_Adx
Fecha Hora Open High Low Close Volume
##### #### ##.## ##.## ##.## ##.## ####

##### #### ##.## ##.## ##.## ##.## ####
fecha hora +DI(14) -DI(14) ADX
##### #### #### #### ####

##### #### #### #### ####
n-14 periodos
Periodo 1
Periodo n
Periodo 15
Periodo n

41
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
Este tipo de esquema se va a utilizar a lo largo de todo el documento cada vez
que se describa el esquema de entradas y salidas de una funcin.
Como se deduce del clculo para determinar el ADX de un periodo, es necesario
tener un mnimo de 14 periodos anteriores. Por esto la matriz de salida de la funcin
ADX no da resultados para los primeros 14 periodos de la matriz de datos que se
utiliza como entrada a la funcin.
Ejemplo
En este ejemplo vamos a representar las cotizaciones de Acerinox (ndice de
empresa 2) a lo largo de los das 14 y 15 de Enero contrastndolas con los valores
que ha ido tomando el indicador ADX.

Grfico 7: Ejemplo3 ADX en Acerinox (Elaboracin propia con Visual Chart)
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

42
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
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.
Ntese que el ADX no ha identificado la tendencia bajista que se da al principio
del da 14 de Febrero. Esto se debe a que en muchas ocasiones los datos anteriores
que se utilizan en el clculo del ADX son muy voltiles y hacen que no se distingan
algunas tendencias.
MACD (convergencia-divergencia del promedio mvil)
Introduccin
El MACD (Moving Average Convergence/Divergence) es un indicador que trata
de identificar la tendencia en una cotizacin. Este indicador fue desarrollado por
Gerald Appel. Este indicador se vale de medias mviles para identificar la tendencia.
El MACD se representa grficamente mediante dos curvas: rpida y lenta.
Clculo
Su expresin estndar consiste en que la curva rpida (llamada MACD y
representada como una lnea continua) venga dada por la expresin:
) 12 .( . ) 26 .( . Exp Med Exp Med MACD =

Y la curva lenta (llamada Signal y representada por una lnea discontinua) venga
dada por la expresin:
)) 9 ( .( . MACD Exp Med Signal =

Donde:
Med.Exp. Media exponencial
Se utiliza la media exponencial, porque da ms importancia a los ltimos
valores. La expresin de la media exponencial es:

43
Juan Hornedo Lpez-Ibor: Sistema de Inversin en Bolsa a Corto Plazo
( )
) ( . ) , 0 .( .
_ _
_ 1
_
) , 1 .( .
1
2
) , 1 .( . ) ( ) , .( .
N Simple Med N Exp Med
periodos de nmero N
anterior periodo t
actual periodo t
N t Exp Med
N
N t Exp Med t precio N t Exp Med
=

+
|
.
|

\
|
+
=

Ejemplo: Med.Exp.(4)

Ilustracin 7: Ejemplo del clculo de la Media Exponencial
Razonamiento econmico
Cuando se estudia el MACD se representan dos curvas: SIGNAL(curva ms
lenta) y MACD (curva ms rpida). Una vez representadas las dos curvas, la
informacin que se puede obtener de ellas es:
- Lnea rpida (MACD) Se mueve por encima y por debajo de 0.
Cuando supera al cero significa que comienza una temporada alcista, y
cuando empieza a moverse debajo de 0, significa que comienza una
temporada bajista.
- Cruces de la lnea rpida (MACD) con la lnea lenta (SIGNAL)
Cuando la curva rpida supera a la lnea lenta se interpreta como una
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 44

seal de compra (empieza temporada alcista), y cuando la lenta supera a
la rpida se interpreta como una seal de venta (empieza temporada
bajista). Cuanto ms cerca del cero se produzcan estos cruces, ms fiable
ser la informacin que proporcionan. Pues si se cortan cerca de cero
significa que se parte de un periodo estable (poca diferencia entre la
curva rpida y lenta), y si por el contrario se cortan en un punto con
diferencia significativa entre las dos curvas podra tratarse de subidas y
bajadas muy puntuales en un periodo revuelto.


Grfico 8: Ejemplo1 MACD (Elaboracin propia con Visual Chart)
En esta figura se muestran las rdenes de compra y venta que se generan
aplicando los criterios del indicador MACD explicado anteriormente.
Programacin
Se han programado una funcin MACD a la cual se le da una serie de
cotizaciones y devuelve el valor del MACD y de la SIGNAL.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 45


Ilustracin 8: Funcin MACD
Como se deduce del clculo, para determinar el MACD y la SIGNAL de un
periodo es necesario tener un mnimo de 33 periodos anteriores. Por esto la matriz de
salida de la funcin MACD no incluye los primeros 33 periodos de la matriz datos
histricos.
Ejemplo
En este ejemplo se van a representar los valores de la cotizacin de ACS (ndice
de empresa 1) y del MACD durante los das 14 y 15 de Abril del 2008. Se observan
las seales de compra y venta que se generan cuando se cruzan las dos curvas del
MACD.
M_datos(datos histricos)
MACD
M_Macd
n-33 periodos
Periodo 1
Periodo n
Periodo 34
Periodo n
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 46


Grfico 9: Ejemplo2 MACD en ACS (Elaboracin propia con Visual Chart)
Si efectuaran las seales, se tendra acciones en los rectngulos verdes y no se
tendran en los rectngulos rojos. De este modo se conseguira generar plusvalas
aprovechando las subidas a corto plazo de la bolsa.
OBV (Balance de volmenes)
Introduccin
El indicador OBV (On Balance Volume, Balance de Volmenes) se utiliza para
determinar el flujo del volumen negociado (Volume) de una accin. El concepto que
hay detrs de este indicador es que el volumen negociado precede al precio, luego si
se estudia los movimientos del volumen negociado se podr predecir variaciones de
tendencia en el precio.
Este indicador fue introducido por Joe Granville en 1963.
Clculo
C
V
C
C
V
C
V
V
C
No tengo acciones
Tengo acciones
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 47

OBV se calcula aadiendo el volumen de un periodo al volumen acumulado total
cuando la accin cierra a un precio mayor al ltimo cierre, y restando el volumen del
periodo al volumen acumulado cuando la accin cierra a un precio menor que el
ltimo cierre.
Si close (t) > close (t-1) ) ( ) 1 ( ) ( t Volumen t OBV t OBV + =
Si close (t) < close (t-1) ) ( ) 1 ( ) ( t Volumen t OBV t OBV =
Si close (t) = close (t-1) ) 1 ( ) ( = t OBV t OBV
Inicializacin: ) 0 ( ) 0 ( Volumen OBV =
Razonamiento econmico
El OBV va a ser un indicador cuyo valor ir variando a lo largo del tiempo,
dependiendo de si el precio de la accin va aumentando y del volumen de cada
periodo.
Se deduce que cuando el volumen cae o sube dramticamente sin que en el
precio de la accin se produzcan cambios importantes, el precio de la accin est
propenso a descender o subir. Si el volumen de una accin est aumentando significa
que muchos inversores se estn interesando en comprar la accin y que llegar un
punto en el cual el precio empiece a aumentar como consecuencia de un aumento de
la demanda. Por el contrario si el volumen empieza a descender (los inversores no se
estn interesando por el valor) el precio de la accin tender a caer (poca demanda,
luego el precio disminuir).
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


Grfico 10: Ejemplo1 OBV (Fuente TradeStation)
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:
- Orden de compra El precio de una accin permanece constante a la vez
que empieza a aumentar el OBV. Esto indica que la gente est comprando
esta accin y que su valor subir.
- Orden de venta El precio de una accin est aumentando y el OBV est
disminuyendo. Esto indica que la accin a estar sobrevalorada, pues tiene un
precio que no se corresponde con su demanda y que tender a bajar su valor.


Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 49

Programacin
Se ha programado una funcin en OBV en Matlab que obtiene el OBV a partir
de las cotizaciones de un valor en cada instante.

Ilustracin 9: Funcin OBV
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
En este ejemplo se va a representar las cotizaciones y los valores del OBV de
Acerinox durante los das 4, 7 y 8 de Abril del 2008.
M_datos(datos histricos)
OBV
M_Obv
Fecha Hora Open High Low Close Volume
##### #### ##.## ##.## ##.## ##.## ####

##### #### ##.## ##.## ##.## ##.## ####
fecha hora OBV
##### #### ####

##### #### ####
n
Periodo 1
Periodo n
Periodo 1
Periodo n
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 50


Grfico 11: Ejemplo2 OBV (Elaboracin propia con Visual Chart)
En este el grfico se detectan dos rdenes de compra en dos puntos. En estos
puntos el OBV tiene una tendencia positiva y la accin en ese punto lleva 2 o ms
periodos permaneciendo constante.
De haberse efectuado cualquiera de las dos rdenes de compra se hubiese
generado una plusvala, pues en los dos casos la accin incrementa su valor
inmediatamente despus.
RSI (ndice relativo de fuerza)
Introduccin
El RSI (Relative Strengh Indicator) fue desarrollado por J. Welles Wilder en
1978. El RSI compara la magnitud de las recientes ganancias de una cotizacin con
la magnitud de sus recientes prdidas. Esta informacin la expresa mediante un
porcentaje. Wilder recomienda trabajar con los 14 ltimos periodos.
Para determinar la ganancia o prdida de una cotizacin en un periodo
determinado, slo se precisa del valor de cierre del periodo actual y del valor de
cierre del periodo anterior. La magnitud de las recientes prdidas/ganancias se
compra
compra
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 51

determina a partir de los valores de las prdidas y ganancias de los ltimos 14
periodos.
Clculo
Para calcular el RSI hay que realizar las siguientes operaciones:
= 1 1
= 0 < 1
= 1 < 1
= 0 1
=
13 +
14

14 =
()
14
=1
14

=
13 +
14

14 =
()
14
=1
14

=



= 100
100
1 +


Como se deduce de las ecuaciones, es necesario disponer de al menos 14
periodos anteriores para poder iniciar el clculo del RSI. Ntese tambin que las
prdidas, cuando existen, se contabilizan con un valor positivo.
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

En las formulas de AverageGain y AverageLoss, el dato del ltimo periodo se
suma a la media anterior para que tenga un mayor peso respecto a los anteriores a l.
Es el mismo concepto de las medias exponenciales que se estudiaron en el indicador
MACD. Este tipo de ponderaciones son muy frecuentes cuando estudiamos series
financieras ya que el espacio temporal es una variable que tiene que influir de algn
modo en el clculo de los promedios, por el hecho de que el valor anterior de una
cotizacin siempre aporta ms informacin para la prediccin de un valor posterior
que un valor que se da en un nmero de periodos anteriores.
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.
Tambin es importante estudiar la divergencia del RSI ya que nos va a dar
informacin acerca de lo que va a ocurrir en el futuro. Por ejemplo, si se est en un
periodo alcista (RSI>70%), y se tiene una tendencia positiva se podr decir que la
accin est en tendencia de aumentar su valor. Si por el contrario se est en un
perodo alcista pero la divergencia es negativa se dir que la accin puede empezar a
disminuir su valor.
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).
- Valor sobrecomprado hay ms inversores que quieren comprar que
inversores que quieren vender, luego el precio tender a aumentar su
valor
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 53

- Valor sobrevendido hay ms inversores que quieren vender que
inversores que quieren comprar, luego el precio tender a reducir su
valor.

Grfico 12: Ejemplo1 RSI (Fuente StockCharts)
En el ejemplo de la figura se observa como en la segunda quincena de diciembre
la accin empieza a estar sobrecomprada y su valor empieza a aumentar, luego
cuando la tendencia del RSI se vuelve negativa empieza a bajar. Tambin se observa
que a mediados de mayo se est en un periodo alcista pero con tendencia del RSI
negativa, luego se podra haber anticipado la cada del periodo siguiente a la lnea
roja.
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


Ilustracin 10: Funcin RSI
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

Grfico 13: Ejemplo2 RSI (Elaboracin propia con Visual Chart)
En este ejemplo (ACS) se puede observar como con la ayuda del RSI podemos
tomar decisiones acertadas.
M_datos(datos histricos)
RSI
M_Rsi
Fecha Hora Open High Low Close Volume
##### #### ##.## ##.## ##.## ##.## ####

##### #### ##.## ##.## ##.## ##.## ####
fecha Hora AvgGain AvgLoss RSI
##### #### #### #### ####

##### #### #### #### ####
n-14 periodos
Periodo 1
Periodo n
Periodo 15
Periodo n
A
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 55

En el periodo A se podra comprar acciones de la empresa porque se est en un
perodo alcista con tendencia positiva. Se observa como dos periodos despus la
accin sube y se hubiese ganado una plusvala considerable.
CCI (ndice de commodities)
Introduccin
El CCI (Commodity Chanel Index) es un indicador desarrollado por Donald
Lambert que trata de identificar los ciclos de las commodities. Entiendo commodity
como cualquier accin o bono, en este caso.
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

Como se observa en las ecuaciones, el CCI no es ms que realizar una
normalizacin del TP de un periodo t, con la media y la desviacin tpica de los TP
de los periodos anteriores (tpicamente 20 periodos anteriores). Con la salvedad de
que multiplicamos el denominador por una constante de 0.15, esta constante se
utiliza para que el 70%-80% de los valores del CCI caigan en un rango comprendido
entre el -100 y el 100, y tener as una referencia fcil de comparacin. El porcentaje
de valores del CCI que caigan entre el -100 y el +100 depender del nmero de
periodos utilizados.
En el clculo del CCI que se ha realizado en este modelo se ha supuesto una
longitud periodo de 20 periodos de 5 minutos, es decir de 1h y 40 minutos. Puede
parecer una longitud muy pequea, pero como se estn realizando predicciones
extremadamente cortoplacistas, se requiere de variaciones representativas de los
indicadores a nivel intradiario para poder disponer de entradas lo suficientemente
distintas en cada periodo.
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.
Luego las rdenes de compra y venta de este indicador sern:
- Si CCI>100 comprar acciones
- Si CCI<-100 vender acciones
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 57

Al igual que muchos otros indicadores burstiles, es interesante estudiar la
variacin del CCI con respecto al precio. Esta variacin puede confirmar o debilitar
la informacin que se obtiene a partir de este indicador. Si por ejemplo se est en un
periodo con un CCI de 105 y con una tendencia positiva del CCI, entonces se dir
que se est ante una tendencia alcista que tiende a fortalecerse. Si por el contrario la
tendencia es negativa se dir que se est ante una tendencia alcista que se est
debilitando.
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.

Ilustracin 11: Funcin CCI
Ejemplo
Este ejemplo corresponde al estudio del CCI en el valor de la accin de de ACS
entre las fechas indicadas en el grfico.
M_datos(datos histricos)
CCI
M_cci
Fecha Hora Open High Low Close Volume
##### #### ##.## ##.## ##.## ##.## ####

##### #### ##.## ##.## ##.## ##.## ####
fecha hora CCI
##### #### ####

##### #### ####
n-19 periodos
Periodo 1
Periodo n
Periodo 20
Periodo n
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 58


Grfico 14: Ejemplo CCI (Elaboracin propia con Visual Chart)
En este ejemplo se recalca un periodo (12:20) en el cual se tomara una decisin
de compra basndose en el valor del CCI. En este periodo se tiene un CCI superior al
100 y con tendencia positiva, luego se compraran acciones. Se observa como la
compra de acciones a las 12:20 generara una importante plusvala al subir la accin
bastante a las 12:30.
Estocstico
Introduccin
Este indicador fue desarrollado por George C. Lane en el ao 1948. El
estocstico (stochastic) es un indicador que muestra la localizacin del actual cierre
con respecto al mximo/mnimo alcanzado en una serie de periodos anteriores.
Niveles de cierre que estn cerca del mximo indican acumulacin (presin de
compradores) y los niveles de cierre que estn prximos al mnimo indican
distribucin (presin de vendedores).
Clculo
% = 100
1


12:20
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 59

14
% = %, 3
%K lnea rpida del estocstico
%D lnea lenta del estocstico
Razonamiento econmico
El estocstico utiliza fundamentalmente los valores que toma %K para la
obtencin de informacin.
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
Se ha programado una funcin ESTOCASTICO en Matlab que obtiene los
valores de %K y %D en cada periodo a partir de un conjunto de datos histricos.
Para los valores de %K y %D de un periodo se necesita datos de 15 periodos
anteriores.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 60


Ilustracin 12: Funcin ESTOCASTICO
Ejemplo

Grfico 15: Ejemplo Estocstico en Unin Fenosa (Elaboracin propia con Visual Chart)
En este ejemplo se representa mediante flechas las rdenes de compra y venta
que se deducen de la informacin obtenida del estudio del estocstico. Se observa
como las dos ltimas rdenes de compra y venta que se generan son falsas ya que la
accin se mantiene constante. Por el contrario se observa cmo s se generan las
M_datos(datos histricos)
ESTOCASTICO
M_cci
Fecha Hora Open High Low Close Volume
##### #### ##.## ##.## ##.## ##.## ####

##### #### ##.## ##.## ##.## ##.## ####
fecha hora %K %D
##### #### ##.## ##.##

##### #### ##.## ##.##
n-15 periodos
Periodo 1
Periodo n
Periodo 16
Periodo n
Ordenes de
compra
Ordenes de
venta
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 61

rdenes de compra anteriores a los dos picos que se producen en el valor de la
accin.
2.5 Coeficiente de variacin de un indicador
respecto al precio de una accin
Como se coment en el apartado anterior, mucha de la informacin que se
obtiene de los indicadores se puede obtener del estudio de la variacin de ste con
respecto al precio de la accin. Esta relacin se mide mediante el empleo de un
coeficiente (este coeficiente recibe el nombre de divergence en ingls).
El coeficiente de variacin de un indicador (cualquiera de los explicados
anteriormente) respecto al precio de una accin, relaciona la direccin de cambio
(pendiente) del precio con la direccin de cambio de un indicador. Se pueden obtener
coeficientes positivos o negativos; un coeficiente positivo se da cuando el indicador
crece cuando el precio est bajando y un coeficiente negativo se da cuando el
indicador decrece mientras el precio crece.
Para el clculo de este coeficiente se ha programado en Matlab una funcin
divergence que tiene como entradas el valor de un indicador en los ltimos n
periodos y el valor del precio (open) en los n ltimos periodos.

Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 62


Ilustracin 13: Funcin divergence
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 calcular la pendiente media, esta funcin realiza un ajuste lineal de la
columna de valores (ya sea de precios o de valores del indicador) por una recta, y
luego calcula su pendiente.
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.
n (nmero de periodos)
Precios (precios de apertura)
Indicador (valores del
indicador)
divergence
col_divergence
#
Fecha Hora Open
##### #### ##.##

##### #### ##.##
Fecha Hora Indicador
##### #### ##.####

##### #### ##.####
fecha hora divergence
##### #### ##.####

##### #### ##.####
n periodos
n periodos
n periodos
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)
. .
()

De la funcin fit interesa slo el valor de la pendiente, que corresponde a la
salida statistics.p1.
A continuacin se muestra un ejemplo del clculo del coeficiente de variacin
del OBV respecto a la cotizacin de BBVA. Se va a suponer que se realiza el clculo
a partir de la informacin de los ltimos 4 periodos. Los datos de entrada son los
siguientes:
FECHA HORA OBV OPEN
30227 905 744773 7.53
30227 910 554138 7.5
30227 915 421608 7.51
30227 920 562941 7.49

Pendiente Divergence
Precios -0.00029304
0.02 Indicador -0.0238


Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 64

2.6 Rutina de creacin de entradas
El sistema deber de calcular las entradas a la red neuronal en dos situaciones:
- Cuando se quiera entrenar la red neuronal
- Cuando se quiera realizar una prediccin
Cuando se quiera entrenar la red neuronal se necesitar disponer de las entradas
y las salidas (valor que de apertura de una accin en periodo) de un conjunto amplio
de periodos anteriores. Para obtener esta informacin se ha programado una funcin
crea_entradas en Matlab, que a partir de datos histricos de una empresa, crea la
matriz de entradas con sus correspondientes salidas. Estas entradas y salidas son las
que se utilizan para crear (entrenar) la red neuronal.
El esquema de entradas y salidas de esta funcin es el siguiente:

Ilustracin 14: Funcin Crea_Entradas
Los primeros 100 periodos se utilizan para obtener la informacin histrica de
partida para calcular las entradas, por lo que no se dispone de salidas para estos
periodos.
M_datos(datos histricos) Crea_entradas
Matriz_de_entradas
Targets
Fecha Hora Open High Low Close Volume
##### #### ##.## ##.## ##.## ##.## ####

##### #### ##.## ##.## ##.## ##.## ####
fecha hora Open
##### #### ##.##

##### #### ##.##
n-100 periodos
Periodo 1
Periodo n
Periodo 101
Periodo n
fecha hora Entrada 1 Entrada 30
##### #### ##.## ##.##

##### #### ##.## ##.##
Periodo 101
Periodo n
n-100 periodos
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 65

La otra situacin en la que el sistema necesita calcular entradas es para realizar
una prediccin cuando se dispone ya de una red neuronal entrenada. En este caso se
calcularn las entradas en un periodo determinado, para esto es necesario disponer de
al menos 100 periodos anteriores. El clculo de las entradas para un periodo en
concreto se realiza a travs de la funcin calcula_entradas programada en Matlab.
Esta funcin calcula las entradas a la red neuronal de una empresa a partir de datos
histricos de 100 periodos anteriores.

Ilustracin 15. Funcin calcula_entradas
Para calcular las entradas de un periodo determinado, es necesario tener disponer
de los datos de 100 periodos anteriores. Esto hace que cada vez que se disponga de
un dato nuevo, se almacene para poder calcular futuras entradas.



M_datos(datos histricos) calcula_entradas
entradas
Fecha Hora Open High Low Close Volume
##### #### ##.## ##.## ##.## ##.## ####

##### #### ##.## ##.## ##.## ##.## ####
Periodo 1
Periodo 101
fecha hora Entrada 1 Entrada 30
##### #### ##.## ##.##
Periodo 101
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 66

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.
Los primeros intentos por imitar el funcionamiento del cerebro se realizaron en
el ao 1943 por los cientficos Walter Pitts, Beltran Russell y Warren McCulloch. La
primera red neuronal artificial fue desarrollada en 1951 Marvin Minsky, estudiante
de la universidad de Harvard.
Un sistema nervioso biolgico, como el cerebro, est compuesto por un elevado
nmero de elementos (neuronas) interconectados entre s que trabajan conjuntamente
para solucionar un problema. El aprendizaje de los sistemas nerviosos biolgicos
implica ajustes en las conexiones entre las neuronas. Las RNA tratan de imitan esta
estructura que tienen los sistemas nerviosos biolgicos para tomar decisiones y para
aprender.
Un sistema de RNA est compuesto por una estructura con dos elementos
bsicos:
- Neurona: es el elemento bsico de procesamiento de la informacin de la
RNA. Las redes neuronales estn compuestas por neuronas interconectadas
entre s.
- Dendritas: representan las uniones entre neuronas, y tienen asociado un valor
o peso que suele indicar la importancia de la unin.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 68

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.
El elemento bsico de una red neuronal es la neurona. Una neurona no es ms
que una funcin de transferencia que a partir de un nmero de entradas calcula una
nica salida. Estas entradas estn ponderadas de manera que cada una de ellas lleva
asociada un peso (constante por la que se multiplica su valor) que representa la
importancia que tiene la entrada en la salida de la neurona. Los parmetros
necesarios para definir el funcionamiento de una neurona son:
- Nmero de entradas N
- Pesos de las entradas W1, W2, WN
- Funcin de transferencia F(H)
=
Y salida de la red neuronal
=
=
=1

Xj valor de la entrada j
Wj peso de la entrada j
En la imagen se muestra la similitud con una neurona biolgica.
Los pesos de las entradas son los que el algoritmo de aprendizaje ajustar para
que la red neuronal proporcione las salidas adecuadas.

F
F
Y
Y
Ilustracin 16: Neurona
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 69

Existen diferentes tipos de funciones de transferencia que aplicables a una
neurona. Se resumen en la siguiente tabla (ver [DEMU06]):

Tabla 3: Funciones de transferencia para redes neuronales
Ntese que las funciones de transferencia tienen salidas comprendidas en el
intervalo [0,1] o en el intervalo [-1,1]. Este se debe a que las neuronas deben de
trabajar con datos comprendidos en un intervalo determinado, dado que todas las
entradas a una red neuronal deben de estar normalizadas respecto a una determinada
Funcin Frmula Representacin
Escaln

= 1 0
= 0 < 0


Funcin lineal a tramos
= 1 > 0
= 1,1
= 1 < 1

Funcin sigmoidea
=
1
1 +




Funcin tangente
sigmoidea
=
1
1 +
2
1


Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 70

distribucin. Lo corriente es normalizar todas las entradas a la red neuronal respecto
a una distribucin de media 0 y desviacin tpica1. La necesidad de realizar esta
normalizacin es lgica pues todas las entradas deben de partir con la misma
importancia y sern los pesos de las neuronas los que establezcan dicha importancia.
Explicada la estructura de una neurona se puede explicar la estructura de una red
neuronal.
La estructura tpica de una red neuronal es la del perceptrn multicapa. Est
estructura es la estructura ms simple que puede tener una red neuronal y es la que se
va a utilizar para describir los conceptos bsicos de las redes neuronales. Esta red
neuronal est compuesta por un conjunto de neuronas organizadas en capas. Cada
capa tendr un nmero determinado de neuronas y todas las neuronas de una capa
tendrn la misma funcin de trasferencia.
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).
En la siguiente imagen se muestra la estructura de una red neuronal de dos capas,
cuatro entradas y dos salidas:

Ilustracin 17: Ejemplo red neuronal

Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 71

Los parmetros de esta red neuronal se representan matemticamente como
vectores y matrices:
=
1
2
3
4

1 =
1
11
1
12
1
13
1
14
1
21
1
22
1
23
1
24
1
31
1
32
1
33
1
34

1
2
3

1 2 3 4
2 =
2
11
2
12
2
13
2
21
2
22
2
23

1
2



1 =
1
1
1
2
1
3
2 =
2
1
2
2


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.
Como se explicar, el entrenamiento de una red neuronal no es ms que la
resolucin de un problema de optimizacin.
Tipos de redes neuronales
Existen diferentes tipos de redes neuronales segn la estructura en la que estn
organizadas las neuronas. A continuacin se describen los principales tipos de redes
neuronales que se pueden encontrar (ver [KRS96]).
Redes de propagacin hacia delante (feedforward)
Fueron las primeras redes en ser diseadas. La informacin se mueve hacia
delante, desde los nodos de entrada a los de salida. Es el tipo de red neuronal que se
utiliza para la prediccin de series temporales.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 72

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.
Existen muchas estructuras de redes neuronales de propagacin hacia delante,
pero la que ms utilidad tiene y ms se ha desarrollado es el perceptrn multicapa.
El perceptrn multicapa es una red neuronal de propagacin hacia delante en la que
las neuronas estn organizadas en capas.
En la siguiente imagen se muestra la estructura de un perceptrn multicapa con
una sola capa oculta:

Ilustracin 18: Red de propagacin hacia delante
Redes recurrentes
Estas redes estn formadas por muchas neuronas fuertemente interconectadas.
Se utilizan para el desarrollo de memorias asociativas que tratan de simular el
cerebro humano. Se les denomina memorias por el hecho de que la salida de este tipo
de redes depende no slo de las entradas actuales sino tambin de las entradas
anteriores y del estado en el que se encuentra la red. La red neuronal ms conocida
de este tipo es la red neuronal de Hopfield. Esta red est constituida por un conjunto
de neuronas cada una de las cuales est unida a todas las dems, la conexin es tal
que cada neurona recibe informacin de todas las dems y emite informacin a todas
Capa de
entrada
Capa
oculta
Capa de
salida
Entrada 3
Entrada 2
Entrada 1
Entrada 4
Salida
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 73

las dems. En la siguiente figura se muestra un ejemplo de una red neuronal de
Hopfield:

Ilustracin 19: Red neuronal recurrente
En estas redes el flujo de informacin es bidireccional, es decir, va de las
entradas a las salidas y viceversa.
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:

Ilustracin 20: Red neuronal estocstica

1
2
3
5
4 6
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 74

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.
Son las redes neuronales de estructura ms compleja. A continuacin se muestra
un ejemplo:

Ilustracin 21: Red neuronal modular

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).
- Entrenamiento no supervisado: En este tipo de entrenamiento se presenta a la
red una serie de ejemplos pero no se presenta la respuesta deseada. Lo que
hace la RNA es reconocer regularidades en el conjunto de entradas, es decir,
estimar una funcin densidad de probabilidad p(x) que describe la
distribucin de patrones x en el espacio de entrada R
n
.
- Entrenamiento hbrido: Es una mezcla de los anteriores. Unas capas de la red
tienen un aprendizaje supervisado y otras capas de la red tienen un
aprendizaje de tipo no supervisado.
- Entrenamiento recurrente: Es un entrenamiento en el que no se proporciona
una salida deseada, slo se indica si la salida es correcta o no, pero no indica
en cunto se diferencia de la salida buscada.
El caso de este proyecto es un caso de prediccin de series temporales. La
prediccin de series temporales es un problema de aproximacin en el que se va a
utilizar un entrenamiento supervisado, por lo tanto, a la red se le proporcionar una
serie de entradas (valores anteriores, indicadores burstiles, etc.) con sus
correspondientes salidas (valores que se han dado). Estos vectores de entradas y
salida se obtendrn de datos histricos (ver captulo 2).
La estructura de los patrones de entrenamiento es:
Periodo entrada (1) entrada (2) entrada (ne) salida
1
e1,1 e1,2

e1,ne S1
2
e2,1 e2,2

e2,ne S2
I
ei,1 ei,2

ei,ne Si
Np
enp,1 enp,2

enp,ne Snp

Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 76


ei,j
Entrada j del patrn de entrada correspondiente al periodo i
Si
Salida asociada al patrn de entrada correspondiente al periodo i

Para realizar el entrenamiento se proporciona a la red las entradas y las salidas de
un nmero de periodos anteriores suficientemente alto (np). Estos periodos son
anteriores luego se conocern sus entradas y sus salidas. En cada uno de estos
periodos la red calcular la prediccin a partir de las entradas y se tendrn las
predicciones para cada uno de estos periodos anteriores:

Prediccin
P1
P2
Pi
Pnp

Se define el error en un periodo i como:


Para calcular los pesos de la red neuronal se resuelve el siguiente problema de
optimizacin:
:

=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.
Motivos de la eleccin del perceptrn multicapa
Es el tipo de red neuronal ms eficaz y que ms se utiliza para la prediccin de
series temporales, segn muestran los diferentes estudios realizados anteriormente en
este campo (ver [OLME04] y [CRUZ04]).
El perceptrn multicapa tiene la habilidad de desarrollar representaciones
internas y predicciones en un sistema. Estudios anteriores (ver [TAM_92])
observaron que el perceptrn multicapa tiene la habilidad de permitir a la red hacer
generalizaciones razonables. Las neuronas de las capas intermedias (ocultas) son
detectoras de caractersticas. Estas propiedades (generalizacin y deteccin de
caractersticas) del perceptrn multicapa, hacen que sea la el tipo de red neuronal
ms apropiado para la predicciones de series financieras (ver [OLME04]).
Recordemos adems que el modelo de este sistema realiza predicciones de
valores burstiles a corto plazo (5 minutos). Esto hace que sea necesario que la red
neuronal se ejecute rpidamente, y el perceptrn multicapa as lo hace. Tambin es
cierto que el perceptrn multicapa tiene un entrenamiento relativamente lento, pero
este hecho no es preocupante ya que la bolsa est abierta de 9 de la maana a 6 de la
tarde y se tiene tiempo para entrenar mientras la bolsa est cerrada.
Caractersticas del perceptrn multicapa
La red tipo Perceptrn fue inventada por el psiclogo Frank Rosenblatt en el ao
1957. El perceptrn se desarroll imitando el funcionamiento del ojo humano. Este
funcionamiento consiste en unas seales de entrada que son analizadas por una serie
de neuronas de asociacin para luego ser enviadas a unas neuronas de respuesta.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 78

El perceptrn multicapa resuelve el problema ms simple de las redes
neuronales, que es la sntesis de sistemas que realizan una determinada asociacin de
datos entrada/salida. En este problema los pesos de las neuronas se ajustan de tal
manera que ante cada entrada la red responda de una manera preestablecida.
Este problema de asociacin se utiliza para resolver dos casos:
- Aproximacin de funciones
- Clasificacin de datos
Cuando se aproximan funciones mediante el perceptrn multicapa, los datos de
entrada y salida se asimilan con vectores multidimensionales. Se pretende que el
valor real de la salida generada por la red cuando se estimule con un cierto dato de
entrada, se parezca lo ms posible al correspondiente dato de salida. La ventaja de
usar el perceptrn multicapa para este tipo de problemas es que la red ofrece una
gran capacidad de generacin.
El perceptrn multicapa tambin se puede utilizar para resolver un problema de
clasificacin de datos. En este caso la salida de la red ante cada dato de entrada debe
decidir la clase a la que pertenece ese dato de entrada.
3.3 Entrenamiento de la red neuronal
Introduccin
Se tiene que entrenar el perceptrn multicapa con datos histricos para poder
empezar a realizar predicciones. Este entrenamiento ser un entrenamiento
supervisado. Por tanto se necesitar un conjunto de datos (histrico) para el
entrenamiento con cada entrada y su salida, expresado de la siguiente forma:

1
,
1
,
2
,
2
, , {

}
Donde

es una entrada a la red neuronal y

es la correspondiente salida
deseada para el patrn (periodo) Q del conjunto de datos para el entrenamiento.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 79

Recurdese que el entrenamiento de la red consiste en un problema matemtico
para determinar el valor de los pesos de las neuronas de cada una de las capas de la
red neuronal que consiguen minimizar el error de las salidas respecto a las salidas
tericas de los datos de entrenamiento.
El primer paso para resolver este problema de optimizacin es el de definir la
funcin error. La funcin error depende del valor de las salidas de la red (que a su
vez dependen del valor de los pesos y las entradas) y del valor de las salidas tericas.
Para optimizar los pesos se parte de un par entradas/salida concreto y se trata de
buscar un mnimo de la funcin error variando el valor de los pesos. Se va
calculando el error de todos los pares entradas/salida y se toma el valor de los pesos
que minimiza la suma total de los errores.
Muchos de los mtodos de optimizacin de este tipo de problemas se basan en la
misma rutina: ir realizando iteraciones hasta alcanzar un mnimo en la funcin a
minimizar. Existen distintas formas de definir esta funcin a minimizar (suma de los
errores de todos los patrones de entrenamiento, suma cuadrtica de los errores de los
patrones de entrenamiento, etc.) y distintas formas de desplazarse por la superficie de
error.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 80


Ilustracin 22: Mnimos locales
En la ilustracin 22 se muestra de forma grfica el problema de optimizacin del
entrenamiento de una red neuronal. Se representa un plano en el cual el eje x un peso
W1, en el eje y otro peso W2 y en el eje z el valor de la funcin a minimizar (en este
caso la suma de los errores de todos los periodos). Este caso es un ejemplo sencillo
en el que se est suponiendo una red neuronal en el que slo se tiene 2 pesos
(correspondera a una red neuronal de una neurona con dos entradas). En la grfica se
observa como el punto p es en el que se minimiza la funcin objetivo, y a este
punto le correspondern unos W1_p y W2_p que sern las incgnitas del proceso de
entrenamiento.
Muchos mtodos de optimizacin para este tipo de problemas se basan en el
mtodo de Newton. Este mtodo trata de alcanzar el punto p realizando una serie de
iteraciones. Se empezar con unos valores de W1 y W2 aleatorios y se calcular la
funcin objetivo con esos valores. Seguidamente se calcula el sentido de la mxima
variacin de la funcin objetivo (gradiente) y se toma el camino opuesto para la
obtencin de otro candidato a mnimo. Se van realizando iteraciones hasta lograr un
mnimo. Este mnimo ser un mnimo local, es decir, si se tiene una funcin objetivo
W1
W2
error
p
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 81

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.
Para explicar el algoritmo de entrenamiento primero se expondr la notacin de
una red neuronal genrica:
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 82


Ilustracin 23: Nomenclatura de la red neuronal
En cada periodo se tendr un vector

de entradas formado por ne (nmero de


entradas) componentes. Cada neurona tiene una serie de pesos (Ws) asociados a sus
entradas y una bia (es la primera vez que se habla de bias en este documento). Cada
neurona posee un trmino bias, que constituye la predisposicin de la neurona a
activarse. Puede haber pesos que nunca se actualicen durante el entrenamiento por
empezar muy alejados de su valor ptimo, cuando los pesos no se actualizan
correctamente, pueden existir neuronas que apenas tengan entradas y no cooperen a
la resolucin del problema. Para solucionar este problema se utiliza el trmino bias,
que es un valor que se aade a la suma ponderada de las entradas a una neurona que
trata de solucionar este problema incrementando su valor en neuronas con poca
participacin y reduciendo su valor en neuronas con mucha participacin, tratando de
igualar la participacin de todas las neuronas de una capa.
Los patrones de entrenamiento necesarios sern de la forma:
=

T=


Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 83

Cada

ser el vector de entradas a la red neuronal en el patrn i-simo de


entrenamiento, y

ser su correspondiente salida. Cada vector

ser de la forma:

= [
,1
,
,2
, ,
,]

Siendo:
i ndice de patrn de entrenamiento
R nmero de entradas a la red neuronal

Se define el trmino entrada neta en una neurona como el valor de entrada a la
funcin de transferencia de la neurona, su expresin en la primera capa ser:

1
=

=1

1 n capa
j n de neurona
i componente del vector de entradas
W Peso
p Entrada
b Bia

Se define el trmino salida de una neurona como el valor de salida de su funcin
de transferencia:

)
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 (t
s
)
(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
s nmero de neurona de la capa de salida

Se tendr un

para cada patrn de entrenamiento. La funcin objetivo con la


que va a trabajar este algoritmo de entrenamiento es la siguiente:
=

=1

=
1
2

=1

ns nmero de salidas
q nmero total de patrones de entrenamiento

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.
El objetivo del algoritmo de entrenamiento ser:
()
La funcin F depende de los pesos y de las bias, que son las incgnitas del
problema.
Se representaran de forma matricial como:

= [
1,1
1
, ,
1,
1
, ,
,

,
,

,
1
1
, . . ,

]
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

El mtodo de Newton para optimizar la funcin es:

+1
=


(Ntese que esta ecuacin representa el movimiento en la direccin contraria a la
de mximo crecimiento que se coment en el ejemplo grfico anterior).
Como se ha definido la funcin objetivo F(X) como la suma de un conjunto de
funciones cuadrticas se tendr que:
=

2
=

()

=1

El gradiente pude ser escrito en forma matricial:
= 2


Ajustando el mtodo de Newton, se obtiene el algoritmo de Levenberg-
Marquardt

+1
=

es la constante que determina la tendencia del algoritmo. Cuando

se
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 86

incrementa, la siguiente iteracin sigue llendo en la direccin de mximo
decrecimiento a un ritmo ms fuerte; cuando

se decrementa este algoritmo se


convierte en el mtodo d Gauss-Newton que va reduciendo paulatinamente los saltos
de las iteraciones.
El algoritmo empezar otorgando un valor pequeo para

del orden de 0.01.


Si en este paso no se obtiene el valor deseado de F(X), es decir, la precisin deseada,
entonces el paso es repetido con un

multiplicado por un factor > 0.


Los elementos de la matriz jacobiana necesarios para el algoritmo de Levenberg-
Marquardt son del estilo:


j nmero de neurona
q ndice de patrn de entrenamiento
m n de capa
i ndice del vector de entradas

El mayor consumo computacional se produce en el clculo de estos
jacobianos. Para que sea ms simple el clculo de este jacobiano se realiza lo
siguiente:
Se define el trmino sensibilidad como:


j nmero de neurona
q ndice de patrn de entrenamiento
m n de capa

Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 87

Se calculan los trminos de la matriz jacobiana de la forma:

=
,

=
,


,
1

Y para las bias:

=
,

=
,


De esta forma cuando la entrada

ha sido aplicada a la red neuronal y su


correspondiente salida

(m es el nmero de capa y q es ndice del patrn de


entrenamiento) ha sido conmutada, el algoritmo de Levenberg-Marquardt es
inicializado con:

ser una matriz cuyas columnas correspondern con las correspondientes


salidas de cada patrn de entrenamiento q. Dichas columnas debern ser propagadas
inversamente a travs de la red neuronal para producir una fila de la matriz
jacobiana. Las columnas sern propagadas segn la expresin:

+1

+1

Las matrices de sensibilidad para cada capa del algoritmo de Levenberg-
Marquardt estarn formadas por la extensin de las matrices computadas para cada
entrada:

=
1

]
Cuando un nuevo patrn de entrada es presentado a la red, los vectores
sensibilidad son propagados hacia atrs, esto se debe a que se ha calculado cada error
en forma individual, en lugar de derivar la suma al cuadrado de los errores. Para cada
patrn de entrada aplicado a la red habr

errores, uno por cada elemento de salida


de la red y por cada error se generar una fila de la matriz Jacobiana.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 88

El algoritmo se resume en el siguiente diagrama de flujo:

Ilustracin 24: Algoritmo de Levenberg-Marquardt (Elaboracin propia)
Las condiciones de meta sern las que se tendrn que introducir al algoritmo
como parmetros. Estas condiciones pueden ser de diferentes tipos:
- Suma de errores meta
- Nmero mximo de iteraciones
-
Este ser el algoritmo que se va a ejecutar cuando se utilice la funcin trainlm
antes comentada.
Se coment anteriormente el problema de los mnimos locales. Para solucionarlo
se entrena la red un nmero n de veces empezando cada vez en un punto de partida
<
Se presentan todos los patrones de entrada a la red y se calculan sus
correspondientes salidas y errores d:
Despus se calcula la suma de los errores cuadrados para cada patrn
de entrada:
Se calculan las sensibilidades y la matriz de sensibilidad (S
k
). Con esta se
calcula la matriz Jacobiana (J
k
).
Se calcula
y se obtiene
S
No
k=k+1
1
2
3
Se cumplen
condiciones
de meta?
S No
FIN
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 89

distinto. Y se tomar los resultados del entrenamiento de mnimo error para
determinar los pesos y las bias de la red del modelo.
Implementacin en Matlab
En este apartado se va a explicar la rutina de Matlab para crear una entrenar una
red neuronal:
1. Datos necesarios para crear una red neuronal
Los datos necesarios para el entrenamiento son las entradas de periodos
anteriores con sus correspondientes salidas. Estos datos se dividen en tres conjuntos:
- Entrenamiento. Conjunto general de pares entradas/salida.
- Validacin. Conjunto de pares entradas/salida pertenecientes a periodos
distribuidos a lo largo de todo el histrico, de menor dimensin que el
conjunto de entrenamiento.
- Test. Conjunto de pares entradas/salida correspondiente a los ltimos
periodos del histrico.
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.
Tras realizarse numerosas pruebas empricas se han escogido los siguientes
tamaos de entrenamiento:
Conjunto n de periodos
Entrenamiento 16000
Validacin 4000
Test 100
total de periodos necesarios 20100
Tabla 4: Tamao de los vectores de entrenamiento
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 90

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:

Ilustracin 25: Datos para el entrenamiento
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.
La matriz de entradas se denotar por P, y ser la matriz de entradas obtenida
de la funcin crea entradas (ver captulo 2) eliminado la fecha y la hora. El vector de
salidas por su parte, se denotar por T y corresponder a la matriz de salidas
eliminando tambin la fecha y la hora.
A continuacin se muestra el cdigo a realizar una vez se dispone de las matrices
de entrada y targets.
%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,:);
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
e
v
t
t
entrenamiento
validacin
test
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 91


%normalizacin
[p,PE] = mapstd(P);
[t,PS] = mapstd(T);


Las variables PE y PS contienen los parmetros de la normalizacin y debern
ser almacenadas ya que se utilizarn siempre que se utilice la red neuronal.
Una vez obtenidos los vectores p y t; se procede a separar el conjunto de
datos en: entrenamiento, validacin y test. Para ello se ha programado una funcin
separa_entrenamiento que realiza esta separacin:

[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.
2. Declarar la red neuronal: se utiliza la funcin newff.
newff: (PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)
- PR: Rx2 Matriz de valores mximos y mnimos de cada uno de las R
neuronas de la capa de entrada.
- Si: Nmero de neuronas para cada una de las capas.
- TFi: Funcin de transferencia a utilizar en cada una de las capas, por defecto
utiliza tansig
- BTF: Algoritmo de entrenamiento a utilizar, por defecto utiliza trainlm
(Levenberg-Marquardt)
- BLF: Funcin de actualizacin de los pesos, por defecto utiliza learngdm.
- 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'});

Esta rutina crea una perceptrn multicapa de 3 capas con 30 neuronas en la
primera capa, 3 en la segunda y 1 en la capa de salida. Las dos primeras capas
utilizan funciones tangentes sigmoideas; y la capa de salida una funcin lineal.
3. Establecer los parmetros de entrenamiento
El siguiente cdigo muestra la introduccin de los parmetros necesarios para el
entrenamiento:
net.trainParam.show=50; %N de epoch entre displays
net.trainParam.goal=10e-8; %Error mnimo
net.trainParam.epochs=100; %niter. mx. para el ent.
val.P=pval; %entradas de la validacin
val.T=tval; %salidas de la validacin
test.P=ptest; %entradas del test
test.T=ttest; %salidas del test

4. Entrenar la red neuronal
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);

- net: variable tipo structure que contiene la estructura de la red y el valor de
todos los pesos y las vas.
- tr: variable que indica el resultado del entrenamiento.
Esta funcin muestra la ilustracin 26 al ejecutarse:
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 93


Ilustracin 26: Entrenamiento en Matlab
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.

3.4 Modelado de la red neuronal
Como se coment anteriormente, el sistema necesita trabajar con 20 redes
neuronales para predecir los valores de las acciones de las 20 empresas que se estn
considerando. Estas 20 redes neuronales tendrn la misma estructura ya que estn
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 94

resolviendo el mismo tipo de problema, y no hay ninguna razn para suponer que
puedan tener distintas estructuras.
Escogido el tipo de red neuronal (perceptrn multicapa) es necesario establecer
los siguientes parmetros de la red neuronal:
- Algoritmo de entrenamiento
- Funciones de transferencia
- Nmero de capas
- Nmero de neuronas en cada capa
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]).
El uso de funciones de transferencia no lineales no implica la suposicin de
independencia lineal de los patrones de entrada.
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.
Tras haberse realizado diferentes anlisis empricos, se han escogido las
siguientes funciones de transferencia:
- Funcin tangente sigmoidea: para todas las capas anteriores a la capa de
salida
- Funcin lineal a tramos: para la ltima capa.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 95

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.

Ilustracin 27: Nomenclatura del las capas de una red neuronal
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.
Nmero de neuronas en cada capa
El nmero de neuronas de la capa de entrada viene fijado por el nmero de
entradas que se ha escogido (30 en este caso). Por otro lado la capa de salida tendr
una nica neurona, ya que slo se tiene una salida (Correspondiente al valor que est
siendo predicho).
Existen criterios heursticos para determinar el nmero de neuronas de las capas
ocultas a partir del nmero de entradas a la red neuronal, nunca superando el doble
de estas. Algunos estudios (ver [LACH95]) indican que el nmero de neuronas de
una segunda capa oculta tiene un menor efecto sobre la prediccin que el nmero de
neuronas de la primera capa oculta. Para escoger el nmero de neuronas de las
distintas capas no hay otra manera que recurrir a pruebas experimentales.
Entrada 1
Entrada 2
Entrada n
.
1
2
n1

1
2
n2

1
2
nX

Capa de entrada 1 capa oculta 2 capa oculta N capa oculta


Capa de salida

Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 96



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:
- Periodos del conjunto de validacin
- Periodos del conjunto test
- Periodos del conjunto entrenamiento
- Periodo correspondiente al da posterior a la creacin de la red neuronal
Los resultados se resumen en el siguiente grfico:


Grfico 16: Prueba para determinar el n de neuronas de la primera capa oculta
Red neuronal con 3 neuronas en la 2 capa oculta
N de neuronas de la 1 capa oculta
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 97

El resultado de este estudio indica que la mejor estructura es la red neuronal con
30 neuronas en la primera capa oculta.
Ya se ha decidido que la primera capa oculta tendr 30 neuronas, ahora faltar
determinar cuntas neuronas debe tener la segunda. Para tomar esta decisin se
presupone que la primera capa oculta va tener 30 neuronas y se va variando el
nmero de neuronas de la segunda capa oculta para tratar de mejorar la prediccin.
Se van a estudiar las posibilidades de tener 3, 7, 10, 12 y 15 neuronas en la segunda
capa oculta.
El estudio se realiza de manera anloga al anterior, estudiando los errores medios
por periodos de simulacin en los mismos conjuntos de datos anteriores.
Los resultados de este nuevo estudio se muestran en el siguiente grfico:


Grfico 17: Prueba para determinar el n de neuronas de la segunda capa oculta
El resultado de este estudio indica que la mejor estructura es la red neuronal con
7 neuronas en la segunda capa oculta.
Red neuronal con 30 neuronas en la 1 capa
oculta
N de neuronas de la 2 capa oculta
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 98

Red neuronal escogida
Terminado el estudio de los parmetros de la red neuronal, se ha escogido una
red neuronal con las siguientes caractersticas:
TIPO DE RED: Perceptrn Multicapa
n de entradas 30
n de salidas 1
n de capas 4
n de neuronas en la capa de entrada 30
n de neuronas en la primera capa oculta 30
n de neuronas en la segunda capa oculta 7
n de neuronas la capa de salida 1
funcin de transferencia de la primera capa
oculta
tangente sigmoidea
funcin de transferencia de la segunda capa
oculta
tangente sigmoidea
funcin de transferencia de la capa de salida Lineal
algoritmo de entrenamiento Levenberg-Marquardt
(trainlm)
Tabla 5: Parmetros de la red neuronal escogida
Este modelo de red ser el aplicado a la red neuronal de cada una de las 20
empresas.
A continuacin se muestra una imagen de la estructura de la red neuronal, en la
que se observa su complejidad y el gran nmero de conexiones existentes.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 99


Ilustracin 28: Estructura de la Red Neuronal escogida (Elaboracin propia)


123456789
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
1234567
1
E
n
t
r
a
d
a

1
E
n
t
r
a
d
a

2
E
n
t
r
a
d
a

4
E
n
t
r
a
d
a

8
E
n
t
r
a
d
a

1
3
E
n
t
r
a
d
a

1
9
E
n
t
r
a
d
a

3
E
n
t
r
a
d
a

7
E
n
t
r
a
d
a

6
E
n
t
r
a
d
a

1
2
E
n
t
r
a
d
a

1
8
E
n
t
r
a
d
a

5
E
n
t
r
a
d
a

1
1
E
n
t
r
a
d
a

1
0
E
n
t
r
a
d
a

1
7
E
n
t
r
a
d
a

9
E
n
t
r
a
d
a

1
6
E
n
t
r
a
d
a

1
5
E
n
t
r
a
d
a

1
4
E
n
t
r
a
d
a

2
0
E
n
t
r
a
d
a

2
3
E
n
t
r
a
d
a

2
9
E
n
t
r
a
d
a

2
2
E
n
t
r
a
d
a

2
8
E
n
t
r
a
d
a

2
1
E
n
t
r
a
d
a

2
7
E
n
t
r
a
d
a

2
6
E
n
t
r
a
d
a

2
5
E
n
t
r
a
d
a

2
4
E
n
t
r
a
d
a

3
0
C
a
p
a

d
e

e
n
t
r
a
d
a
1


c
a
p
a

o
c
u
l
t
a
2


c
a
p
a

o
c
u
l
t
a
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 100

4. Funcionamiento del
sistema en tiempo real






4.1 Principio de funcionamiento
4.2 Modo de prueba
4.3 Funcionamiento en tiempo real con Visual Chart
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 101

4.1 Principio de funcionamiento
En este captulo se va a explicar cmo va a funcionar el sistema de inversin en
tiempo real. Se supone que el programa empieza a ejecutarse por la maana antes de
que abra la Bolsa. La rutina es la siguiente:
1. Recepcin de las cotizaciones de las 20 empresas
2. Clculo de las entradas a la red neuronal
3. Normalizacin de las salidas
4. Simulacin de la red neuronal obtencin de las salidas normalizadas
(predicciones del valor de apertura de las acciones de las 20 empresas
para el siguiente periodo)
5. Toma de decisiones de inversin
6. Ejecucin de rdenes de inversin
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.

Ilustracin 29: Rutina de funcionamiento en tiempo real
Recepcin de
nuevas
cotizaciones
Anlisis de l
beneficio
Clculo de las
entradas a la
red neuronal
Simulacin de
la red
neuronal
Toma de
decisiones
Ejecucin de
rdenes de
compra venta
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 102

Como se ver en el tercer apartado de este captulo, la obtencin de entradas y la
ejecucin de rdenes, se realizar a travs de la plataforma Visual Chart.
La ilustracin 30 muestra la arquitectura del sistema de inversin en tiempo real,
indicando cules son los principales pasos y qu programa los ejecuta (Visual Chart
o Matlab).
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 103


Ilustracin 30: arquitectura del programa

V
I
S
U
A
L

C
H
A
R
T
1
-
c
o
t
i
z
a
c
i
o
n
e
s
.
t
x
t
2
-
c
o
t
i
z
a
c
i
o
n
e
s
.
o
k
1
1
-
d
e
t
e
c
c
i

n

d
e

a
c
c
i
o
n
e
s
.
o
k
1
2
-
b
o
r
r
a

a
c
c
i
o
n
e
s
.
o
k
1
3
-
l
e
e

a
c
c
i
o
n
e
s
.
t
x
t
1
4
-
e
j
e
c
u
t
a

a
c
c
i
o
n
e
s
1
5
-
i
n
v
e
r
s
i
o
n
_
r
e
a
l
i
z
a
d
a
.
o
k
1
6
-
i
n
v
e
r
s
i
o
n
_
r
e
a
l
i
z
a
d
a
.
t
x
t
l
e
c
t
u
r
a
_
c
o
t
i
z
a
c
i
o
n
e
s
n
u
e
v
a
s
_
c
o
t
i
z
a
c
i
o
n
e
s
.
e
v
a
l
u
a
c
i
o
n
_
y
_
d
e
c
i
s
i
o
n
e
s
c
o
t
i
z
a
c
i
o
n
e
s
.
t
x
t
c
o
t
i
z
a
c
i
o
n
e
s
.
o
k
a
c
c
i
o
n
e
s
.
t
x
t
a
c
c
i
o
n
e
s
.
o
k
i
n
v
e
r
s
i
o
n
_
r
e
a
l
i
z
a
d
a
.
t
x
t
I
n
v
e
r
s
i
o
n
_
r
e
a
l
i
z
a
d
a
.
o
k
e
v
a
c
l
u
a
_
b
e
n
e
f
i
c
i
o
a
c
t
u
a
l
i
z
a
_
i
n
v
e
r
s
i
o
n
e
s
g
u
a
r
d
a
_
h
i
s
t
o
r
i
a
l
b
e
n
e
f
i
c
i
o
a
c
c
i
o
n
e
s
_
a
c
t
u
a
l
i
z
a
d
a
s
M
A
T
L
A
B
3
-
d
e
t
e
c
c
i

n

d
e

c
o
t
i
z
a
c
i
o
n
e
s
.
o
k
4
-
l
e
c
t
u
r
a

d
e

c
o
t
i
z
a
c
i
o
n
e
s
.
t
x
t
5
-
b
o
r
r
a

c
o
t
i
z
a
c
i
o
n
e
s
.
o
k

y

c
o
t
i
z
a
c
i
o
n
e
s
.
t
x
t
6
-
c
r
e
a

e
n
t
r
a
d
a
s


a

l
a

r
e
d

n
e
u
r
o
n
a
l
7
-
s
i
m
u
l
a

l
a

r
e
d

n
e
u
r
o
n
a
l
8
-
a
b
r
e

e
l

f
i
c
h
e
r
o

a
c
c
i
o
n
e
s
.
t
x
t

(
a
n
t
.
)
9
-
b
o
r
r
a

a
c
c
i
o
n
e
s
.
t
x
t
9
-
t
o
m
a

d
e
c
i
s
i

p
t
i
m
a
1
0
-
e
s
c
r
i
b
e

a
c
c
i
o
n
e
s
.
t
x
t
1
7
-
e
v
a
l
u
a

e
l

b
e
n
e
f
i
c
i
o
1
8
-
a
c
t
u
a
l
i
z
a

d
a
t
o
s

d
e

i
n
v
e
r
s
i
o
n
e
s
1
9
-
b
o
r
r
a

i
n
v
e
r
s
i
o
n
_
r
e
a
l
i
z
a
d
a
.
o
k

i
n
v
e
r
s
i
o
n
_
r
e
a
l
i
z
a
d
a
.
t
x
t
2
0
-
g
u
a
r
d
a

h
i
s
t
o
r
i
a
l
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:
- No tener dinero invertido en ninguna (situacin 1)
- Tener dinero invertido en dos empresas (situacin 2)
Se han optado por estas dos posibilidades con el nimo de tener una postura ms
o menos conservadora.
El dinero que no se tiene invertido en ninguna empresa se le da el nombre de
dinero lquido. Para representar la posicin que se tiene en un periodo determinado
se utiliza una matriz 25x1:

Para tomar una decisin en un periodo determinado, es necesario conocer la
posicin del periodo actual (situacin actual), el valor de las acciones de las 24
empresas en el periodo y la prediccin que se ha obtenido de la red neuronal.
Al realizar una operacin de compra o de venta de acciones, es necesario pagar
una serie de comisiones e impuestos. Las comisiones se pagan al intermediario
financiero que se utiliza para operar en la Bolsa, este intermediario ser un broker
online (compaa que ofrece servicios de intermediacin financiera a travs de su
pgina web). El sistema debe de operar forzosamente a travs de un broker online, ya
que sta es la nica manera de realizar operaciones de compra venta a travs del
ordenador.
Se va a operar a travs del broker online EstuBroker, ya que es el broker ms
econmico y compatible con Visual Chart para el tipo de operaciones que se van a
###
###
.
###
###
Dinero invertido en empresa 1
Dinero invertido en empresa 2
Dinero invertido en empresa 20
Dinero lquido
..
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 105

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).
Para realizar la toma de decisiones se ha programado en Matlab el siguiente
rbol de decisin:
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 106


Ilustracin 31: rbol de decisin
P
o
s
i
c
i

n

a
n
t
e
r
i
o
r
V
a
l
o
r
e
s

a
c
t
u
a
l
e
s
V
a
l
o
r
e
s

s
i
m
u
l
a
d
o
s
C
o
m
p
r
a
r

2
c
Q
u
e
d
a
r
m
e

=
N
o
S

P
a
g
a
r


2

c
o
m
i
s
i
o
n
e
s
Q
u
e
d
a
r
m
e

=
C
o
m
p
r
a
r

2

V
e
n
d
e
r

2
C
o
m
p
r
a
r

1
V
e
n
d
e
r

1
P
a
g
a
r


4

c
o
m
i
s
i
o
n
e
s
2

P
l
u
s
v
a
l

a
s
P
a
g
a
r


2

c
o
m
i
s
i
o
n
e
s
1

P
l
u
s
v
a

a
S

N
o
V
e
n
d
e
r

2
P
a
g
a
r


2

c
o
m
i
s
i
o
n
e
s
2

P
u
l
s
v
a
l

a
s
2

q
u
e

s
e

t
i
e
n
e
n
1

q
u
e

s
e

t
i
e
n
e
d
i
s
t
i
n
t
a
s
2121 2 2
E
m
p
r
e
s
a
s

s
e
l
e
c
c
i
o
n
a
d
a
s
P
r
e
c
i
o
s

d
e

C
o
m
p
r
a
P
o
s
i
c
i

n

s
i
g
u
i
e
n
t
e

S
e

t
i
e
n
e

d
i
n
e
r
o

e
n

2

e
m
p
r
e
s
a
s
?
S

N
o

S
u
b
e
n

2

e
m
p
.
?

S
u
b
e
n

2

e
m
p
.
?
N
i
n
g
u
n
a

i
n
v
e
r
s
i

n
I
n
v
e
r
s
i

n

e
n

2

e
m
p
r
e
s
a
s
12

C
u

l
e
s
?
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 107

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.
- Datos de normalizacin: variable tipo structure con la informacin referente
a la normalizacin de las entradas y salidas de las 20 empresas.
- Informacin histrica de los ltimos 100 periodos: variable tipo structure
con los valores de open, high, low, close y volume de los 100 ltimos
periodos de cada una de las 20 empresas. (Recurdese que para obtener las
entradas de un periodo determinado era necesario disponer de la informacin
de los 100 periodos actuales).
- Empresas seleccionadas: matriz 3x2 en la que la primera fila muestra las
empresas en las se tiene invertido el dinero, la segunda fila representa el
dinero que se tiene en cada una, y la tercera representa el precio al que se
compraron estas acciones. Si no se tienen acciones de ninguna empresa, la
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 108

matriz estar compuesta por ceros menos el elemento (2,2), que contendr el
dinero lquido que se dispone para empezar a invertir.
- Comisiones: matriz 1x2 en la que el primer elemento representa la comisin
que cobra el broker online, y el segundo la tasa de impuestos. Si se escoge el
broker online EsTuBroker, esta matriz ser: comisiones= [0.0005 0.18].
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.
4.2 Modo de prueba
Este modo sirve para comprobar cuntos beneficios se hubiesen obtenido si se
hubiese ejecutado el sistema en un da determinado, sin la necesidad de utilizar
Visual Chart.
Para programar este modo de prueba se ha creado una funcin modoprueba en
Matlab:

Ilustracin 32: Funcin modoprueba
La matriz valores muestra la diferencia existente entre los valores simulados y
los valores reales, sirviendo para ver la precisin de las predicciones.
num_dias
comisiones
empresas_seleccionadas
red_neuronal
hora
datos_de_normalizacion
n_periodos (nmero de periodos)
Histricos (de las 24 empresas)
modoprueba
posicionesydinero
valores
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 109

La matriz posicionesydinero representa en cada periodo cunto dinero se tiene
invertido en cada una de las empresas, y cunto se tiene en forma lquida. Tambin
calcula el beneficio acumulado en cada periodo segn la inversin realizada.
El modo de prueba permite simular varios das reentrenando la red neuronal en
cada uno.
4.3 Funcionamiento con Visual Chart
En este apartado se presenta un programa que opera con la bolsa en tiempo real
ejecutando rdenes de compra-venta. En el programa consiste en una funcin de
Matlab que interacta con Visual Chart en tiempo real.
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.
Se han programado una serie de sistemas en Visual Chart. Estos sistemas
consisten en programas de Visual Basic que permiten realizar automticamente una
serie de acciones en Visual Chart.
Se han programado dos sistemas en visual chart:
- Sistema de escritura de cotizaciones
- Sistema de ejecucin de rdenes
Sistema de escritura de cotizaciones (Escritura.vba)
Este sistema se encarga de recibir la informacin burstil, en un periodo
concreto, de un conjunto de empresas y escribirla en un archivo de texto. Es decir,
este sistema va a proporcionar ficheros de texto con los valores de Open, High, Low,
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 110

Close y Volume de las 20 empresas al mdulo de decisin implementado en Matlab.
(Escribir 20 ficheros)
Para ejecutar este sistema es necesario abrir un grfico que contenga la
informacin de las 20 empresas:

Ilustracin 33: Grfico de Visual Chart con las 20 empresas
Una vez abierto este grfico se pasa a insertar el sistema escritura.vba. Al
insertar el sistema, se requiere indicar el nombre que desee dar a los archivos de
texto. (Es importante que estos nombres coincidan con los de Matlab.)
Sistema de ejecucin de rdenes (ejecucion.vba)
Este sistema recibe informacin acerca de las rdenes de compra y venta, las
ejecuta en tiempo real y escribe un fichero con la confirmacin de estas. El principal
problema que tiene este sistema es que slo puede operar con una empresa. Esto se
debe a que Visual Chart todava no permite programar sistemas que puedan realizar
rdenes de compra y venta de acciones de distintas empresas simultneamente.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 111

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.
El sistema funciona de la siguiente manera:
1. Recibe un fichero con las acciones a realizar (comprar, vender o no hacer
nada). Este fichero debe de indicar el nmero de ttulos que se desean
comprar o vender.
2. Ejecuta las rdenes pertinentes
3. Escribe un fichero con la confirmacin
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.
Antes de ejecutar la funcin funcionamiento_tiempo_real, es necesario insertar
los dos sistemas programados en Visual Chart. Primero es necesario abrir un grfico
con las cotizaciones de las 20 empresas e insertar en l el sistema escritura.vba. Por
otro lado, es necesario abrir 20 grficos independientes con la cotizacin de cada una
de las 20 empresas e insertar en cada uno de ellos el sistema ejecucion.vba.
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.
El funcionamiento en tiempo real presenta problemas cuando en un periodo no
se dispone de informacin de alguna de las empresas, ya que no se tendran los datos
homogneos necesarios para calcular las entradas a la red neuronal.
Otro problema es el tiempo de ejecucin de las rdenes de inversin. En muchas
ocasiones estas rdenes no se ejecutan en el instante requerido. Esto probablemente
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 112

sucede porque la negociacin con el Broker Online no es automtica. Cuando esto
sucede se produce una acumulacin de rdenes que desbarata la ejecucin del
sistema en tiempo real.
En definitiva, en este proyecto se ha elaborado un programa bsico que funciona
en tiempo real con Visual Chart, se deja para futuros estudios el realizar un programa
ms completo que solucione los problemas existentes con Visual Chart.




Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 113

5. Resultados y
conclusiones




5.1 Precisin de las predicciones realizadas
5.2 Evaluacin de las decisiones de inversin tomadas
5.3 Evaluacin del beneficio obtenido
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 114

En este captulo se van a presentar los resultados obtenidos en una simulacin
realizada entre los das 30 de Mayo y 5 de Junio. (Estos resultados se obtienen a con
los datos de valores y posicionesydinero, ver apartado 4.2 pgina 108). Esta
simulacin comprende el estudio de las predicciones y sus consecuentes decisiones
de inversin en un total de 510 periodos (1 semana).
Para la obtencin de los resultados se han simulado 5 das, reentrenando la red
neuronal al final de cada uno.
5.1 Precisin de las predicciones realizadas
Para estudiar la precisin de las predicciones realizadas se va a estudiar la
diferencia entre los valores predichos y los valores que realmente ha tomado la
accin.
En la siguiente grfica se muestra el error medio de las predicciones realizadas
en cada una de las 20 empresas. Definindose el error medio como:




Grfico 18: Errores medios por periodo
0,00%
0,20%
0,40%
0,60%
0,80%
1,00%
1,20%
1,40%
1,60%
1,80%
errores medios por periodo %
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 115

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.
Es interesante comparar la prediccin del sistema con la prediccin ingenua. Esta
ltima consiste en suponer que la accin no vara su valor:
+1 = ()

Grfico 19: Comparacin del error obtenido con el error de la prediccin ingenua
0,00%
0,20%
0,40%
0,60%
0,80%
1,00%
1,20%
1,40%
1,60%
1,80%
errores del
sistema de
prediccin
errores de la
prediccin
ingenua
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 116

En el grfico 19 se muestra la comparacin entre el error obtenido con la
prediccin del sistema y el obtenido con la prediccin ingenua. Se observa que el
error obtenido con la prediccin ingenua es menor que el obtenido con la prediccin
del sistema (salvo en Endesa, Gamesa, Iberdrola e Inditex).
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).
Un indicador ms til para medir la precisin de las predicciones, es el indicador
de subidas/bajadas acertadas. Una subida/bajada acertada se produce cuando se
predice que la accin va subir/bajar y la accin efectivamente sube/baja. A
continuacin se muestra un grfico con el porcentaje de subidas/bajadas acertadas as
como el porcentaje de periodos en los que se ha acertado (la subida o la bajada) para
cada una de las 20 empresas.
+ 1 >
+ 1
Se considera bajada a la no variacin del valor de una accin
(valor(t+1)=valor(t)). Esta consideracin se debe a que una inversin en una accin
que no vara su valor, es una inversin que no lleva asociada prdidas (ni beneficios),
pero que s lleva asociada un coste de oportunidad, al haberse perdido la oportunidad
de invertir el dinero en otra empresa que s hubiese incrementado su valor.

Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 117


Grfico 20: Porcentajes de acierto en las empresas estudiadas
0
%
1
0
%
2
0
%
3
0
%
4
0
%
5
0
%
6
0
%
7
0
%
8
0
%
9
0
%
1
0
0
%
%

a
c
i
e
r
t
o
s
%

t
o
t
a
l

d
e

a
c
i
e
r
t
o
s
%

s
u
b
i
d
a
s

a
c
e
r
t
a
d
a
s
%

b
a
j
a
d
a
s

a
c
e
r
t
a
d
a
s
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 118

En el grfico 20 esta se aprecia de forma grfica la precisin de las predicciones
realizadas. En la mayora de las empresas estudiadas se tiene un porcentaje de
aciertos superior al 70% lo que indica que el modelo est realizando predicciones
considerablemente correctas. Otras empresas como Ferrovial, Iberia o Inditex,
presentan un porcentaje de aciertos ms bajo, esto se debe a factores del mercado que
la red neuronal no ha detectado.
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.
A continuacin se va a comparar la precisin de las predicciones realizadas por
el sistema con la precisin de la prediccin ingenua, atendiendo al indicador de
subidas y bajadas. Es importante notar que la prediccin ingenua siempre establece
que la accin no vara su valor, lo cual supone considerar que siempre se predice que
la accin baja (segn el criterio expuesto en la pgina 114).

Grfico 21: % de aciertos de la prediccin del sistema en comparacin con la prediccin ingenua
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
% aciertos
prediccin
ingenua
% aciertos
prediccin
del sistema
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 119

En el grfico 21 se observa cmo se obtienen ms aciertos con la prediccin del
sistema que con la prediccin ingenua. En el conjunto de todas las empresas, se tiene
una tasa global de aciertos del 70% con la prediccin del sistema, y una tasa del 60%
con la prediccin ingenua. Estos resultados son los que muestran que la prediccin
del sistema aporta una informacin ms til y ms exacta (respecto del indicador de
subidas/bajadas) que la ingenua.
5.2 Evaluacin de las decisiones de
inversin realizadas
En este apartado se van presentar las decisiones de inversin que se han tomado
en la simulacin realizada.

Grfico 22: n de posiciones tomadas en cada una de las empresas
En el grfico 22 se representa el nmero de periodos (nmero de posiciones) en
los que se han tenido acciones de cada una de las 20 empresas. Tambin muestra el
nmero de periodos en los que se ha decidido no invertir (rectngulo rojo).
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
0
50
100
150
200
250
A
c
s
A
c
e
r
i
n
o
x
A
c
c
i
o
n
a
B
B
V
A
B
a
n
k
i
n
t
e
r
E
n
d
e
s
a
F
C
C
F
e
r
r
o
v
i
a
l
G
a
m
e
s
a
G
a
s
n
a
t
u
r
a
l
I
b
e
r
d
r
o
l
a
I
b
e
r
i
a
I
n
d
r
a
I
n
d
i
t
e
x
P
o
p
u
l
a
r
R
e
d

E
l

c
t
r
i
c
a
R
e
p
s
o
l
S
a
n
t
a
n
d
e
r
T
e
l
e
f

n
i
c
a
U
n
i

n

F
e
n
o
s
a
N
o

i
n
v
e
r
t
i
r
n de posiciones
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 120

apertura de la bolsa (inversiones que se realizan fuera del horario se ejecutan al
precio de apertura, a las 9:05), pues se prefiere que la red neuronal realice la primera
prediccin cuando le ha llegado el primer dato de un da. Se ha tomado esta decisin
para incurrir en un menor riesgo ya que en muchas ocasiones se producen
variaciones bruscas entre el precio de cierre de un da y el valor de apertura del
periodo posterior.
Llama la atencin el elevado nmero de periodos en los que se ha tenido dinero
invertido en Iberia. Esto es debido a las predicciones realizadas en el lunes 2 de
junio, en el que se predeca que la accin de Iberia iba a incrementar su valor.
Se observa tambin la cantidad de operaciones de compra y venta que se han
realizado en una sola semana. Esto es lgico pues se estn realizando predicciones y
tomando nuevas decisiones cada 5 minutos. Este gran nmero de operaciones
implicarn el pago de muchas comisiones de intermediacin y de muchos impuestos
por plusvalas. A continuacin se muestra el dinero pagado en comisiones y en
impuestos por plusvala en la semana simulada:
Dinero gastado en comisiones 1.327,65
Impuestos pagados 946,78

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.
Debido al elevado nmero de operaciones intradiarias que se realizan se podra
conseguir un descuento de usuario frecuente con el broker online. La mayora de los
brokers online ofrecen esta posibilidad, y se podran reducir de forma considerable el
importe de las comisiones y generar un mayor beneficio.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 121

5.3 Evaluacin del beneficio obtenido
Para evaluar el beneficio obtenido en la simulacin, se ha obtenido en cada
periodo el dinero que se tiene invertido (teniendo en cuenta el pago de comisiones y
de impuestos).
La siguiente grfica muestra la evolucin del dinero invertido:

Grfico 23: Evolucin del dinero invertido
Se observa cmo en todos los das se produce un incremento del dinero
invertido.
Se ha partido de una inversin de 10.000 el viernes 30 de Mayo y se tienen
11.889 al finalizar la jornada burstil del jueves 5 de Junio.
Si se hubiese utilizado la prediccin ingenua no se hubiese obtenido beneficio
alguno, ya que no se hubiese predicho ninguna subida y el sistema no hubiese
invertido en ninguna empresa.
A continuacin se muestra una grfica con la evolucin del beneficio acumulado
en cada uno de los periodos:
9.000
9.500
10.000
10.500
11.000
11.500
12.000
12.500
dinero invertido
30/05/08 02/06/08 03/06/08 04/06/08 05/06/08
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 122


Grfico 24: Evolucin del beneficio acumulado
En el beneficio final obtenido en la inversin ha sido de 1.889 (habindose
tenido en cuenta el pago de comisiones y de impuestos). Esto supone una
rentabilidad del 18,89%, rentabilidad significativamente superior a la rentabilidad de
otro tipo de inversiones (como referencia recordar que la inversin en Letras del
Tesoro tiene una rentabilidad del 4,2%). Adems el periodo de retorno de esta
inversin es de tan slo una semana, mientras que en los Letras del Tesoro es de 3 a
6 meses.
Un buen indicador para valorar el riesgo de esta de inversin es estudiar cmo ha
variado el ndice IBEX-35 en el periodo estudiado. Para ello se ha representado la
variacin del IBEX-35 entre las fechas simulados contrastndose con la evolucin
del dinero que se tiene invertido.
9.000
9.500
10.000
10.500
11.000
11.500
12.000
12.500
dinero invertido
0
500
1.000
1.500
2.000
2.500
beneficio acumulado
30/05/08 02/06/08 03/06/08 04/06/08 05/06/08
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 123


Grfico 25: Comparacin de la variacin del ndice IBEX-35 con el dinero invertido
En el grfico 25 se observa cmo la inversin es rentable a pesar de que el ndice
IBEX-35 decrece en el periodo simulado. Por este motivo se puede considerar que la
inversin no tiene un riesgo excesivo dado que se obtiene una rentabilidad elevada a
pesar de que la Bolsa est en una temporada bajista.

12.900
13.000
13.100
13.200
13.300
13.400
13.500
13.600
13.700
9.000
9.500
10.000
10.500
11.000
11.500
12.000
12.500
v
a
l
o
r

d
e
l

I
B
E
X
-
3
5
d
i
n
e
r
o

i
n
v
e
r
t
i
d
o

dinero invertido
IBEX-35
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 124

6 Lneas de continuacin






6.1 Incorporacin de nuevas entradas
6.2 Red neuronal
6.3 Toma de decisiones
6.4 Funcionamiento en tiempo real con Visual Chart
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 125

6.1 Incorporacin de nuevas entradas
Las entradas a la red neuronal que se han utilizado en este proyecto son datos
histricos e indicadores histricos. Lo cierto es que estas variables no son las nicas
que determinan las expectativas del mercado.
Se plantea la posibilidad de tratar de incluir algunas variables psicolgicas,
cuantificadas de alguna manera. Por ejemplo se podra incluir una entrada que
representase el da de la semana que es (1 lunes, 2 martes, , 5 viernes), ya que
recientes estudios estadsticos sobre las cotizaciones de las empresas del IBEX-35
muestran como el viernes suele ser un da alcista debido al optimismo de los
inversores, al contrario que el lunes (ver [ROSI07]).
Tambin se podra pensar en incluir una entrada que representase el tiempo
meteorolgico ya que ste tambin puede afectar al pesimismo o al optimismo de los
inversores en un momento determinado.
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).

6.2 Red neuronal
La red neuronal escogida en este proyecto se basa en las conclusiones realizadas
a partir de un anlisis meramente emprico. Se propone la posibilidad de incorporar
una red neuronal que vare su estructura segn los datos histricos que se utilicen
para el entrenamiento.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 126

La rutina sera la siguiente:
1. Obtencin de datos histricos
2. Creacin de distintas redes neuronales con distintas estructuras (distinto
nmero de neuronas, distinto nmero de capas ocultas).
3. Eleccin de la red neuronal que presente un mejor ajuste de los datos
histricos.
El principal inconveniente que se tendra al incorporar este sistema sera que
aumentaran los tiempos de ejecucin considerablemente, y estos son crticos para
operar con la Bolsa en tiempo real.

6.3 Toma de decisiones
En este proyecto se han establecido unos criterios de inversin en los que slo se
plantea la opcin de invertir en 2 empresas o de no invertir en ninguna. Dado que los
resultados muestran una tasa de aciertos considerable, se deduce que se podra
obtener un mayor aprovechamiento de las predicciones si se sofisticasen los criterios
de decisin.
Se propone plantear un sistema de inversin que pueda tomar una mayor
variedad de decisiones de inversin. Se podran realizar valoraciones del riesgo que
implican las diferentes operaciones para tratar de incluirlas en el proceso de toma de
decisiones.
Por ejemplo, si se predice que una empresa va a ser la que ms va aumentar su
valor, pero se tiene el dinero invertido en otra que tambin va a subir, se debera
valorar si merece la pena cambiar de posicin (arriesgarse) o por el contrario seguir
con la empresa que se tiene (posicin ms segura).
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 127

6.4 Funcionamiento en tiempo real con
Visual Chart
En primer lugar se propone la creacin de una plataforma que permita la
interaccin del usuario con el sistema de forma cmoda (se podra programar esta
plataforma en Visual Basic) y grfica, ocultando la ejecucin del programa de
Matlab interactuando con Visual Chart.
Tambin se propone la mejora de los sistemas de Visual Chart para que se
eliminen las dificultades comentadas en el apartado 4.3.
Parece ser que Visual Chart va a implementar prximamente la posibilidad de
ejecutar rdenes de compra y venta de distintas empresas simultneamente. Cuando
esto suceda se podr simplificar bastante el programa y desaparecern muchas de las
dificultades existentes.
Por ltimo, se propone la posibilidad de eliminar del sistema de inversin las
empresas que empiecen a producir predicciones confusas. Esto puede ser interesante
ya que puede haber momentos en los que un rumor sobre cambios en una empresa
(OPAS, ampliaciones de capital, etc.) pueda derivar en variaciones en el valor de una
accin que no se puedan predecir mediante la red neuronal, ya que esta no incluye
entre sus entradas este tipo de factores que afectan a la Bolsa.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 128

7. Anexos




7.1 Fiscalidad de la inversin en Bolsa
7.2 Brokers online
7.3 Gua del usuario del sistema de inversin
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 129

7.1 Fiscalidad de la inversin en Bolsa
Plusvalas y minusvalas
Plusvalas. La plusvala es el resultado positivo o beneficio que se obtiene tras la
venta de las acciones. Se tributa dependiendo del tiempo que se hayan tenido las
acciones en la cartera:
- Duracin de las acciones en cartera ms de un ao La plusvala se
computa ntegramente en la base imponible del I.R.P.F. del accionista
(tipo marginal del inversor). Este tipo depende del total de su base
imponible por todos sus conceptos de renta. Por lo tanto cuanto mayor
plusvala, en principio, mayor ser la base imponible y mayor ser el tipo
al que se tribute, ya que los tipos estn definidos en una escala que
depende del valor de la base imponible.
- Duracin de las acciones en cartera menos de un ao La plusvala
tributa al tipo fijo del 18%, independientemente de la cuanta de la
plusvala. Con ello el legislador quiere primar la inversin a largo plazo
(siempre que el tipo marginal del inversor sea menor que el 18%), la
posesin de las acciones de una empresa como inversin, y no como
especulacin. Se tiende a que este tipo vaya disminuyendo.
Minusvalas. La minusvala es el resultado negativo o prdida que se obtiene tras la
enajenacin de las acciones. Las minusvalas se restan de la base imponible.
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

7.2 Brokers online
Qu es un broker online?
Un broker (corredor de bolsa) es una persona o una sociedad que se dedica a
operar en el mercado financiero realizando operaciones para sus clientes.
Para operar en el mercado financiero es necesario ser miembro de ste; en
Espaa los miembros autorizados para operar en la Bolsa son las agencias de valores
y las sociedades de valores. Las segundas son las dueas de la Bolsa como
institucin, y pueden operar por cuenta ajena o por cuenta propia; mientras que las
primeras slo pueden operar por cuenta ajena. Los brokers suelen estar integrados en
una sociedad de valores o en una agencia de valores.
El broker es el intermediario entre la bolsa y el inversor, este ltimo paga unas
comisiones por los servicios de intermediacin, que corresponden al pago del know-
how del broker y de su licencia para operar en el mercado. Un broker online es un
broker que contacta con el inversor a travs de una pgina web.
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.
Tradicionalmente, el principal canal de contacto de los brokers con el cliente ha
sido el telfono, a travs de l, los inversores daban sus rdenes de compra-venta de
acciones o bonos. Con la llegada de Internet aparecieron los brokers online. Estos
contactan con el inversor va online, el cliente manda sus rdenes a travs de internet
y posteriormente recibe una confirmacin de estas. Los brokers online, al igual que
los brokers tradicionales, ofrecen ms servicios a parte de la ejecucin de rdenes de
compra y venta; tambin ofrecen asesora e informacin burstil a travs de su
pgina web.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 131

En definitiva un broker online es una sociedad que presta servicios de compra-
venta de valores y ofrece asesora burstil a travs de una pgina web.
Eleccin del broker online
Para escoger un broker online se deben de tener en cuenta las siguientes
caractersticas de este:
- Servicios financieros que ofrece
- Precio de las comisiones que cobra
- Seguridad de su sistema
Visual Chart permite operar a travs de 6 brokers online que se pueden
considerar seguros.
Los brokers online que operan con Visual Chart se muestran en la siguiente
tabla:




Tabla 6: Brokers online que operan con Visual Chart
El servicio financiero que necesita el sistema de este proyecto, es el servicio de
ejecucin de rdenes de compra-venta de acciones de empresas del IBEX-35 en
tiempo real. Este servicio lo ofrecen Gaesco, Renta 4, Estubroker e Inversis (Interdin
ofrece servicios de compra venta de futuros e Interactive Brokers ofrece servicios de
operacin en bolsas extranjeras).
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.
Se va a realizar un estudio de las comisiones que cobra Renta 4, Estubroker,
Gaesco e Inversis; para escoger el broker ms barato de los tres.
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 132


Grfico 26: Comisiones de los Brokers Online
En el grfico superior se representa la comisin por operacin en funcin del
importe de esta de cada uno de los brokers. Estas comisiones son las que
corresponden a un inversor en Bolsa que opere intradiariamente.
Se observa como EstuBroker es el broker online ms barato para cualquier
importe de la operacin; y por lo tanto ser el que se contratar en el sistema de
inversin de este proyecto.
7.3 Gua del usuario del sistema de inversin
Creacin de una red neuronal
1. Obtencin de datos histricos
1.1. Abrir Visual Chart
1.2. Abrir un grfico en ventana nueva
- Empresa: ACS
- Fecha Final: el da anterior al que se pretenda simular la red neuronal
- Fecha Inicial: un periodo que haga que el grfico tenga ms de 20200
periodos (por ejemplo, la misma fecha que la final un ao ms tarde)
0,00
5,00
10,00
15,00
20,00
25,00
30,00
35,00
0
2
.
0
0
0
4
.
0
0
0
6
.
0
0
0
8
.
0
0
0
1
0
.
0
0
0
1
2
.
0
0
0
1
4
.
0
0
0
1
6
.
0
0
0
1
8
.
0
0
0
2
0
.
0
0
0
2
2
.
0
0
0
2
4
.
0
0
0
2
6
.
0
0
0
2
8
.
0
0
0
3
0
.
0
0
0
3
2
.
0
0
0
3
4
.
0
0
0
3
6
.
0
0
0

/
o
p
e
r
a
c
i

n
importe de la operacin
Estubroker
Renta 4
Gaesco
Inversis
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 133


Ilustracin 34: Obtencin de datos en Visual Chart
1.3. Exportar datos: Archivo/Exportar/Grfico a texto. Es importante guardarlo
en la carpeta que se asigna a la funcin homogeniza de Matlab, con el
nombre acs_historico.





Al final se tendrn 20 ficheros de texto con los siguientes nombres
Realizar los pasos 1.2 y 1.3 para las dems de empresas
(Acerinox, Acciona, BBVA, Bankinter, Endesa, FCC, Ferrovial,
Gamesa, Gas Natural, Iberdrola, Iberia, Indra, Inditex, Popular,
Red Elctrica, Repsol, Santander, Telefnica y Unin Fenosa)
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 134


Ilustracin 35: Nombres de los ficheros
1.4. Declarar la variable carpeta. Esta variable representa la direccin donde se
han guardado los ficheros con los datos descargados de Visual Chart.
carpeta='C:\Users\Juan\Documents\Proyecto\historicos'
1.5. Llamar a la funcin homogeniza en Matlab. Esta funcin va a devolver una
variable HISTORICOS con los datos histricos de las 20 empresas.
HISTORICOS=homogeniza(carpeta)
2. Entrenamiento de la red neuronal
2.1. Llamar a la funcin entrenared:
[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).
La variable redneuronal contiene las 20 redes neuronales entrenadas para
realizar las predicciones, y la variable normaliza contiene la informacin
referente a la normalizacin de las entradas y salidas de la red neuronal.
Simulacin de varios das
1. Obtencin de datos histricos
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.
Por ejemplo si se quiere simular la semana del 19 al 23 de mayo de 2008, se
descargaran los datos histricos desde Visual Chart (ver ilustracin 33) con
fecha inicial 02/11/2006 y fecha final 23/05/2008.
2. Llamar a la funcin modoprueba
[VALORES,POSICIONES]=modoprueba(fecha_inicial,fecha_final
,HISTORICOS,empresas_seleccionadas,comisiones)
A esta funcin habr que proporcionarle los siguientes inputs:
- fecha_inicial: la fecha del primer da que se quiere simular, en el ejemplo
anterior sera 20080519 (lunes 19 de mayo de 2008).
- fecha_final: la fecha del ltimo da que se quiere simular, en el ejemplo
anterior sera 20080523 (viernes 19 de mayo de 2008
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 136

- HISTORICOS: Variable de salida de la funcin homogeniza(carpeta),
tenindose en la carpeta los histricos correspondientes antes
comentados.
- empresas_seleccionadas: esta variable es una matriz sirve para indicar la
situacin de partida. Existen dos posibilidades:
o Tener dinero en dos empresas: la matriz tendr la informacin
referente a las dos empresas (i y j) en las que se tiene el dinero
invertido. En este caso la matriz de empresas_seleccionadas ser:
_ =




o No tener dinero invertido: la matriz tendr la informacin
referente al dinero que se dispone para realizar inversiones. En
este caso la matriz de empresas_seleccionadas ser:
_ =
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]).
= % %
Y proporcionar los siguientes outputs:
- VALORES: esta variable es una variable tipo structure (dimensin 1x
nmero de das simulados) en la que cada elemento contiene una matriz
que contendr los valores reales y los valores simulados de cada uno de
los periodos de un da de la simulacin. La estructura de esta matriz se
muestra en la siguiente imagen:
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 137


Ilustracin 36: Formato de la variable VALORES
- POSICIONES: esta variable es una matriz que contiene el dinero
invertido que se tiene en cada una de las empresas y en cada uno de los
periodos de la simulacin. Para calcular esta variable, la funcin
modoprueba simula las decisiones que se habran ido tomando a partir de
las simulaciones de cada periodo. La estructura de esta matriz es:
Valores reales
Valores simulados
Fecha
Hora
Empresa
1 (ACS)

Empresa
20
(Unin
Fenosa)
ndice de
empresa
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 138


Ilustracin 37: Formato de la variable POSICIONES
3. Obtencin de resultados
Para la obtencin de resultados se llama a la funcin resultados:
[VALORES,POSICIONES]=(fecha_inicial,fecha_final,HISTORICO
S)
Esta funcin tendr como inputs las salidas de la funcin modoprueba, y como
outputs:
- dineroybeneficio: esta variable contiene el dinero invertido y el beneficio
acumulado en cada uno de los periodos de la simulacin.

1
1730


Fila con
el dinero
lquido
Dinero total que se
tiene invertido
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 139

- subidasacertadas: esta variable contiene el nmero total de periodos en
los que la accin ha subido, y el nmero de periodos en los que las
subidas han sido predichas por el sistema de inversin (para cada una de
las 20 empresas).

. (1)

. (20)

- bajadasacertadas: esta variable contiene el nmero total de periodos en
los que la accin ha bajado, y el nmero de periodos en los que las
bajadas han sido predichas por el sistema de inversin (para cada una de
las 20 empresas).

. (1)

. (20)

- aciertos: esta variable contiene el nmero total de periodos en los que el
sistema ha acertado con su prediccin (para cada una de las 20 empresas).

. (1)

. (20)


- erroresmedios: esta variable contiene los errores medios unitarios de las
predicciones realizadas en cada una de las 20 empresas.

. (1) (1)

(20) (20)

- numerodeposiciones: esta variable contiene el nmero de periodos en los
que se ha tenido dinero invertido en cada una de las 20 empresas.

. (1) (1)

(20) (20)

Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 140

Simulacin en tiempo real con Visual Basic
1. Abrir un grfico que contenga las 20 empresas a estudiar
Con Fecha inicial correspondiente al da que se quiere simular. (Es necesario
abrir este grfico antes de que abra la bolsa).
2. Insertar en este grfico el sistema ESCRITURA.vba
Si es la primera vez que se utiliza el sistema de inversin en Visual Chart, es
necesario incluir el sistema en la plataforma. Para ello es necesario ir a
Sistemas/Crear sistema con plataforma Visual (ETIQUETA= ESC,
NOMBRE=ESCRITUTA) y abrir el sistema ESCRITURA.vba del CD compilarlo y
publicarlo.
Una vez se tiene el sistema en la lista de sistemas, se ir a Sistemas/Insertar
Sistema y se escoger el sistema ESCRITURA.vba. Los parmetros a introducir en
este sistema son el nombre de los ficheros que se van a asignar a los datos de cada
una de las empresas. Es necesario que estos parmetros sean los nombres de las
empresas:
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 141


Ilustracin 38: Insertar ESCRITURA.VBA
Este sistema va a ir escribiendo ficheros con la informacin burstil de las 20
empresas cada periodo.
3. Insertar sistemas de ejecucin de acciones
El sistema de ejecucin de rdenes (EJECUCION.vba) ha de ser insertado en un
grfico con una sola empresa (problema comentado en el apartado 4.3). Por esto es
necesario abrir 20 grficos independientes (20 empresas) e insertar en cada uno de
ellos el sistema EJECUCION.vba
Juan Hornedo Lpez-Ibor: Sistema de Inversin en bolsa a corto plazo 142


Ilustracin 39: Parmetros del sistema EJECUCION.vba
En la casilla correspondiente a indiceempresa es necesario escribir el ndice de la
empresa en cuestin (por ejemplo ACS=1).
3. Ejecutar la funcin funcionamiento_tiempo_real
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

perceptrn multicapa a la compra-venta de acciones de bolsa a corto
plazo. ETSI ICAI". 2007.
[OLME04] Olmedo, E., Valderas, J.M, Mateos, R., Gimeno, R., "Utilizacin de
redes neuronales en la caracterizacin, modelizacin y prediccin de
series temporales econmicas en un entorno complejo". 2004.
[PISS02] Pissarenco, D., "Neural Networks for financial time series prediction.
Overview over recent research". 2002.
[RAYA07] Raya Bayona, L., "Invertir en Bolsa en el "muy corto plazo".
Consumer Eroski. 2007.
[REUT08] REUTERS, "Artculo: Iberia ve un ligero descenso de su coeficiente de
ocupacin en 2008, (2 de Junio de 2008)". 2008.
[RODR04] Rodrigo, N., "La bolsa contada con sencillez". 2004.
[ROSI07] Rosique, C. , "El da ms rentable de la bolsa. Diario Expansin (20 de
Mayo de 2007)". 2007.
[TAM_92] Tam, K.M, Kinag, M.Y, "Predicting bank failures: a neural network
approach". 1992.
[VELA07] Velasco, D., "Descubra cules son los brokers online ms baratos,
segn su perfil inversor (elEconomista.es, 29 de mayo de 2007)". 2007.
[WOJT02] Wojtek Przytula, K., "Analysis for trained neural networks". 2002.
[ZHAN98] Zhang, G.P. y Hu, M.Y, "Forecasting with artificial neural networks".
1998.

Potrebbero piacerti anche