You are on page 1of 139

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)


INGENIERO INDUSTRIAL

PROYECTO FIN DE CARRERA

APLICACIN PARA OBTENER


SISTEMAS AUTOMTICOS DE
TRADING BASADOS EN ANLISIS
TCNICO

AUTOR: Luis Mart Gutirrez de la Cmara

MADRID, Junio de 2005


APLICACIN PARA OBTENER SISTEMAS AUTOMTICOS
DE TRADING BASADOS EN ANLISIS TCNICO

Autor: Luis Mart Gutirrez de la Cmara


Directores: lvaro Ballo Moreno, Jess Pascual Peco Gonzlez

RESUMEN DEL PROYECTO


En este proyecto se propone una metodologa para obtener
sistemas automticos de trading basados en anlisis tcnico
utilizando redes neuronales artificiales. Para ello, en una primera
parte se analizan diferentes elementos del anlisis tcnico (medias
mviles, osciladores, das de giro,) y se explica su uso para tomar
decisiones de inversin. A partir de este anlisis se plantea un
modelo de desarrollo de sistemas de trading basado en redes
neuronales. Este modelo toma los elementos del anlisis tcnico para
generar variables de entrada y produce salidas que orientan las
decisiones de compra o venta.
Para el desarrollo de este modelo es necesario definir
claramente las seales de entrada, las seales de salida, los
indicadores y la funcin objetivo. Las seales de entrada son criterios
que nos permiten identificar situaciones del mercado en las que
podra ser un buen momento para abrir una posicin. Las seales de
salida nos indicarn el precio al que debemos cerrar una posicin
abierta. Los indicadores sern las variables explicativas a partir de las
que decidiremos, en cada caso, si se ejecuta una determinada seal
de entrada. La funcin objetivo ser una funcin que modela el
beneficio que se obtiene al abrir una posicin con una seal de
entrada y cerrar la posicin con una seal de salida.
De esta forma, se plantea un problema de aproximacin
funcional en el que se trata de establecer una relacin entre un
conjunto de indicadores tcnicos seleccionados y una funcin
objetivo evaluada en el momento en el que se produce una seal de
entrada.
Para resolver este problema de aproximacin funcional se ha
empleado una red neuronal artificial, concretamente un Perceptrn
Multicapa. Se han propuesto dos enfoques distintos para orientar el
entrenamiento del Perceptrn Multicapa: minimizacin del error
cuadrtico medio y maximizacin del beneficio medio por operacin.
Para la utilizacin de este tipo de red neuronal se ha implementado
una librera codificada en Visual Basic, que incorpora un algoritmo
de tipo Quasi-Newton de baja memoria para resolver la optimizacin
de los pesos del Perceptrn Multicapa.
Los sistemas automticos de trading obtenidos con esta
tecnologa han ofrecido resultados satisfactorios en periodos no
considerados durante el proceso de optimizacin, de lo que se
deduce que es posible obtener beneficio operando en los mercados
financieros utilizando el anlisis tcnico con este procedimiento. No
obstante, no se puede garantizar que los sistemas automticos de
trading obtenidos vayan a ofrecer el mismo rendimiento en el futuro.
El principal inconveniente que se ha presentado en la
realizacin de este proyecto ha sido que al optimizar un patrn de
funcionamiento en un periodo, los resultados que se obtenan en
periodos distintos empeoraban.
Se ha desarrollado una aplicacin con la que se puede
representar grficos especialmente diseados para el estudio de los
elementos del anlisis tcnico y obtener sistemas automticos de
trading. Adicionalmente la aplicacin incorpora un interfaz que hace
posible que el usuario opere con los sistemas automticos de trading
creados anteriormente en tiempo real a travs de una plataforma
Web.
APPLICATION TO OBTAIN AUTOMATIC TRADING
SYSTEMS BASED ON A TECHNICAL ANALYSIS APPROACH

Author: Luis Mart Gutirrez de la Cmara


Supervisors: lvaro Ballo Moreno, Jess Pascual Peco Gonzlez

ABSTRACT
In this thesis we have developed a methodology to obtain
automatic trading systems based on a technical analysis approach by
using artificial neural networks.
The dissertation begins with a study of the different
components of technical analysis (moving averages, oscillators,
reversal days) and with an explanation of their use to take
investing decisions. According to this analysis we formulate a model
for developing automatic trading systems based in artificial neural
networks. This model takes elements from technical analysis in order
to generate input variables and produces outputs that support
adopting long or short positions. The development of this model
requires a clear definition of the input signals, the output signals, the
indicators and the objective function.
The input signals are criteria that permit the identification of
market situations in which it might be a chance to open a new
position. The output signals indicate the price at which the positions
should be closed. The indicators are explanatory variables that we
use to decide whether an input signal should be executed. The
objective function is a function that models the profit that is obtained
by opening a contract with an input signal and closing it with an
output signal.
In this fashion, a functional approximation problem is
formulated. We shall try to set up a relationship between a set of
selected indicators and an objective function evaluated at the time an
input signal is detected.
In order to solve this functional approximation problem we
have used an artificial neural network, in particular a Multilayer
Perceptron. We have proposed two different approaches in order to
guide the training process of the Multilayer Perceptron: the
minimization of the mean quadratic error or the maximization of the
operation average profit.
To facilitate the utilization of this kind of neural network a
library coded in Visual Basic has been implemented; it incorporates a
low memory Quasi-Newton algorithm to adjust the network
weights.
The automatic trading systems obtained with this technology
have offered positive results during periods not explicitly considered
in the training process. This implies that it is possible to obtain
profits in financial markets using technical analysis with this
procedure. Nevertheless, positive results of these automatic trading
systems can not be guaranteed in the future.
The key drawback that has been detected in the development
of this thesis has been that, while the results obtained in one period
improve during the optimization process, the results in other periods
worsen.
The application developed can represent graphics especially
designed for technical analysis studies and can obtain automatic
trading systems. Additionally, the application incorporates a visual
interface that supports real-time investing decisions through a Web
page.
Nunca ser suficiente agradecimiento escribir aqu estos nombres, pero no habra podido
empezar y acabar este proyecto si no fuera por
Mi familia, lvaro Ballo, Grabiel Desmonts, Leonora Jimnez, Elisa Lpez y Jess Peco
Contenido

1 INTRODUCCIN........................................................................................................ 5

1.1 Mercados financieros e inteligencia artificial...............................5


1.2 Objetivos............................................................................................6
1.3 Organizacin del documento .........................................................6
2 ANLISIS TCNICO.................................................................................................. 9

2.1 Introduccin. Anlisis tcnico y anlisis fundamental...............9


2.2 Diferentes tipos de anlisis tcnico .............................................10
2.3 Los primeros principios del anlisis tcnico. La teora de
Dow..................................................................................................11
2.4 Principales herramientas empleadas por el anlisis tcnico....14
2.4.1 Soportes y resistencias ............................................................................. 14
2.4.2 Lneas de tendencia .................................................................................. 16
2.4.3 El porcentaje de los retrocesos.................................................................. 18
2.4.4 La media mvil......................................................................................... 20
2.4.5 Osciladores............................................................................................... 25
2.4.6 Das de giro (Reversal Days) ................................................................... 31

2.5 La teora de las ondas de Elliott...................................................34


2.5.1 Introduccin ............................................................................................ 34
2.5.2 Principios bsicos de la teora de las ondas de Elliott .............................. 34
3 DISEO DE UN SISTEMA DE TRADING.......................................................... 43

3.1 Introduccin a los sistemas automticos de trading.................43


3.2 Proceso de creacin de un sistema automtico de trading ......44
3.3 Componentes utilizados en el desarrollo de un sistema
automtico de trading ...................................................................46
3.3.1 Seales de entrada.................................................................................... 47
3.3.2 Seales de salida ...................................................................................... 53
3.3.3 Indicadores tcnicos ................................................................................. 55
3.3.4 Funcin objetivo ...................................................................................... 60
3.3.5 Caja negra............................................................................................ 61

3.4 Implementacin del modelo con redes neuronales


artificiales ........................................................................................61
3.4.1 Modelo A: Maximizacin del beneficio .................................................... 62
3.4.2 Modelo B: Minimizacin del error cuadrtico medio............................... 63

3.5 Ampliacin del diseo: sistemas automticos de trading


basados en grupos de redes neuronales .....................................64
4 HERRAMIENTA INFORMTICA PARA LA OBTENCIN DE
SISTEMAS DE TRADING: RNA TRADING....................................................... 67

4.1 Gestin de la informacin.............................................................67


4.2 Visualizacin de grficos ..............................................................68
4.3 Creacin de un sistema automtico de trading .........................72
4.3.1 Opciones generales del sistema de trading............................................... 72
4.3.2 Seleccin de componentes ........................................................................ 74
4.3.3 Ejemplo A ................................................................................................ 76
4.3.4 Ejemplo B................................................................................................. 84
4.3.5 Ejemplo C ................................................................................................ 89

4.4 Evaluacin de un sistema automtico de trading en


tiempo real ......................................................................................92
5 CONCLUSIONES Y FUTUROS DESARROLLOS ............................................ 101

5.1 Conclusiones.................................................................................101
5.2 Futuros desarrollos ......................................................................102
6 APROXIMACIN FUNCIONAL MEDIANTE REDES NEURONALES
ARTIFICIALES ......................................................................................................... 105

6.1 Introduccin..................................................................................105
6.2 Aproximacin funcional .............................................................105
6.3 Redes neuronales artificiales ......................................................109
6.3.1 Definicin y caractersticas de una red neuronal artificial .................... 110
6.3.2 Paradigmas de aprendizaje .................................................................... 111
6.3.3 Principales estructuras conexionistas.................................................... 113

6.4 El Perceptrn Multicapa (Multilayer Perceptron)...................114


6.4.1 Estructura del Perceptrn Multicapa .................................................... 114
6.4.2 Entrenamiento de un Perceptrn Multicapa ......................................... 119
6.4.3 Clculo de derivadas y algoritmo de Retropropagacin
(Backpropagation).................................................................................. 121
6.4.4 Evolucin del entrenamiento ................................................................. 125
6.4.5 Aspectos a tener en cuenta en el entrenamiento de un Perceptrn
Multicapa............................................................................................... 126
1 Introduccin 1-3

Captulo 1

Introduccin
1 Introduccin 5

1 Introduccin

1.1 Mercados financieros e inteligencia artificial

Es posible obtener beneficios operando en los mercados financieros


basndose nicamente en sus movimientos pasados? Segn la teora del
camino aleatorio (random walk theory), los movimientos de los precios de los
activos en el mercado, si los agentes que participan en ste son inteligentes
y tienen acceso a la misma informacin (efficient markets hypothesis), no
siguen patrones ni tendencias. Por lo tanto, segn esta teora, no se pueden
emplear los datos pasados para obtener beneficios o para intentar predecir
futuros movimientos en los mercados financieros.

Si los precios no siguieran un camino aleatorio, sino que variaran de


forma catica o difcilmente predecible, alguien podra ser capaz de
modelar esta evolucin, disponiendo de ms informacin que los dems
participantes.

Tradicionalmente, las tcnicas de modelado del comportamiento de los


precios que ms se han empleado han sido la regresin lineal, los modelos
ARIMA, las medias mviles, Recientemente, el desarrollo de las tcnicas
de inteligencia artificial ha dado lugar a la aparicin de nuevas
herramientas que pueden ser utilizadas en la investigacin de la evolucin
de las series financieras, con el fin de realizar estimaciones ms complejas
que las obtenidas con los modelos tradicionales.

Por otro lado, son muchos los investigadores que afirman que los
mercados financieros s evolucionan siguiendo unos determinados
patrones o tendencias, pudindose deducir reglas a partir de las que se
podrn establecer estrategias con las que, tericamente, se obtendran
beneficios. En este proyecto se emplear un enfoque que trata de
determinar estas reglas a partir de la evolucin de los precios: el anlisis
tcnico.
6 1.2 Introduccin

En este proyecto se propone una metodologa que utiliza las tcnicas de


inteligencia artificial y elementos obtenidos del anlisis tcnico para
intentar obtener beneficios operando en los mercados financieros, a pesar
de la dificultad que implica desafiar el postulado de la teora del camino
aleatorio.

1.2 Objetivos

Por una parte se pretende conocer los elementos ms relevantes del


anlisis tcnico, un enfoque que facilita a los inversores tomar decisiones en
sus operaciones financieras. Para ello se examinarn los distintos aspectos
que componen este enfoque y se desarrollar una herramienta que facilite
la interpretacin de cada uno.

Por otra parte se quieren explorar las posibilidades ofrecidas por una
rama de la inteligencia artificial, las redes neuronales artificiales, as como
desarrollar unas libreras que permitan utilizar esta tecnologa de una
forma sencilla.

Posteriormente se buscar una metodologa para obtener sistemas


automticos de trading a partir de los componentes que forman el anlisis
tcnico, utilizando para ello las posibilidades que nos ofrecen las redes
neuronales artificiales. Por lo tanto, deber evaluarse la utilidad que podr
tener cada componente empleado por el anlisis tcnico en la creacin de
los sistemas automticos de trading.

1.3 Organizacin del documento

Este documento refleja el trabajo realizado durante el desarrollo de este


proyecto y est estructurado como sigue.

En el segundo captulo se presenta una introduccin en la que se


explican los principios fundamentales en los que se basa el anlisis tcnico.
Adems se detalla cmo se utilizan los elementos empleados con mayor
frecuencia que pueden obtenerse a partir de estos principios
fundamentales.
1 Introduccin 7

En el tercer captulo se explica cmo se ha decidido utilizar cada uno de


los elementos obtenidos en el segundo captulo y la relacin existente entre
ellos. Adems se comenta la metodologa que se ha empleado para
desarrollar sistemas automticos de trading.

En el cuarto captulo se describe la herramienta informtica


desarrollada, con la que se pueden crear sistemas automticos de trading y
utilizarlos para invertir en derivados financieros en tiempo real.
Adicionalmente, la herramienta permite representar elementos empleados
en el anlisis tcnico con el fin de evaluar su utilidad.

En el quinto captulo se exponen las conclusiones obtenidas a partir de


la realizacin de este proyecto.

Por otra parte, se incluye un anexo en el que se explica en qu consiste el


problema de la aproximacin funcional, proponiendo una metodologa
para su resolucin, y se comentan las principales caractersticas de las redes
neuronales artificiales, analizando con ms profundidad el Perceptrn
Multicapa, una de las redes neuronales artificiales empleadas con ms
frecuencia en la resolucin de problemas de aproximacin funcional.
8 1.3 Introduccin

Captulo 2

Anlisis tcnico
2 Anlisis tcnico 9

2 Anlisis tcnico

2.1 Introduccin. Anlisis tcnico y anlisis fundamental

Los inversores, cuando actan en el mercado, normalmente lo hacen


guiados por algn modelo que les sirve de referencia para tomar sus
decisiones. De estos modelos vamos a destacar los modelos basados en
anlisis tcnico y los modelos basados en anlisis fundamental, aunque
tambin existen otros enfoques.

El anlisis fundamental consiste en un estudio pormenorizado de los


indicadores fundamentales que supuestamente condicionan el valor del
activo de inters. En el caso de que el activo sea la accin de una cierta
empresa, el anlisis fundamental incluira aspectos tales como las
perspectivas del sector, los resultados trimestrales, o la capacidad de
crecimiento. El anlisis tcnico, por el contrario, no trata de buscar variables
explicativas externas que justifiquen la evolucin de la cotizacin del
activo, sino que se limita a estudiar la tendencia que sigue dicha cotizacin.

Podemos definir el anlisis tcnico como el estudio de los movimientos


del mercado, normalmente a travs de grficos, con el objetivo de predecir
futuras tendencias del precio de un activo en el mercado. No tiene en
cuenta la realidad subyacente (empresa, ndice, contrato,) sino la
evolucin histrica de sus cotizaciones.

La filosofa del anlisis tcnico se asienta en tres hiptesis:

Todo lo que pueda afectar al precio de un activo en el mercado


est reflejado en dicho precio, por lo que lo nico que hay que
estudiar es ese valor de mercado. El anlisis tcnico no se
preocupa por las razones que impulsan el valor en una cierta
direccin.
10 2.2 Anlisis tcnico

El precio se mueve por tendencias. El principal objetivo del


anlisis tcnico es identificar cundo cambia la direccin de stas,
as como cundo comienzan y finalizan.

Los patrones que funcionaron en el pasado tambin deben


funcionar en el futuro. Como los patrones estn basados en el
comportamiento humano, y ste tiende a repetirse, se supone
que la historia se repetir. El anlisis tcnico es frecuentemente
criticado por emplear datos histricos para tomar decisiones
sobre una inversin futura, cuando todos los modelos usan datos
del pasado, ya que stos son los nicos datos disponibles.

Como puede deducirse de todo lo anterior, el anlisis fundamental


estudia el valor de un activo en el mercado, mientras que el anlisis tcnico
estudia su precio.

Aunque el anlisis tcnico y el anlisis fundamental sean dos formas


completamente distintas de abordar el mismo problema, la mayora de los
inversores emplean conceptos de ambos enfoques. No obstante, slo el
anlisis tcnico informa sobre el momento adecuado para realizar las
operaciones, lo que provoca que un inversor que se basa en el anlisis
fundamental debiera recurrir al anlisis tcnico para saber cundo invertir
(aunque no suelan hacerlo).

Por otra parte, el anlisis tcnico es ms flexible que el fundamental, ya


que se puede aplicar a prcticamente cualquier inversin y horizonte
temporal (acciones, ndices, divisas, materias primas,). Los mismos
principios tcnicos que se aplican en un mercado se pueden aplicar a
cualquier otro, sin embargo, el anlisis fundamental requiere
conocimientos precisos sobre el mercado en el que se va a invertir, lo que
limita las posibilidades del inversor.

2.2 Diferentes tipos de anlisis tcnico

Aunque las ideas principales son las mismas para todos los inversores
que aplican los conceptos del anlisis tcnico, no siempre se aborda el
2 Anlisis tcnico 11

problema de la misma forma. Podemos clasificar en dos grandes grupos a


los inversores segn el modo de aplicacin y la finalidad que le dan al
anlisis tcnico.

El primer grupo est formado por aquellos inversores que usan como
herramienta principal los grficos. Sus mtodos se basan en identificar en
los grficos figuras o patrones que se han repetido a lo largo de la historia.
El anlisis que desarrollan estos inversores es subjetivo; el xito depende en
gran medida de la habilidad y experiencia del tcnico analizando los
grficos.

En el segundo grupo se encuentran todos los inversores que tratan de


disear, y utilizar posteriormente, indicadores que cuantifiquen de forma
objetiva la informacin que contienen los grficos. Se apoyan en
herramientas matemticas para reducir o eliminar la componente subjetiva
del anlisis y hacerlo ms cientfico. Esta alternativa presenta la ventaja de
que facilita la implantacin de sistemas automticos que toman decisiones
en funcin de los valores que presentan los indicadores tcnicos que se han
diseado, pero, por otro lado, es complicado conseguir un conjunto de
indicadores fiables que conserve toda la informacin de los grficos.

Este ltimo grupo tambin puede subdividirse segn la finalidad del


uso de los mtodos matemticos empleados, segn si se utilizan para
generar nuevos indicadores que cuantifiquen mejor la informacin
contenida en los grficos o si se utilizan para generar modelos tipo caja
negra que toman decisiones en funcin de los indicadores creados
anteriormente.

El diseo que se desarrolla en este proyecto es una caja negra que


toma decisiones de compra o venta en funcin de una serie de indicadores
tcnicos, por lo que se encontrara dentro de este ltimo subgrupo.

2.3 Los primeros principios del anlisis tcnico. La teora de Dow

Charles Dow y Edward Jones fundaron Dow Jones and Company en 1882
y, todava hoy en da, la mayora de los sistemas de inversin basados en el
12 2.3 Anlisis tcnico

anlisis tcnico tienen su origen en lo que se conoce como la teora de Dow,


ideadas en el siglo XIX. La teora de Dow consiste en seis principios
bsicos:

Todo est reflejado en los ndices

Ya hemos comentado en la introduccin del tema que cualquier factor


que pueda afectar al precio est reflejado en l. Dow enunci este principio
aplicado a ndices formados por un conjunto de acciones.

El mercado tiene tres tipos de tendencia

En primer lugar vamos a definir lo que Dow entenda por tendencia.


Dow defini una tendencia alcista como una patrn en el que los picos y los
valles consecutivos son ascendentes y una tendencia bajista como una
patrn en el que los picos y los valles consecutivos son descendentes.
Consideraba que en el precio del mercado se pueden encontrar tres tipos de
tendencia, en funcin de la duracin de las mismas: primaria, secundaria y
menor.

La tendencia primaria corresponde a la tendencia de largo plazo (para


Dow, un periodo de ms de un ao de duracin) que ha seguido el
mercado.

La tendencia secundaria es una correccin de la tendencia primaria que


puede durar desde tres semanas hasta tres meses. En esta tendencia el
precio suele retroceder entre un tercio y dos tercios desde el
movimiento anterior.

Las tendencias menores son fluctuaciones en la tendencia secundaria.

Dependiendo del tipo de inversin que se desee realizar se prestar ms


atencin a alguna de estas tendencias, modificndose las duraciones de las
mismas.
2 Anlisis tcnico 13

Las tendencias importantes tienen tres fases

Dow se centr principalmente en las tendencias primarias, detectando


tres fases en stas:

En primer lugar se da una fase de acumulacin en la que los inversores


que saben que el valor no va a descender ms del valor actual (los
inversores ms astutos) empiezan a operar.

Posteriormente tiene lugar una fase en la que operan los inversores que
se basan en algn sistema de seguimiento de tendencias. En esta fase el
precio avanza rpidamente y mejoran las noticias del estado del
mercado en los medios de comunicacin.

Finalmente se da la fase de distribucin en la que los inversores


astutos que compraron en la fase de acumulacin comienzan a
vender a los inversores que llegan tarde a esta subida. En esta ltima
fase normalmente aparecen noticias en la prensa alertando del buen
momento que atraviesa el mercado.

Los ndices deben confirmarse mutuamente

Dow expres esta idea refirindose a los ndices, creados por Dow Jones
and Company, en los que se reflejaba la fuerza de los sectores industrial y del
ferrocarril de EEUU (Industrial and Rail Averages). Postula que, para que un
movimiento alcista sea importante, debera apreciarse en ambos ndices,
aunque no necesariamente de forma simultnea, un patrn con picos y
valles ascendentes. Cuanto ms cerca estn las seales de ambos ndices,
ms significativo ser este indicador.

El volumen debe confirmar la tendencia

Dow caracteriz el volumen como un indicador secundario, pero


importante a la hora de confirmar seales. Segn Dow, en una tendencia
alcista el volumen debera crecer cuando los precios suben y disminuir
cuando dejan de aumentar. En una tendencia bajista el volumen debera
crecer cuando los precios caen y disminuir cuando dejan de bajar.
14 2.4 Anlisis tcnico

Una tendencia no termina hasta que se detecta una seal definitiva de que el
mercado ha cambiado de direccin

Una de las cuestiones ms difciles con la que se tendr que enfrentar el


inversor tcnico es saber cundo ha finalizado una tendencia. Por este
motivo se disean gran cantidad de herramientas para detectar seales de
giro, como los soportes, las resistencias, lneas de tendencia, las medias
mviles Adems, es complicado distinguir entre un cambio en la
tendencia principal y una correccin o tendencia secundaria.

2.4 Principales herramientas empleadas por el anlisis tcnico

La mayor parte de las herramientas que se emplean en el anlisis tcnico


estn orientadas a medir diferentes caractersticas de las tendencias. Por
este motivo se desaconseja usar estas tcnicas en mercados en los que, para
un horizonte temporal determinado, no se aprecia una tendencia, como por
ejemplo, cuando el mercado se encuentra en un movimiento lateral.

2.4.1 Soportes y resistencias

Las definiciones de soporte y resistencia estn ligadas con la definicin


de tendencia. Anteriormente se ha definido tendencia como una sucesin
de picos y valles consecutivos en una direccin determinada; partiendo de
esta definicin se denomina soporte a los valles y resistencia a los picos de la
tendencia.

En la Ilustracin 2.1 se pueden apreciar varios soportes que aparecieron


en una tendencia alcista.
2 Anlisis tcnico 15

Ilustracin 2.1. Soportes en una tendencia alcista

En la Ilustracin 2.2 observamos las resistencias ascendentes que


tuvieron lugar en el mismo periodo.

Ilustracin 2.2. Resistencias en una tendencia alcista

Los soportes y las resistencias ofrecen claras seales de giro cuando son
violados. Si, en una tendencia alcista, el precio desciende por debajo de un
16 2.4 Anlisis tcnico

soporte en un determinado porcentaje (aunque siempre depende del


producto en el que se invierta, puede servir de referencia el 3% y para
operaciones de corto plazo el 1%) se entiende que se ha roto el soporte y
por lo tanto la tendencia alcista. Lo mismo ocurre con las tendencias
bajistas y las resistencias. Si en una tendencia alcista el precio no es capaz
de superar la resistencia anterior se produce el primer aviso de que la
tendencia puede estar cambiando, y lo mismo ocurre en una tendencia
bajista si el precio no cae por debajo del soporte anterior.

Otros aspectos que es necesario tener en cuenta son el periodo de tiempo


que se ha estado negociando en un nivel de soporte o resistencia y la
cantidad de contratos que se negocian en dicho periodo. Cuanto ms
tiempo y volumen se negocia en uno de estos niveles, ms importante es.
Por otro lado, una resistencia o soporte es ms importante cuanto ms
recientemente se haya producido.

2.4.2 Lneas de tendencia

Aunque es una de las herramientas ms simples, la lnea de tendencia es


una de las ms tiles. Una lnea de tendencia alcista no es ms que una
lnea recta que pasa por los soportes sucesivos en una tendencia alcista
(soportes crecientes), y una lnea de tendencia bajista es una lnea recta que
pasa por las resistencias sucesivas en una tendencia bajista (resistencias
decrecientes). De forma general, se puede considerar que una lnea de
tendencia alcista es una lnea que unos mnimos ascendentes y una lnea de
tendencia bajista es una lnea que une mximos descendentes, pues cada
mnimo diario representa un soporte y cada mximo diario representa una
resistencia.

En la Ilustracin 2.3 se representa una lnea de tendencia alcista que se


mantuvo durante ms de seis meses. La rotura de esta lnea en Marzo de
2005 nos indica que la tendencia alcista en al que se encontraba el mercado
de valores espaol est cambiando. En la Ilustracin 2.4 podemos ver
cmo se traza una lnea de tendencia bajista.
2 Anlisis tcnico 17

Ilustracin 2.3. Lnea de tendencia alcista

Ilustracin 2.4. Lnea de tendencia bajista

Para dibujar una lnea de tendencia debe haber constancia de una


tendencia, es decir, dos reacciones consecutivas en la que la segunda
reaccin supere a la primera (en caso de una tendencia alcista, ocurrira al
contrario en una tendencia bajista). Aunque ya se puede hablar de lnea de
18 2.4 Anlisis tcnico

tendencia cuando pasa por dos puntos, se considera confirmada su validez


si el precio rebota en la lnea una tercera vez.

Las lneas de tendencia son muy tiles, porque si aceptamos la teora de


Dow, la tendencia debera mantenerse hasta que la lnea sea traspasada por
el precio (uno de los mejores indicadores que alertan de un cambio en la
tendencia es la rotura de una lnea de tendencia confirmada). Por lo tanto,
una lnea de tendencia nos informa si la tendencia est cambiando o se
mantiene.

Por otro lado, los toques en una lnea de tendencia son puntos en los que
puede interesar entrar en el mercado, puesto que se prev que si no se ha
roto la lnea de tendencia el precio mantendr la tendencia actual.

Para determinar la importancia de una lnea de tendencia debemos


fijarnos en dos factores clave: el tiempo que lleva sin ser traspasada y el
nmero de toques que se han producido en ella. Cuanto ms tiempo haya
permanecido vigente la lnea y ms rebotes se produzcan en ella, ms
importante es la lnea. Por este motivo, la lnea de tendencia representada
en la Ilustracin 2.3 est considerada como una lnea de tendencia
importante.

Tambin es susceptible de discusin cundo se puede afirmar que la


lnea de tendencia ha sido definitivamente traspasada. Anteriormente
hablbamos de un rango de porcentajes a partir de los que considerbamos
que se haba roto una resistencia o un soporte (entre el 1% y el 3%).
Algunos inversores utilizan estos porcentajes tambin para determinar
cundo se ha violado una lnea de tendencia, sin embargo, existen otros
criterios, como que una o ms sesiones cierren por debajo de la lnea de
tendencia (esta prctica puede ser arriesgada en algunos valores).

2.4.3 El porcentaje de los retrocesos

Como hemos descrito anteriormente, en el avance de una tendencia


alcista nos encontramos con una serie de resistencias y soportes
ascendentes sucesivos: el precio crece hasta que aparece una resistencia,
2 Anlisis tcnico 19

pero luego retrocede hasta crear un nuevo soporte. Estos movimientos en


los que el precio retrocede un determinado porcentaje con respecto a la
subida anterior presentan una particularidad notable: frecuentemente se
repiten los porcentajes de la cada.

Vamos a comprobar que, aunque existen varias teoras sobre los


porcentajes ms habituales, son todas muy parecidas. La teora de Dow
dice que los retrocesos ms habituales son 33%, 50% y 66%, la teora de las
ondas de Elliot y las proporciones de Fibonacci corrigen estos porcentajes a
38% y 62% y, por ltimo, Gann divida en octavos el ascenso anterior (1/8,
2/8, 3/8, 4/8, 5/8, 6/8, 7/8 y 8/8). Ayuda recordar que 3/8 es equivalente
al 38% y que 5/8 es equivalente al 62%. Estas teoras coinciden en que otra
posibilidad comn es que se retroceda hasta el punto de partida (retroceso
del 100%).

En la Ilustracin 2.5 observamos cmo ha evolucionado el futuro del


Ibex. En primer lugar ascendi rpidamente hasta los 9650 puntos, pero en
slo tres sesiones retrocedi el 50% de la subida anterior. Finalmente ha
regresado hasta el punto de partida.

Ilustracin 2.5. Retrocesos ms repetidos


20 2.4 Anlisis tcnico

2.4.4 La media mvil

La media mvil es uno de los indicadores ms verstiles y usados por su


simplicidad de clculo y aplicacin; hoy en da es la base de muchos
sistemas automticos de trading. El anlisis de determinados patrones o
anlisis charlista, es decir, detectar en las cotizaciones algunas figuras1, es
subjetivo y es complicado que un ordenador pueda realizarlo por si mismo.
Por el contrario, es muy sencillo calcular y analizar las reglas por las que se
guan las medias mviles. La media mvil de n barras2 es, simplemente, la
media de los valores de las n barras anteriores, como queda definido en la
Ecuacin 2.1. Normalmente los valores a los que nos referimos son los
valores de cierre de la sesin y se suele emplear la media aritmtica,
aunque en ocasiones se ponderan con ms significacin los das ms
cercanos al da de referencia.

i Vj
MM i (n) =
j = i n +1 n
i

Ecuacin 2.1. Media mvil simple de n barras

En la Ilustracin 2.6 se muestra la media mvil de 10 das del futuro del


Ibex 35, y las cotizaciones de dicha serie. Se puede observar que en las
grandes subidas el precio se mantiene por encima de la media mvil.

1 Un ejemplo notable de patrn es hombro-cabeza-hombro


2 Barra: Periodo sobre el que se establecen las cotizaciones. Las ms comunes son las
cotizaciones diarias, en cuyo caso cada barra equivale a un da de negociacin, pero tambin
se pueden establecer otros periodos de tiempo (semanales, horarias, )
2 Anlisis tcnico 21

Ilustracin 2.6. Media mvil de 10 das

La media mvil es una herramienta que nos ayuda a seguir el progreso


de una tendencia. En ningn caso intenta predecir los movimientos de la
serie, ni se anticipa a los giros que se puedan dar, slo reacciona ante ellos.
En la media mvil siempre aparece suavizada y retrasada la accin del
mercado y este efecto ser ms acusado si se emplean ms barras en el
clculo de la media. Una media mvil larga, por ejemplo de 150 barras, nos
ayuda a ver claramente la tendencia de largo plazo, pero una media mvil
corta, por ejemplo de 20 barras, seguir ms cerca al precio del mercado.

Como hemos comentado, la media mvil es muy verstil, pudindose


usar de varias formas:

2.4.4.1 Uso de una nica media mvil

Algunos inversores usan la media mvil para generar seales de entrada


en el mercado, por ejemplo, se podra generar una seal de compra cuando
el precio de cierre de la sesin superase a la media mvil, y una seal de
venta si le precio de cierre de la sesin descendiera por debajo de la media
mvil. Para confirmar la validez de esta seal algunos inversores se fijan en
que la media mvil gire hacia el lado de la nueva operacin antes de entrar,
22 2.4 Anlisis tcnico

aunque, si la media mvil ha girado mucho, forzosamente el precio ha


tenido que variar mucho y se habr perdido parte de la tendencia antes de
entrar. En la Ilustracin 2.7 observamos cundo se produciran seales de
entrada de compra con esta estrategia y que perdemos gran parte del
beneficio obtenible en una tendencia si esperamos a que la inclinacin de la
media mvil sea elevada. Adems, en esta misma ilustracin se aprecia que
no todas las seales de compra que se han sealado son buenos puntos de
entrada en el mercado. Para realizar esta ilustracin se ha representado la
media mvil de 10 das de los valores de cierre.

Slo con este concepto un inversor podra elaborar una parte importante
de un sistema de trading simple: las seales de entrada en el mercado. En
este caso, las nicas variables de decisin que necesitaramos definir para
generar las seales de compra seran el nmero de das que se emplearan
en el clculo de la media mvil y, en caso de que quisiramos esperar a que
la inclinacin de la media superase un determinado valor, el valor crtico
de inclinacin de la media mvil.

Dependiendo del nmero de das que se empleen en el clculo de la


media mvil obtendremos unas ventajas y unos inconvenientes. Si
elegimos una media mvil corta, por ejemplo de 10 das, el precio cruzar a
la media mvil en numerosas ocasiones, generando algunas seales falsas,
pero no notaremos demasiado retraso con respecto al precio. Por otra parte,
si elegimos una media mvil larga, por ejemplo de 50 das, las seales que
generemos sern ms fiables, pero obtendremos menos seales y adems
estarn ms retrasadas con respecto al precio. En la Ilustracin 2.8 se
compara la efectividad de la media mvil de 50 das con la efectividad de la
media mvil de 10 das. Se puede observar que un inversor que usa esta
estrategia apoyndose en la media mvil de 10 das comprar ms barato
que otro que use la media mvil de 50 das, pero aquel tendr que operar
muchas veces con menos garantas de xito (dependiendo de la serie que se
est analizando, es posible que este ejemplo no sea correcto, depender de
la velocidad de la serie). Generalmente, las medias mviles largas
funcionan mejor cuando el precio se mantiene en una tendencia y las
2 Anlisis tcnico 23

medias mviles cortas son ms efectivas cuando el precio est en un


proceso de giro.

Ilustracin 2.7. Uso de una media mvil de 10 das para producir seales de compra

Ilustracin 2.8. Comparacin entre las medias mviles de 50 das (naranja) y 10 das (negro)
24 2.4 Anlisis tcnico

2.4.4.2 Uso de dos medias mviles

Esta tcnica produce seales de entrada cuando se cruzan dos medias


mviles distintas. Se genera una seal de compra si la media mvil corta
pasa por encima de la media mvil larga y una seal de venta en el caso
contrario. Esta tcnica retrasa la entrada en el mercado ms que si se
emplea slo la media mvil corta, pero generalmente, si se eligen bien las
medias mviles, las seales que genera son ms fiables que las producidas
con la tcnica anterior (aunque siempre depender de la serie que se est
analizando y del momento histrico del que se trate).

Ilustracin 2.9. Uso de las medias mviles de 20 das (azul) y 5 das (rojo)

En la Ilustracin 2.9 vemos que es difcil elegir un par de medias mviles


que no generen seales falsas.

2.4.4.3 Uso de tres medias mviles

Esta tcnica es una ampliacin de la anterior. Se basa en emplear tres


medias mviles distintas (corta, media y larga) y generar seales en funcin
de los cortes que se produzcan entre ellas. Para que se genere una seal de
entrada en el mercado se tendrn que cumplir dos condiciones: en primer
lugar la media mvil ms corta cruzar a las otras dos, pero tambin se
2 Anlisis tcnico 25

esperar hasta que la segunda media mvil cruce a la ms lenta. Para


clarificar esta explicacin se ha marcado en la Ilustracin 2.10 con un
crculo el momento en el que la media mvil corta (en negro) cruza las otras
dos y con una flecha el momento en el que se entrara en el mercado,
cuando la media mvil intermedia (verde) asciende por encima de la media
mvil lenta (rojo).

Una de las combinaciones ms usadas es la que combina las medias


mviles de 4, 9 y 18 das. En la Ilustracin 2.10 podemos ver aplicada la
tcnica de los cruces de tres medias mviles en el mismo rango temporal
que usamos en la Ilustracin 2.9. Podemos ver que con esta tcnica han
desaparecido seales errneas, y que, si nos ayudamos de la inclinacin de
la media mvil ms larga, podemos conseguir mejorar las seales.

Ilustracin 2.10. Uso de tres medias mviles: 4 das (negro), 9 das (verde) y 18 das (rojo)

2.4.5 Osciladores

Los osciladores son indicadores tcnicos que detectan si el precio est


cerca de valores extremos (cuando el mercado est sobrecomprado o
sobrevendido) y que complementan a los indicadores que informan sobre
las tendencias del mercado. Son muy tiles cuando el mercado se encuentra
26 2.4 Anlisis tcnico

en su gama operativa (en un movimiento lateral); en estas situaciones los


sistemas seguidores de la tendencia no ofrecen buenos resultados.

Dado que la mayora de los osciladores tienen el mismo propsito


(detectar extremos relativos del precio) sus representaciones son muy
parecidas. La mayor parte del tiempo estos indicadores ofrecen una seal
casi plana, cerca de una lnea cero, pero aparecen picos y valles en el
oscilador si hay resistencias y soportes del precio. Los osciladores
generalmente devuelven valores elevados cuando el precio ha avanzado
demasiado rpido, porque realmente no se puede saber si se va a formar
una resistencia hasta que el precio ha rebotado en ella; intentan alertar de la
existencia de una resistencia antes de que se haya formado, por lo que
muchas veces el precio sigue aumentando despus de que el oscilador
sealase una resistencia.

2.4.5.1 Momento

El momento es el oscilador ms simple y mide la velocidad de cambio


del precio del mercado en un periodo de n barras. Como ya ocurra con las
medias mviles, el nmero de barras elegido para calcular el momento
influir en su aplicacin. Elegir un periodo largo ayudar a detectar
soportes y resistencias importantes, mientras que elegir un periodo corto
provocar que el indicador sea ms sensible a pequeos extremos. Existen
varias formas para medir el momento, la ms habitual se muestra en la
Ecuacin 2.2.

M i (n) = Vi Vi n i

Ecuacin 2.2. Definicin de momento

En la Ecuacin 2.3 se define de otra forma el clculo del momento; esta


formulacin es conocida como rate of change (ROC).

V
M i (n) = 100 i i
Vi n

Ecuacin 2.3. Definicin de rate of change (ROC)


2 Anlisis tcnico 27

Ilustracin 2.11. ROC de 10 das (negro) y ROC de 40 das (rojo)

En la Ilustracin 2.11 podemos observar cmo el momento (en este caso


el ROC) puede ayudar a identificar los puntos de sobrecompra y
sobreventa del mercado, aunque, en ocasiones, el momento indica que ha
aparecido una resistencia y el precio sigue subiendo.

Se puede demostrar fcilmente que el momento de n barras equivale a la


derivada de la media mvil de n barras, aunque se diferencian en que la
derivada de la media mvil est dividida por el nmero de barras n.

2.4.5.2 ndice de fuerza relativa (RSI)

El ndice de fuerza relativa o RSI es un oscilador creado para mejorar el


comportamiento de otro oscilador, el momento. Cuando se han producido
cambios bruscos al principio del intervalo de clculo del momento, y los
precios al final del intervalo se mantienen o varan poco, el valor del
momento indicar que nos encontramos en un extremo, cuando en realidad
los precios pueden estar subiendo lentamente. La solucin que propone el
RSI suaviza este efecto.

El RSI queda definido segn la siguiente ecuacin:


28 2.4 Anlisis tcnico

100
RSI i (n) = 100 i
Media Ganancias n barras anteriores
1+
Media Prdidas n barras anteriores

Ecuacin 2.4. Definicin de RSI

Lo ms habitual es emplear el RSI de 14 barras, aunque tambin es


frecuente usar 5, 7 9 das si se invierte a corto plazo. Adems suele
considerarse que el mercado est sobrecomprado cuando el valor del
oscilador es superior a 70 y sobrevendido si el valor del oscilador es inferior
a 30, aunque los niveles 80 y 20 tambin son utilizados con frecuencia.

Ilustracin 2.12. RSI de 14 das

En la Ilustracin 2.12 podemos observar cmo el RSI de 14 das detecta


correctamente la resistencia que se form en el futuro del Ibex en torno a
los 9600 puntos en Febrero de 2005.

2.4.5.3 Estocstico (K%D)

Este oscilador parte de la siguiente observacin: cuando el precio


aumenta los precios de cierre de la sesin suelen estar cerca del mximo
diario y cuando el precio desciende los precios de cierre de la sesin suelen
2 Anlisis tcnico 29

estar cerca del mnimo diario. Para utilizar el oscilador estocstico se


requiere el clculo de dos curvas, la primera de ellas, llamada %K o
tambin estocstico rpido, se obtiene con la Ecuacin 2.5. La segunda
curva, llamada %D o tambin estocstico lento, es la media mvil de la
curva anterior y es la que da lugar a seales ms significativas.

Vi Li ,n
% K i (n) = 100 i
H i ,n Li ,n

Ecuacin 2.5. Clculo de %K de n barras

Donde Li,n es el mnimo de los n mnimos anteriores a la barra i, Hi,n es el


mximo de los n mximos anteriores a la barra i y Vi es el valor de cierre de
la barra i.

Con las frmulas anteriores se obtienen dos curvas que oscilan entre 0 y
100. Suele considerarse que el mercado est sobrecomprado si el valor del
estocstico lento est por encima de 80 y que el mercado est sobrevendido
si el valor del estocstico lento est por debajo de 20. Estas curvas pueden
emplearse para generar seales de compra o venta: si el valor del
estocstico lento est por encima de 80 se generar una seal de venta
cuando la curva de %K corte a la curva %D. En la Ilustracin 2.13 se
muestra un ejemplo en el que las flechas sealan los puntos en los que el
inversor debera operar (las flechas de color rojo indican seales de venta y
las flechas de color azul indican seales de compra).
30 2.4 Anlisis tcnico

Ilustracin 2.13. Uso de las curvas %K y %D

En la Ilustracin 2.13 se observa cmo las dos primeras seales de venta


producidas por el cruce de las curvas %D y %K se producen cuando el
precio contina ascendiendo. Sin embargo, estas seales pueden ser muy
tiles si el inversor es capaz de filtrarlas adecuadamente.

2.4.5.4 Diferencia de dos medias mviles

Este oscilador se basa en la idea de que cuando dos medias mviles


distintas estn muy separadas estamos cerca de un extremo relativo en el
precio. Tambin se debe resear que cuando el valor de este indicador se
acerca a cero (punto de cruce de las dos medias mviles) el precio atraviesa
una zona delicada.
2 Anlisis tcnico 31

Ilustracin 2.14. Diferencia de medias mviles de 9 y 18 das como oscilador

En la Ilustracin 2.14 podemos observar que este oscilador es bastante


efectivo, pero que los valores ms elevados coinciden con seales falsas.
Por otro lado resulta interesante que se produzcan rebotes en la lnea cero,
que, como hemos comentado, es un punto crtico para este oscilador.

2.4.6 Das de giro (Reversal Days)

Los das de giro son patrones formados por las cotizaciones de uno o
ms das en los que se supone que el precio podra formar una resistencia o
soporte significativo. Los das de giro son seales diseadas
especficamente para comprar muy cerca de los soportes y vender muy
cerca de las resistencias.

Para describir cmo podemos identificar las distintas variantes de los


das de giro vamos a explicar cmo es la estructura de los das de giro que
detectan resistencias, siendo esta descripcin fcilmente aplicable a los das
de giro que detectan soportes.

Se puede identificar un da de giro que indica la presencia de una


resistencia cuando cumple estas dos condiciones:
32 2.4 Anlisis tcnico

El precio mximo diario de la sesin actual es mayor que el


precio mximo diario de la sesin anterior.

El precio cierra por debajo del precio de apertura de esta sesin


y del precio de cierre de la sesin anterior.

Ilustracin 2.15. Esquema general de un da de giro

Cuando se dan estas condiciones se puede decir que la tendencia alcista


ha retrocedido al final del da. Basndose en esta misma idea se han
diseado otros patrones ms restrictivos que generan seales ms
significativas que las descritas. Las variantes del da de giro ms empleadas
son: da de giro clave (Key Reversal Day), da de giro externo (Outside
Reversal Day) y da de giro externo clave (Outside Key Reversal Day).

Para que una sesin sea considerada da de giro clave, adems de


cumplir las condiciones que cumple todo da de giro, debe cumplir que el
precio de apertura de la sesin sea inferior al precio de cierre de la sesin
anterior.

Ilustracin 2.16. Esquema general de un da de giro clave


2 Anlisis tcnico 33

Para que una sesin sea considerada da de giro externo, adems de


cumplir las condiciones que cumple todo da de giro, debe cumplir que el
precio mnimo de la sesin sea inferior al precio mnimo de la sesin
anterior.

Ilustracin 2.17. Esquema general de un da de giro externo

Por ltimo, para que una sesin sea considerada da de giro externo
clave, debe cumplir ser simultneamente un da de giro clave y un da de
giro externo.

Ilustracin 2.18. Esquema general de un da de giro externo clave

Estos das de giro se han enumerado de forma ascendente en funcin de


su relevancia, es decir, los das de giro seran las seales menos
significativas y los das de giro externo clave las seales ms importantes.
34 2.5 Anlisis tcnico

2.5 La teora de las ondas de Elliott

2.5.1 Introduccin

Ralph Nelson Elliott (1871-1948) fue contable de profesin. El desarrollo


de su actividad le llev a varias compaas ferroviarias en Mxico y
Amrica Central. Se retir en 1927 tras contraer una seria enfermedad en
Guatemala y pas varios aos en su casa de California, luchando por
recuperar su salud.

En 1939 escribi una serie de artculos en la Revista Financial World en


los que describa su teora y hacia 1946 Elliott escribi su trabajo definitivo
sobre la teora de las ondas, Natures Law The secret of the universe.

Elliott consideraba su teora como un complemento necesario a las


teoras de Dow, que fueron su punto de partida. Elliott crea que el
funcionamiento del mercado era parte de una ley natural mucho ms
amplia que gobierna todas las actividades del hombre.

La idea fundamental de la teora de Elliott podra describirse con la


siguiente cita: las actividades del universo son repetitivas, aunque no
idnticas en cada situacin, sino con caractersticas particulares. Elliott
postula que el mercado debe seguir los mismos patrones de
comportamiento que la superestructura universal, porque los movimientos
del mercado estn provocados por la actividad y psicologa humanas.

2.5.2 Principios bsicos de la teora de las ondas de Elliott

En la teora de las ondas existen tres aspectos fundamentales: patrn,


proporcin y tiempo.

2.5.2.1 El patrn bsico

Esta teora explica que el mercado se mueve segn unos ciclos


completos, cada uno de ellos compuestos por ocho ondas. En la Ilustracin
2.19 podemos ver el aspecto general del patrn bsico de un ciclo alcista
2 Anlisis tcnico 35

completo que sigue el mercado y las ondas en las que se divide el


movimiento.

Elliott agrup las ocho ondas, clasificndolas en los siguientes grupos:


las ondas 1, 3 y 5 son llamadas ondas de impulso, las ondas 2 y 4 de
retroceso y las ondas a, b y c de correccin.

Ilustracin 2.19. El patrn bsico [A. J. Frost and Robert Prechter, Elliot Wave Principle]

Por otra parte, como Elliott pensaba que todos los movimientos tenan
que seguir estos patrones defini nueve tipos de tendencia en funcin de la
duracin de los mismos, siendo ms importantes los ciclos que persistan
durante ms tiempo. Adems, las ondas de cada ciclo pueden subdividirse
a su vez en ms ondas del nivel siguiente, como se muestra en las
siguientes ilustraciones:
36 2.5 Anlisis tcnico

Ilustracin 2.20. Tendencia alcista3 Ilustracin 2.21. Divisin en una tendencia


alcista

Ilustracin 2.22. Tendencia bajista Ilustracin 2.23. Divisin en una tendencia


bajista

Como puede observarse, los movimientos ms importantes se dividen


en cinco tramos, mientras que los movimientos ms pequeos nicamente
en tres. De esta forma, las ondas 1 y 2 de la Ilustracin 2.19 quedaran
divididas en 8 ondas de menor nivel y, siguiendo el mismo razonamiento,

3 A. J. Frost and Robert Prechter, Elliot Wave Principle, Key to Stock Market Profiles, New
2 Anlisis tcnico 37

todo el patrn bsico de esta misma ilustracin se quedara fraccionado en


34 ondas. Si se repitiera la operacin sucesivamente podran obtenerse 144,
610, 2584, 10946, ondas. Todos estos nmeros pertenecen a la serie de
Fibonacci, que es la base matemtica de la teora de la onda de Elliot.

Como puede observarse en las figuras anteriores, los movimientos ms


importantes, que se dan en el sentido de la tendencia, se dividen en cinco
ondas, y los movimientos menos importantes, que se dan en el sentido
opuesto a la tendencia, en tres ondas, de manera que conocer el nmero de
divisiones en los que se divide un ciclo alcista nos indica qu es lo que
deberamos esperar a continuacin. Una regla muy importante que
podemos deducir de esto es que una onda correctiva nunca puede dividirse
en 5 tramos, si ocurriera esto querra decir que estamos en la primera parte
de una tendencia bajista, o en la parte derecha del patrn bsico.

2.5.2.2 Las proporciones

Elliot estableci en su libro Natures Law The secret of the universe


que la base matemtica para su principio de las ondas es una secuencia
numrica descubierta por Leonardo Fibonacci en el siglo XIII, que
generalmente se conoce como nmeros de Fibonacci.

La sucesin de Fibonacci

Esta secuencia es una sucesin recurrente en la que cada trmino es


suma de los dos trminos anteriores, como se define en la Ecuacin 2.6.

an = an1 + an2
a0 = 1
a1 = 1

Ecuacin 2.6. Sucesin de Fibonacci

Classics Library, 1978.


38 2.5 Anlisis tcnico

La secuencia de Fibonacci presenta varias propiedades interesantes, de


las que se destacan las dos siguientes, por tener mayor relevancia en la
teora de las ondas de Elliot:

La relacin entre un nmero de la secuencia y su anterior es


0.618, o su inversa, 1.618, exceptuando los primeros valores.

La relacin entre los trminos consecutivos con la misma paridad


es 0.382, o su inversa, 2.618.

a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12

an 1 1 2 3 5 8 13 21 34 55 89 144 233

an-1/an 1,000 0,500 0,667 0,600 0,625 0,615 0,619 0,618 0,618 0,618 0,618 0,618

an/an-1 1,000 2,000 1,500 1,667 1,600 1,625 1,615 1,619 1,618 1,618 1,618 1,618

an-2/an 0,500 0,333 0,400 0,375 0,385 0,381 0,382 0,382 0,382 0,382 0,382

an/an-2 2,000 3,000 2,500 2,667 2,600 2,625 2,615 2,619 2,618 2,618 2,618

Tabla 1. Sucesin de Fibonacci

Relaciones y retrocesos de Fibonacci

Aunque anteriormente se introdujeron los nmeros de Fibonacci porque


todos los nmeros que aparecan en la cuenta de ondas pertenecan a esta
sucesin, la aportacin de dicha secuencia a la teora de las ondas va ms
all. Frecuentemente se pueden emplear, entre otras, las siguientes reglas
basadas en las relaciones de Fibonacci que han funcionado bastante bien en
la prctica.

Generalmente se puede obtener un objetivo mnimo para la


resistencia de la segunda onda de impulsin multiplicando la
extensin de la primera onda de impulsin por 1.618 y sumando
ese total a la parte inferior de la primera onda.

Nos podemos aproximar al final de la tercera onda de impulsin


si multiplicamos el ascenso de la primera onda por 21.618, y lo
sumamos a la parte superior de la primera onda. Tambin
2 Anlisis tcnico 39

podemos estimar el mnimo de la tercera onda de impulsin


sumando aquella cantidad a la parte inferior de la primera onda.

Si el avance de la primera onda de impulsin es igual que el de la


segunda se espera que la tercera onda de impulsin se extienda,
pudiendo obtenerse un objetivo para el precio midiendo el
ascenso neto de las dos primeras ondas de impulsin,
multiplicndolo por 1.618 y sumndolo a la parte inferior de la
tercera onda de impulsin.

Es frecuente que el descenso de la primera onda de correccin


sea igual que el de la ltima zona de correccin.

Otra forma de determinar objetivos para los precios es usar retrocesos


porcentuales, como ya comentamos en este mismo captulo. Se expona que
el precio retroceda en unos porcentajes frecuentes, que podan ser 33%,
50%, 66% y 100%, pero que otros investigadores haban corregido estos
porcentajes. La secuencia de Fibonacci ajusta estas cifras a porcentajes de
38%, 62%, aunque cabe destacar que los porcentajes 66%, 50% y 100%
tambin estn contenidos en las relaciones entre los nmeros de la
secuencia de Fibonacci (2/3, 1/2 y 1/1).

Ilustracin 2.24. Proporciones de Fibonacci en el ndice S&P500


40 2.5 Anlisis tcnico

El tiempo

Aunque las relaciones temporales existen en la teora de las ondas de


Elliot se dan con menos frecuencia y muchos seguidores de la teora
consideran a este elemento menos importante que los anteriores. Se supone
que las relaciones temporales aparecern cuando la duracin de una
correccin mantenga una proporcin de Fibonacci con el impulso anterior.
2 Anlisis tcnico 41

Captulo 3

Diseo de un sistema de trading


3 Diseo de un sistema de trading 43

3 Diseo de un sistema de trading

3.1 Introduccin a los sistemas automticos de trading

En este captulo definiremos lo que entendemos por sistema automtico de


trading y propondremos una metodologa para su desarrollo.

Un sistema automtico de trading o sistema automatizado de inversin


no es ms que un conjunto de reglas a partir de las que se pueden tomar
decisiones de actuacin en los mercados, generando rdenes de compra y
de venta. La automatizacin de un sistema de inversin supone que,
independientemente de quin est usando el sistema, siempre se producir
la misma orden para unas condiciones determinadas, lo que implica que el
sistema de inversin ser completamente objetivo.

En general, los sistemas automticos de trading no tendran por qu


tomar sus decisiones en funcin de criterios establecidos por el anlisis
tcnico, pero suele ser as. De hecho, la estructura ms frecuente de un
sistema automtico de trading consta de un conjunto de reglas obtenidas a
partir una combinacin de elementos empleados en el anlisis tcnico y de
en una tcnica de gestin del capital que debe mantener el riesgo de la
inversin en los niveles deseados.

Clasificacin de los sistemas automticos de trading

Los sistemas automticos de trading se podran dividir en los siguientes


grupos:

Sistemas de Seguimiento de Tendencia: estos sistemas abren


posiciones en la misma direccin de una tendencia establecida
por un movimiento del precio. Normalmente, estos sistemas son
los ms eficientes cuando el mercado se encuentra en una
tendencia clara, ya sea alcista o bajista, sin embargo, no suelen
ofrecer buenos resultados cuando el precio realiza movimientos
laterales.
44 3.2 Diseo de un sistema de trading

Sistemas de Antitendencia: estos sistemas intentan aprovechar las


correcciones del mercado, situando posiciones contrarias a la
tendencia del precio cuando creen que sta ha finalizado. Los
Sistemas de Antitendencia son los ms efectivos cuando no se
aprecia una clara tendencia en el mercado, no obstante, suelen
generar muchas operaciones y los beneficios por operacin no
suelen ser demasiado elevados, de forma que los gastos por
comisiones empiezan a tener ms importancia.

Sistemas de Reconocimiento de Patrones: el propsito de estos


sistemas es detectar modelos repetidos en la evolucin del
precio, asociando estos patrones con el desarrollo posterior que
experimenta el precio cuando se han presentado.

Ventajas de los sistemas de trading

Se elimina por completo la emotividad humana.

Se sigue un comportamiento completamente disciplinado.

Se obtiene una total coherencia, es decir, una misma decisin


para las mismas situaciones.

Se controla el riesgo asociado a la inversin.

Inconvenientes de los sistemas de trading automticos

La mayor parte de los sistemas automticos de trading son


Sistemas de Seguimiento de Tendencia y no son rentables
cuando el mercado no sigue una tendencia.

Podran actuar de forma imprevista para casos no contemplados.

3.2 Proceso de creacin de un sistema automtico de trading

En la literatura se pueden encontrar recomendaciones para la


elaboracin de un sistema automtico de trading. De forma general, los
pasos que se recomienda seguir en este proceso son los siguientes:
3 Diseo de un sistema de trading 45

1. El sistema automtico de trading que se est realizando tiene que


estar basado en unas ideas o criterios claros, aplicables de forma
que el inversor est seguro de la posicin que tiene que adoptar
en cada caso. Por lo tanto, en la primera fase se deben definir
ntidamente los principios bsicos de funcionamiento del
sistema.

2. En la segunda parte del proceso se deben hacer explcitas todas


las seales que se emplearn para entrar en el mercado, decidir
cmo se van a controlar las posibles prdidas y qu criterio se va
a seguir para cerrar la posicin si la operacin est resultando
beneficiosa.

3. Una vez que se han concretado los principios de funcionamiento


se puede pasar a la implantacin y verificacin del sistema de
trading, normalmente programando su funcionamiento en un
ordenador.

4. Es necesario evaluar los resultados obtenidos por el sistema


automtico de trading en un periodo determinado para poder
medir su calidad y adems comparar los sistemas que
desarrollemos entre s. Para poder medir la calidad de los
sistemas de trading se suele recurrir al uso de estadsticas, como
pueden ser el mayor beneficio obtenido por el sistema durante
periodo determinado, o el porcentaje de operaciones beneficiosas
que propuso.

En contraposicin a las recomendaciones habituales, en este proyecto se


propone una metodologa distinta, basada principalmente en la posibilidad
de utilizar redes neuronales artificiales como aproximadores funcionales4.
La metodologa seguida en este proyecto propone que las reglas de

4 En el Anexo I se explica el funcionamiento de las redes neuronales artificiales y su


utilizacin en la resolucin de problemas de aproximacin funcional.
46 3.3 Diseo de un sistema de trading

decisin que tendr que aplicar el sistema automtico de trading sern


inferidas por una red neuronal artificial.

Por consiguiente, el papel de la red neuronal artificial ser vital en el


desarrollo de este proyecto. El proceso de creacin de un sistema de trading
se resumir en proporcionar una serie de ejemplos de inversiones pasadas
a la red neuronal artificial, que deber aprender qu situaciones generan
beneficio. Para definir las situaciones a partir de las que tendr que
aprender la red neuronal artificial nos vamos a basar en una serie de
componentes.

3.3 Componentes utilizados en el desarrollo de un sistema automtico


de trading

Estudiando la utilidad que pueden ofrecernos los elementos que hemos


analizado en el captulo anterior a la hora de desarrollar un sistema de
trading, hemos establecido los componentes que formarn un sistema de
trading completo.

En primer lugar vamos a establecer criterios que nos permitan


identificar situaciones del mercado en las que podra ser un buen momento
para abrir una posicin, basndonos en conceptos anteriormente
explicados. Con este propsito se han modelado unos elementos que
vamos a conocer como seales de entrada, que nos van a ser tiles para
determinar las posibles entradas en el mercado.

Por otra parte, tambin tenemos que determinar unas seales de salida
del mercado, que nos obligan a cerrar una posicin abierta anteriormente.

Una vez conocidas las situaciones en las que, posiblemente, podramos


realizar una operacin de entrada en el mercado, necesitamos otros
elementos que nos permitan discriminar entre las seales de entrada que
pueden reportar beneficio y las seales falsas que nos llevaran a perder
dinero en caso de operar. En este proyecto se propone que esta funcin sea
desempeada por los indicadores tcnicos.
3 Diseo de un sistema de trading 47

Por otra parte, para poder determinar qu indicadores tcnicos son ms


importantes y cmo debemos emplearlos para determinar la validez de las
seales de entrada, tendremos que realizar un estudio que relacione dichos
indicadores tcnicos con una funcin que modele el beneficio futuro. Por
consiguiente, necesitaremos tambin otro elemento, al cual vamos a
denominar funcin objetivo, que modelar el beneficio que se obtendra si
se abriera una posicin en el mercado a partir de una seal de entrada
determinada y se cerrara la posicin cuando se produjera una seal de
salida.

Adems de estos elementos necesitaremos tambin una caja negra,


que en nuestro caso ser una red neuronal artificial, que sea capaz de
relacionar los indicadores tcnicos con la funcin objetivo descrita
anteriormente, y de aplicar las relaciones obtenidas en este estudio para
evaluar casos no contemplados en el anlisis. Por lo tanto, esta caja negra
debe poder evaluar, en cada caso, si decide abrirse una posicin propuesta
por una seal de entrada, en funcin de los indicadores tcnicos utilizados
en dicho estudio.

3.3.1 Seales de entrada

Como hemos podido deducir en el captulo anterior, algunos elementos


empleados por el anlisis tcnico nos ayudan a obtener seales que nos
indican que es probable que el precio comience una tendencia en una
direccin determinada. El objetivo de las seales de entrada es el de
detectar los casos se deben presentar a la caja negra, para que sean
analizados por sta. Todas las seales de entrada en el mercado pueden ser
seales de compra o seales de venta as que, para no duplicar las
explicaciones, se expondr la obtencin de las seales de compra, siendo en
todos los casos fcilmente deducibles las seales de venta respectivas.

En este proyecto se han modelado las siguientes seales de entrada:


48 3.3 Diseo de un sistema de trading

Cruce de la media mvil de n das con el precio del activo en el mercado

Como se explic en el captulo anterior, una de las aplicaciones de la


media mvil es la de generar seales de entradas en el mercado cuando el
precio y la media mvil se cruzan. Conociendo los valores de la media
mvil y el precio de cierre de una sesin podemos calcular el valor en el
que hipotticamente se cruzaran la media mvil y el precio en la siguiente
sesin. En la Ecuacin 3.1 queda definida la media mvil de n das, de la
que puede deducirse fcilmente la Ecuacin 3.2, que es una definicin
alternativa de la media mvil.

i Vj
MM i (n) =
j = i n +1 n
i

Ecuacin 3.1. Media mvil simple de n barras

Vi Vi n
MM i (n) = MM i 1 (n) + i
n
Ecuacin 3.2. Definicin alternativa de la media mvil simple de n barras

En ambas ecuaciones Vi representa el valor de cierre de sesin.

A partir de la Ecuacin 3.2 puede deducirse que el valor para el cual la


media mvil de n das y el precio se cruzaran es el mostrado en la Ecuacin
3.3.

Vi n nMM i 1 (n)
Vi = i
1 n
Ecuacin 3.3. Valor de cruce de la media mvil simple de n barras con el precio

En la Ilustracin 3.1 se pueden apreciar varias seales de entrada en


compra producidas por el cruce de la media mvil de 13 das con el precio.
Como se muestra, no todas las seales son vlidas y, por este motivo, se
emplearn otros indicadores tcnicos para tratar de elegir las seales ms
productivas.
3 Diseo de un sistema de trading 49

Ilustracin 3.1. Seales de compra generadas a partir del cruce de la media mvil de 13 das con el
precio

Cruce de dos medias mviles

En el captulo anterior se explic que esta tcnica retrasa la entrada en el


mercado ms que si se emplea slo una media mvil, pero que,
generalmente, si se eligen bien las medias mviles, las seales generadas
son ms fiables que las producidas con la tcnica anterior.

Para saber cundo se debe generar esta seal de entrada vamos a


calcular el precio que debera alcanzar un activo en el mercado para que se
cruzaran las medias mviles de n y m das en una sesin i. El problema se
plantea matemticamente en la Ecuacin 3.4.

MMAi (n) = MMBi (m) i

Ecuacin 3.4. Igualdad de las medias mviles de n y m das

A partir de la Ecuacin 3.2 se puede seguir fcilmente que el precio para


que se crucen las medias mviles es:
50 3.3 Diseo de un sistema de trading

Vi n Vi m
MMBi 1 (m) MMAi 1 (n) +
Vi = n m
1 1

n m
Ecuacin 3.5. Valor del precio para que se produzca el cruce de las medias mviles de n y m das

En la Ilustracin 3.2 podemos ver las seales de compra que se han


producido en un periodo alcista empleando esta tcnica. Se observa que, en
ocasiones, se pueden producir seales de compra aun cuando el precio est
descendiendo el da en el que se comprara y que, adems, habr
situaciones en las que no se podr comprar en el instante que se cruzaran
las medias mviles (seales indicadas con un crculo rojo). Este efecto
sucede por la dependencia de dos sesiones anteriores distintas.

Ilustracin 3.2. Seales de compra a partir de los cruces de dos medias mviles

Rotura del stop-loss opuesto (Trailing stop)

Aunque la proteccin de stop-loss se define como una defensa que se


pondr para cortar rpidamente las prdidas si el mercado avanza en la
direccin opuesta a la que esperbamos y suele, por tanto, emplearse como
seal de salida, vamos a modelar una seal de entrada poniendo en las
3 Diseo de un sistema de trading 51

resistencias un stop-loss opuesto y entrando en el mercado en el punto de


corte con el precio del activo en el mercado. Esta seal de entrada
depender de la cantidad que se establezca como proteccin de stop-loss.

El algoritmo que se ha empleado en la construccin de esta seal de


entrada es el siguiente:

1. Primero se busca un punto de partida vlido, recorriendo las


cotizaciones hacia atrs desde el da en el que se quiere obtener la
seal.

2. En la sesin localizada en 1. se coloca una proteccin de stop-loss


por encima del mximo de la sesin.

3. Se avanza hacia delante, reduciendo la proteccin de stop-loss si


el mximo de la sesin disminuye (siempre al final de la sesin).

En la Ilustracin 3.3 se observa que esta tcnica genera numerosas


seales de compra, pudiendo producir un elevado porcentaje elevado de
seales falsas, pero, por otra parte, se aprovecha la mayor parte del
beneficio en los movimientos del precio.

Ilustracin 3.3. Uso de la proteccin de stop-loss de 35 puntos para generar seales de compra
52 3.3 Diseo de un sistema de trading

Das de giro (Reversal days)

Los das de giro, por definicin, son seales de entrada en el mercado.


Cuando un da de giro indica la presencia de un posible soporte podemos
generar una seal de compra y cuando se detecta una resistencia mediante
el da de giro apropiado se puede generar una seal de venta.

A diferencia de las seales de entrada anteriores, los das de giro no


indican un precio determinado para entrar en el mercado, sino que indican
el instante para entrar en el mercado. Una vez que se puede garantizar que
se ha producido un da de giro, es decir, en el cierre de la sesin, se puede
iniciar la operacin. Por lo tanto, las seales de da de giro nos indicarn
que podemos abrir una posicin en la apertura de la siguiente sesin, pues
es el instante ms cercano a la deteccin de la seal en el que podemos
invertir.

Ilustracin 3.4. Seales de compra producidas con das de giro

Como se puede observar en la Ilustracin 3.5, a medida que se va


aumentado la relevancia de las seales de entrada generadas a partir de
diferentes das de giro se reduce el nmero de seales obtenidas.
3 Diseo de un sistema de trading 53

Ilustracin 3.5. Seales de compra producidas con das de giro externos

3.3.2 Seales de salida

En la realizacin de este proyecto se ha optado por utilizar una tcnica


de limitacin de prdidas, la proteccin de stop-loss, para, de forma
simultnea, controlar el riesgo de la inversin y generar las seales de
cierre de las posiciones abiertas (seales de salida).

Recordamos que la proteccin stop-loss es un lmite que se colocar para


cortar rpidamente las prdidas si el mercado avanza en la direccin
opuesta a la que esperbamos, si el precio rebasa este lmite deberemos
cerrar la posicin inmediatamente.

De forma general, siempre se debe tratar de situar el nivel de la


proteccin por debajo de un soporte, en caso de que se adopte una posicin
larga5, o por encima de una resistencia, en caso de que se adopte una
posicin corta. Si se usan cotizaciones diarias para realizar los clculos de
las protecciones, como es nuestro caso, se puede considerar que el mnimo
diario representa un soporte y que el mximo diario representa una

5 Se dice que el inversor adopta una posicin larga si su saldo neto es comprador y corta
si su saldo neto es vendedor
54 3.3 Diseo de un sistema de trading

resistencia en la evolucin del precio. Siguiendo esta filosofa, la proteccin


se debe colocar, para la posicin larga, por debajo del mnimo de la sesin
anterior.

Fijar la distancia entre el supuesto soporte o resistencia y la proteccin


de stop-loss requiere establecer un compromiso entre el riesgo que se
adopta al realizar una inversin y la posibilidad de cerrar las posiciones
demasiado pronto si la proteccin se coloca demasiado cerca del soporte o
resistencia.

La tcnica de gestin del capital propuesta en este proyecto se basar en


colocar la proteccin de stop-loss en funcin de una cantidad determinada,
a la que vamos a llamar en esta explicacin, por debajo del nivel de
entrada en el mercado, en caso de una posicin larga. El valor de la
proteccin de stop-loss ser funcin del valor de entrada, de y del
mnimo diario de la sesin anterior, de la forma siguiente:

En el caso ms general, la proteccin de stop-loss estar situada por


debajo del valor de entrada en una cantidad , pero en ocasiones esta
proteccin puede resultar poco efectiva por no estar situada por debajo de
un soporte, como se explica a continuacin.

Si la suma del mnimo diario de la sesin anterior y es inferior al


valor de entrada, entonces el valor de es insuficiente para lograr
situarnos por debajo del ltimo soporte conocido y tendremos que correr
ms riesgo si queremos realizar la operacin. La solucin adoptada sita la
proteccin de stop-loss en una cantidad 0.1 por debajo del mnimo
diario anterior en estos casos. Otra posibilidad, ms frecuentemente
utilizada cuando el rango diario es muy amplio, sera aprovechar las
proporciones indicadas en la Teora de la Onda de Elliott y colocar la
proteccin de stop-loss en funcin de stas. Recordamos que normalmente
los impulsos alcistas no retroceden ms del 33% 38%.

En caso de que el precio avance en la direccin en la que nos hemos


posicionado, podemos modificar el valor de la proteccin de stop-loss para
situarnos ms cerca de los ltimos soportes o resistencias y perder la menor
3 Diseo de un sistema de trading 55

parte posible del beneficio que habamos obtenido, si el precio gira


repentinamente en la direccin opuesta a nuestra posicin.

Ilustracin 3.6. Generacin de seales de salida mediante la proteccin de stop-loss

3.3.3 Indicadores tcnicos

Como se ha comentado anteriormente, el papel de los indicadores


tcnicos en el sistema automtico de trading ser fundamental porque
deben funcionar como las variables explicativas a partir de las que se
decidir la calidad de una inversin.

Aunque son muchos los indicadores que se pueden definir, en este


proyecto se han empleado slo los siguientes:

Osciladores

Ya han sido analizados en el captulo anterior. Recordamos que se


emplearn los siguientes osciladores: momento, rate of change (ROC), ndice
de fuerza relativa (RSI), el estocstico, la media mvil del estocstico y la
diferencia de dos medias mviles
56 3.3 Diseo de un sistema de trading

Volumen

Como se ha explicado en el captulo anterior el volumen ha sido


considerado un indicador secundario, pero muy empleado. En primer
lugar nos referimos al volumen cuando hablbamos de las teoras de Dow
(deca que el volumen deba confirmar la tendencia). Posteriormente,
cuando explicbamos los conceptos de resistencia y soporte comentamos
que una resistencia o soporte eran ms significativos si se negociaban ms
contratos en sus niveles.

En la Ilustracin 3.7 se marcan las fechas en las que el volumen ha sido


ms elevado, pudindose advertir que no se puede considerar que el
primer soporte haya sido violado todava.

Ilustracin 3.7. El volumen como indicador

Adicionalmente se emplearn medias mviles cortas del volumen para


tener en cuenta unos pocos das.

Nmero de mnimos crecientes consecutivos y nmero de mximos decrecientes


consecutivos

Existen teoras que consideran que una tendencia alcista ha comenzado


cuando los mnimos diarios crecen de forma consecutiva varios das. De la
3 Diseo de un sistema de trading 57

misma forma se puede aplicar esta teora a las tendencias bajistas, si los
mximos descienden varios das seguidos.

En la parte inferior de la Ilustracin 3.8 se muestra la evolucin de los


mnimos crecientes consecutivos en una tendencia alcista. Se puede
observar que se ha trazado una lnea roja para delimitar el umbral de las
tendencias en las que se cumple que los mnimos han crecido de forma
consecutivo en, al menos, tres sesiones. Como se puede observar, en este
caso este indicador no ofrece las suficientes garantas.

Ilustracin 3.8. Mnimos crecientes consecutivos

Diferencia entre el cierre y la media mvil de n barras

Como se ha comentado, muchos sistemas de trading que se basan en el


seguimiento de la tendencia emplean las medias mviles con distintos
objetivos. Anteriormente las hemos empleado para generar seales de
entrada y para modelar distintos osciladores. Otro de los factores que hay
que tener en cuenta cuando se emplean medias mviles es si el precio est
por encima o por debajo de alguna media mvil en el momento de realizar
la inversin. Habitualmente se realizara una operacin de compra si el
precio superara a la media mvil escogida.
58 3.3 Diseo de un sistema de trading

Algunos autores, como Stan Weinstein6, aconsejan no vender nunca un


valor si su precio se encuentra por encima de su media mvil.
Concretamente, el autor emplea la media mvil de 30 semanas para realizar
esta recomendacin.

En la Ilustracin 3.9 se utiliza la media mvil de 20 das para generar


seales de entrada en el mercado y la media mvil de 50 das como
indicador. Se han marcado en azul los puntos de entrada en los que el
precio superaba a la media mvil de 50 das.

Ilustracin 3.9. Diferencia entre el precio y la media mvil de 50 das

Indicadores para medir caractersticas de las correcciones

Como se explic en el captulo anterior, dos factores que se tienen que


tener en cuenta al estudiar la evolucin de los soportes y las resistencias en
una tendencia son la magnitud de las correcciones y el tiempo que duran
las mismas. Para tener en cuenta estos efectos se han modelado dos
indicadores, partiendo de la misma idea empleada en el modelado de las

6 Stan Weinstein. Los secretos para ganar dinero en los mercados alcistas y bajistas. 1991.
GESMOVASA
3 Diseo de un sistema de trading 59

seales de entrada a partir del cruce de una proteccin de stop-loss opuesta


a la habitual (trailing stop). En este caso, en lugar de generar seales de
entrada se evaluar el nmero de barras consecutivas en las que no se ha
roto la proteccin de stop-loss opuesta y la diferencia de precios desde que
se puso la primera proteccin hasta el instante en que se evala este
indicador.

Ilustracin 3.10. Diferencias de precios en las correcciones obtenidas con stop-loss opuesto de 35
puntos
60 3.3 Diseo de un sistema de trading

Ilustracin 3.11. Duraciones de las correcciones obtenidas con stop-loss opuesto de 35 puntos

3.3.4 Funcin objetivo

Como ya hemos introducido, denominamos funcin objetivo, al


beneficio que se obtendra si se abriera una posicin en el mercado a partir
de una seal de entrada determinada y se cerrara la posicin cuando se
produjera una seal de salida, en nuestro caso, cuando se violara una
proteccin de stop-loss de un nmero determinado de puntos.

La obtencin de esta funcin requiere simular, para cada seal de


entrada, la evolucin de la inversin hacia el futuro hasta que se rompa la
proteccin de stop-loss, que, como comentamos anteriormente, seguir la
direccin del precio en las operaciones favorables. El valor devuelto por la
funcin objetivo ser la diferencia entre el precio en el que se rompi la
proteccin de stop-loss y el precio al cual se inici la operacin.

En la parte inferior de la Ilustracin 3.12 se representa la evolucin de la


funcin objetivo basada en operaciones largas7. Como era de suponer, se
obtiene ms beneficio comprando cerca de los soportes.

7 No se refiere a operaciones de largo plazo, sino a operaciones en las que se compra


primero y se vende ms tarde.
3 Diseo de un sistema de trading 61

Ilustracin 3.12. Funcin objetivo para las operaciones largas con una proteccin de stop-loss de
35 puntos

3.3.5 Caja negra

Anteriormente hemos comentado que es necesario realizar un estudio


que nos permita conocer qu indicadores son los ms importantes y cmo
tenemos que emplearlos. Por otra parte, tambin se indic que es necesario
guardar las conclusiones obtenidas en este anlisis y poder emplearlas
posteriormente. Como ya se ha sealado, para resolver ambos problemas
este proyecto propone utilizar una red neuronal artificial que nos permite
establecer una relacin entre un conjunto de indicadores y la funcin
objetivo elegida y emplear esta relacin posteriormente.

3.4 Implementacin del modelo con redes neuronales artificiales

Una vez descritas las caractersticas de los componentes que van a


formar los sistemas automticos de trading, vamos a explicar cmo se
utiliza cada uno de ellos para inferir las reglas a partir de las que se
decidir cundo entrar en el mercado y qu posicin adoptar.
62 3.4 Diseo de un sistema de trading

Como se ha comentado, se trata de establecer una relacin entre los


valores de unos indicadores tcnicos y una funcin objetivo que modela el
beneficio para deducir en qu situaciones es ms rentable invertir.

Para poder encontrar una relacin entre los valores de los indicadores
tcnicos y la funcin objetivo se va a generar un conjunto de ejemplos
emparejados que, supondremos, se distribuir segn la frecuencia con la
que aparezcan en el mercado. Para generar este conjunto de muestras
emparejadas se seleccionarn: un rango temporal del que se obtendrn los
ejemplos, un conjunto de seales de entrada, un conjunto de indicadores y
un valor para la proteccin de stop-loss (se emplear para construir la
funcin objetivo).

El proceso de obtencin de ejemplos avanzar por el rango temporal


elegido y evaluar, para cada da, si las seales de entrada tienen efecto (se
encuentran del rango diario), en cuyo caso se evaluarn los indicadores
tcnicos y la funcin objetivo seleccionados, aadiendo al conjunto esta
nueva muestra.

En este proyecto se proponen dos metodologas distintas para establecer


la relacin entre los valores de los indicadores tcnicos y la funcin
objetivo. En ambos casos se intentar conseguir una caja negra que
ofrezca valores cercanos a la unidad si, en funcin de los valores de los
indicadores tcnicos seleccionados, intuye que el resultado de la iniciar una
operacin ser favorable y nulo en el caso contrario. Como hemos
comentado, la caja negraser una red neuronal artificial.

3.4.1 Modelo A: Maximizacin del beneficio

Se intentar que la red neuronal maximice el valor de la siguiente


funcin:

N
1
=
N
( y( x[i]) f [i])
i =1
y [0,1]

Ecuacin 3.6. Beneficio medio por operacin


3 Diseo de un sistema de trading 63

Siendo el valor de una funcin que representa el beneficio medio por

operacin, y la salida de la red neuronal, x[i ] los valores de los indicadores

del ejemplo i , f [i ] el valor de la funcin objetivo empleada para el ejemplo

i y N el nmero de casos evaluados.

Como puede observarse, la solucin ptima implica que si el valor de la


funcin objetiva es positivo (se obtendra un beneficio en caso de realizar la
operacin), entonces la salida de la red neuronal debera ser uno y nula si el
valor de la funcin objetiva es negativo. Por lo tanto, la red neuronal debe
aprender de los casos mostrados, modificando su salida para cumplir de la
mejor forma posible la consigna anterior.

3.4.2 Modelo B: Minimizacin del error cuadrtico medio

En este caso se tratar de resolver un problema clsico de minimizacin


de distancias. En primer lugar, para poder emplear los dos modelos
indistintamente en una misma aplicacin, se realizar una transformacin
lineal de la funcin objetivo escogida, de forma que el valor que exprese el
beneficio ms alto ser uno y el valor que exprese la prdida ms grave
pasar a ser nulo. De esta forma se intentar que la red neuronal
reproduzca de la forma ms precisa posible los valores obtenidos despus
de esta transformacin lineal, manteniendo el criterio empleado en el
modelo anterior, segn el cual a las operaciones ms rentables les
correspondern valores cercanos a la unidad. El problema se plantea como
la minimizacin de la siguiente funcin:

N 2
1
=
N
( y ( x[i ]) f [i ] )
i =1

Ecuacin 3.7. Error cuadrtico medio

Siendo el valor del error cuadrtico medio del conjunto de datos

empleado y f [i ] la transformacin lineal comentada anteriormente de la

funcin objetivo del caso i .


64 3.5 Diseo de un sistema de trading

En ambos casos, si se quieren estudiar operaciones de entrada en el


mercado de compra y de venta, se emplearn dos redes neuronales: cada
una de ellas analizar un tipo de operacin. Si se combinan se puede
construir un sistema de trading que gestionar operaciones largas y cortas.

3.5 Ampliacin del diseo: sistemas automticos de trading basados en


grupos de redes neuronales

Debido a las diferencias entre los indicadores de las tendencias alcistas,


las tendencias bajistas y los movimientos laterales se ofrece la posibilidad
de combinar distintas redes neuronales para construir un sistema de
trading ms complejo. De esta forma, en funcin de la tendencia vigente se
elegir una red neuronal u otra.

Para detectar la tendencia actual se ha decidido emplear las derivadas


de dos medias mviles largas, en concreto las de 50 y 150 das. Como se
puede observar en la Ilustracin 3.13, empleando las derivadas de estas dos
medias mviles se puede detectar claramente la tendencia principal. Como
se supone que las redes neuronales funcionarn mejor cuanto ms parecido
sea el periodo del que aprendieron a la situacin actual, lo que se ha
decidido es utilizar la red neuronal que cumpla que las derivadas de las
medias mviles de su periodo de aprendizaje sean las ms parecidas al
periodo actual de las redes neuronales disponibles.

Ilustracin 3.13. Medias mviles de 50 y 150 das en el IBEX35


3 Diseo de un sistema de trading 3-65

Captulo 4

Herramienta informtica para la


obtencin de sistemas de trading:
RNA Trading
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 67

4 Herramienta informtica para la obtencin de


sistemas de trading: RNA Trading

Una vez analizado todos los elementos que se han utilizado para la
realizacin de este proyecto, se va a describir la aplicacin informtica que
se ha desarrollado, llamada RNA Trading, capaz de gestionar las
cotizaciones de diferentes series, representar grficos y disear,
implementar y evaluar sistemas automticos de trading.

4.1 Gestin de la informacin

Las cotizaciones de las series empleadas en este proyecto se han


obtenido de dos fuentes:

Por una parte, el motor de bsqueda Yahoo8 ofrece las cotizaciones


de los principales ndices y acciones, pudindose descargar las
cotizaciones diarias de los mismos hasta la ltima sesin completa. En
este caso es muy fcil descargar las cotizaciones, pues las cotizaciones se
encuentran en un fichero de texto con un formato definido que se
descarga directamente de Yahoo.

Por otra parte, se ha acudido a una plataforma Web de inversin en la


que se puede operar con diversos productos financieros, como opciones
y futuros, pudindose observar en la misma pgina las cotizaciones de
los mismos. En este caso ser necesario filtrar la pgina en la que se
encuentran las cotizaciones recogiendo los datos que se necesiten, lo cual
implica que la recopilacin de datos ser ms complicada que en el caso
anterior. Sin embargo, como los datos se obtienen en tiempo real, se
pueden emplear para seguir la evolucin de los precios durante la sesin
y adems se puede analizar el mercado intradiario.

8 http://es.finance.yahoo.com
68 4.2 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Para gestionar la informacin relativa a las series y sus cotizaciones se ha


diseado una base de datos y se ha utilizado Microsoft Access por su
portabilidad y facilidad de manejo. En la Ilustracin 4.1 se observan las
tablas que contendrn toda la informacin y las relaciones que existen entre
ellas (las relaciones se modelan para asegurar la coherencia entre los datos).

Ilustracin 4.1. Tablas y relaciones de la base de datos

4.2 Visualizacin de grficos

Para poder entender adecuadamente el anlisis tcnico es conveniente


poder visualizar las cotizaciones de las series que se quieren analizar, as
como los indicadores y seales de entrada empleados. Para facilitar el
anlisis de grficos se ha optado por desarrollar un control ActiveX capaz
de representar distintos tipos de grficos y un formulario en el que se
podrn seleccionar los distintos elementos que se han comentado en
captulos anteriores.

En la Ilustracin 4.2 se muestra el formulario empleado para representar


un nuevo grfico. Como se observa, el usuario elige una serie disponible en
la base de datos, un rango temporal y los indicadores y seales de entrada
que desea visualizar. Como se va a mostrar a continuacin, aunque el
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 69

usuario no est obligado a definir el modo de representacin de cada


indicador no todos se mostrarn de la misma forma.

Ilustracin 4.2. Formulario de representacin de grficos

El usuario puede escoger entre dos tipos de grficos para representar las
cotizaciones:

Grfico de barras

Ilustracin 4.3. Grfico de barras


70 4.2 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Grfico de velas (candle-sticks):

Ilustracin 4.4. Grfico de velas

Para representar los indicadores se utilizan distintos tipos de


representacin, en funcin de la naturaleza o escala del indicador:

Superpuesto ( medias mviles)

Barras diarias en la parte inferior del grfico (volumen)

Como un grfico de lnea en la parte inferior del grfico (osciladores)

En la parte inferior de la Ilustracin 4.5 se representa el volumen en un


diagrama de barras.
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 71

Ilustracin 4.5. Volumen y media mvil superpuesta

En la parte inferior de la Ilustracin 4.6 se representan dos osciladores


(el estocstico de 14 das y la media mvil de 3 das del estocstico de 21
das). En esta ilustracin, y tambin en la anterior, tambin se representa la
media mvil de 20 das en la misma escala que las cotizaciones diarias.

Ilustracin 4.6. Osciladores y media mvil superpuesta


72 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Para representar las seales de entrada y la proteccin de stop-loss se


trazarn lneas en los niveles adecuadas, empleando la misma escala que se
utiliza para las cotizaciones, como se muestra en la Ilustracin 4.7.

Ilustracin 4.7. Representacin de seales de entrada

4.3 Creacin de un sistema automtico de trading

La caracterstica que provoca que RNA Trading sea una aplicacin


interesante es su capacidad para generar de una forma sencilla sistemas
automticos de trading. Para ello basta con seleccionar en un formulario los
componentes que se deben incluir en el sistema de trading y algunas
caractersticas que debe cumplir el mismo. Para seguir la explicacin se
recomienda guiarse con la Ilustracin 4.8 y tambin con la Ilustracin 4.9.

4.3.1 Opciones generales del sistema de trading

Lo primero que tendremos que seleccionar cuando vayamos a crear un


nuevo sistema automtico de trading ser la pestaa titulada Opciones
Nuevo Sistema de Trading. Como vemos en la Ilustracin 4.8, en esta
pestaa debemos elegir:

Serie financiera: el producto financiero sobre el que realizaremos las


operaciones.
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 73

Rango de fechas usadas para el entrenamiento, test y validacin: como


se explic en el captulo anterior, para poder encontrar una relacin
entre los valores de los indicadores tcnicos y la funcin objetivo se va a
generar un conjunto de ejemplos emparejados a partir de los
movimientos del mercado en un rango de fechas determinado. Por otra
parte, como se explica en el Anexo I, para el entrenamiento de las redes
neuronales empleamos una tcnica conocida como validacin
cruzada, la cual propone separar el conjunto de ejemplos que
mencionbamos anteriormente en tres conjuntos (conjunto de
entrenamiento, conjunto de test y conjunto de validacin). Para que el
usuario pueda escoger estos conjuntos utilizando el criterio que crea
conveniente para que los conjuntos sean parecidos y engloben el mayor
nmeros de situaciones posibles, se ha optado por dejar a su eleccin
cmo se repartirn estos conjuntos.

Ilustracin 4.8. Formulario general de creacin de sistemas automticos de Trading


74 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Tipo de Sistema de Trading: Por diversos motivos (tendencia, tipo de


producto financiero,) el usuario puede querer establecer un sistema
automtico de trading que slo pueda adoptar posiciones largas, o que
slo pueda adoptar posiciones cortas o que pueda adoptar cualquier
tipo de posicin. Adems, dependiendo del tipo de producto financiero
empleado las puede ser o no conveniente adoptar posiciones cortas: con
los futuros es inmediato, sin embargo, es ms complicado llevar a cabo
esta prctica con acciones. Cada sistema de trading est formado por
una o ms redes neuronales, realizando cada una de ellas una misin;
un ejemplo bsico sera un sistema de trading que utilizara dos redes
neuronales: una red neuronal se encargara de generar las seales de
entrada en posiciones largas y la otra se encargara de generar las
seales de entrada en posiciones cortas.

Opciones de entrenamiento de la red neuronal: en esta seccin se puede


escoger uno de los dos modelos empleados en el funcionamiento de las
redes neuronales (minimizar el error cuadrtico o maximizar el
beneficio medio por operacin) y configurar algunos aspectos del
proceso de entrenamiento de las redes neuronales que se van a utilizar
(estructura interna de las redes neuronales, algoritmo de optimizacin
empleado y nmero mximo de pocas empleadas en el entrenamiento
de las redes).

Adicionalmente se puede fijar el valor de la proteccin de stop-loss que


utilizar el sistema de trading y los niveles de certeza a partir de los
cuales consideraremos una seal como vlida (las seales producidas
por la red neuronal estarn comprendidas entre 0 y 1, siendo los
nmeros ms altos los que prometen una mayor probabilidad de xito;
el usuario podr elegir el nivel a partir del que estas seales se tomarn
en cuenta).

4.3.2 Seleccin de componentes

El siguiente paso que deberemos efectuar para crear un sistema


automtico de trading ser seleccionar los componentes que deseamos
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 75

tener en cuenta. Como hemos explicado, se emplearn redes neuronales


distintas para evaluar las posibles posiciones largas y cortas, pero la forma
de configurar los componentes utilizados por cada una es idntica, por lo
que se explicar nicamente una de ellas. Para seleccionar los componentes
empleados en la red neuronal que evala las posibles posiciones largas
utilizaremos la pestaa titulada Compra. Nos centraremos en sta para la
explicacin. Como vemos en la Ilustracin 4.9, en esta pestaa
encontraremos las siguientes secciones:

Funcin Objetivo Compra: en esta seccin se introducirn los


parmetros empleados en la construccin de la funcin objetivo.
Adems de la proteccin de stop-loss empleada se puede introducir
otro parmetro, al cual hemos denominado Beneficio Mnimo, que
desplazar verticalmente la funcin objetivo (este parmetro tendr
influencia en el modelo en el que se maximiza el beneficio medio por
operacin porque la red neuronal debe responder de forma distinta en
funcin del signo del valor de la funcin objetivo).

Indicadores: se pueden seleccionar tantos como se crea necesario de la


lista izquierda, pasando los indicadores seleccionados a la lista derecha.

Seales de Entrada: para seleccionar las seales de entrada se ha


utilizado el mismo criterio que con los indicadores.
76 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Ilustracin 4.9. Formulario de seleccin de componentes de un sistema automtico de trading

A continuacin se van a crear dos sistemas automticos de trading paso


a paso.

4.3.3 Ejemplo A

Se va a crear un sistema de trading muy simple cuya base ser la


utilizacin de una media mvil para generar las seales de entrada. Como
explicamos en el segundo captulo, un indicador en el que nos podemos
fijar para diferenciar las seales correctas producidas con esta tcnica
puede ser la inclinacin de la media mvil.

En primer lugar tendremos que elegir el producto financiero: en este


caso se ha optado por utilizar el futuro del IBEX35. Para seleccionar los
rangos temporales de los conjuntos de entrenamiento, test y validacin
observamos la Ilustracin 4.10, en la que se representa la evolucin del
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 77

futuro del IBEX35 desde Septiembre de 2002, y tratamos de buscar


conjuntos con caractersticas similares. En la ilustracin se ha marcado la
eleccin realizada: se trata de tres periodos con movimientos alcistas y
reacciones. El primer inconveniente de los datos seleccionados es que
nicamente podremos construir un sistema de trading vlido para periodos
alcistas.

Ilustracin 4.10. Eleccin de los conjuntos de entrenamiento, test y validacin

A partir de esta informacin completamos todas las secciones de la


primera pestaa del formulario de creacin de un sistema automtico de
trading:

Seleccionamos la serie financiera sobre la que realizaremos las


operaciones (Futuro del IBEX35) y los rangos de fechas que hemos
seleccionado:

Conjunto de entrenamiento: 23/09/2002 15/12/2003

Conjunto de test: 16/12/2003 11/11/2004

Conjunto de validacin: 11/11/2004 10/06/2005

Para simplificar la explicacin, y por tratarse de un periodo alcista, se


utilizarn nicamente posiciones largas.
78 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Utilizaremos una red neuronal con una capa oculta y 2 neuronas en una
capa oculta (el problema planteado resulta ser bastante sencillo), que
ser entrenada con el algoritmo Quasi-Newton.

Probaremos los dos modelos: minimizacin del error cuadrtico medio


y maximizacin del beneficio medio por operacin.

Colocaremos una proteccin de stop-loss de 40 puntos (en la versin


Mini de este producto, donde cada punto equivale a un euro, la compra
de un futuro implica una inversin de 600 ; la proteccin de stop-loss
representa, por lo tanto, un 6.67% de la inversin total) y ajustaremos
los lmites de certeza ms adelante, mantenindose en el formulario los
valores por defecto.

Ilustracin 4.11. Opciones generales del sistema automtico de trading


4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 79

En la Ilustracin 4.11 podemos ver cmo ha quedado la pestaa con las


opciones generales del sistema automtico de trading que se est
realizando.

A continuacin aadiramos, en la pestaa Compra, los siguientes


elementos:

Como seal de entrada seleccionamos el cruce de la media mvil de 20


das con el precio

Como nico indicador seleccionamos la derivada de la media mvil de


20 das.

Construimos la funcin objetivo a partir de una proteccin de stop-loss


de 40 puntos.

Procedemos al entrenamiento de la red neuronal pulsando el botn


Generar Sistema de Trading. Posteriormente aparece una ventana en la
que se muestra el funcionamiento del sistema de trading entrenado durante
el periodo de validacin, pudindose alterar el intervalo evaluado.
Probamos con los dos modelos.

Maximizacin del beneficio medio por operacin

La evolucin de los valores del beneficio medio por operacin del


conjunto de entrenamiento y del conjunto de test result como la mostrada
en la Ilustracin 4.12. En esta ilustracin se observa como la curva azul
(conjunto de entrenamiento) es siempre creciente y la curva roja (conjunto
de test) no tiene por qu serlo.
80 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Ilustracin 4.12. Progreso del entrenamiento

Para analizar correctamente este sistema automtico de trading se van a


comparar los resultados de los periodos de entrenamiento, test y
validacin.

Ilustracin 4.13. Periodo de entrenamiento

En la Ilustracin 4.13 se muestra el funcionamiento del sistema de


trading durante el periodo de entrenamiento. La interpretacin de estas
ilustraciones es simple: en la misma escala que las cotizaciones se trazan
lneas verdes para marcar los niveles de compra, lneas rojas para marcar
los niveles de venta y lneas negras para marcar las protecciones de stop-
loss aun vigentes. En la parte inferior de las ilustraciones se representa la
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 81

posicin adquirida en cada instante, siendo el azul el color que representa


las posiciones largas y el rojo el color que representa las posiciones cortas.
Podemos comprobar que en el periodo de entrenamiento los resultados son
muy positivos observando las estadsticas mostradas en la Ilustracin 4.14.

Ilustracin 4.14. Estadsticas del sistema de trading durante el periodo de entrenamiento

Los resultados ofrecidos por el sistema de trading durante el periodo de


test son peores que en el periodo de entrenamiento. Se puede comprobar
observando las estadsticas (todas empeoran) o la Ilustracin 4.15, en la que
se muestra su funcionamiento.

Ilustracin 4.15. Periodo de test

Ilustracin 4.16. Estadsticas del sistema de trading durante el periodo de test


82 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Para poder valorar definitivamente este sistema de trading recurrimos a


su funcionamiento durante el periodo de validacin. Observamos que las
estadsticas son pobres y que el sistema pierde parte de la inversin.

Ilustracin 4.17. Periodo de validacin

Ilustracin 4.18. Estadsticas del sistema de trading durante el periodo de validacin

Podemos concluir que ste es un sistema de trading que opera con poca
frecuencia y que no ofrece demasiadas garantas. Los resultados obtenidos
con los conjuntos empleados para ajustar los pesos, y en especial los
obtenidos durante el periodo de entrenamiento, son aceptables, pero el
sistema no funciona correctamente en el periodo de validacin. Se puede
deducir que los conjuntos son muy distintos, es decir, que el nico
indicador que hemos seleccionado (la media mvil de 20 das) no es
suficiente para decidir si las seales de entrada son vlidas.
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 83

Minimizacin del error cuadrtico medio

Los resultados obtenidos aplicando este otro modelo son, como es


lgico, muy parecidos a los anteriores. Siguiendo la evolucin del error
cuadrtico medio durante el proceso de ajuste de los pesos de la red
neuronal vemos que el error en el conjunto de entrenamiento (curva azul)
es siempre decreciente, mientras que en el conjunto de test (curva roja) no
lo es.

Ilustracin 4.19. Progreso del entrenamiento

Como en este caso los resultados obtenidos con los dos modelos son
muy parecidos, nicamente se adjunta una ilustracin con el
funcionamiento durante los tres periodos (entrenamiento, test y
validacin).
84 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Ilustracin 4.20. Periodos de entrenamiento, test y validacin

4.3.4 Ejemplo B

Con el siguiente ejemplo tratamos de mostrar un sistema automtico de


trading ms completo y rentable que el anterior. Para poder comparar con
facilidad este nuevo sistema de trading con el generado anteriormente se va
a obtener un sistema de trading que opere tambin con el futuro del
IBEX35. Supondremos que el usuario ha asimilado como generar un nuevo
sistema automtico de trading a partir del ejemplo anterior, por lo que se
omitirn algunas explicaciones ofrecidas anteriormente.

En primer lugar, vamos a elegir un intervalo temporal que incluya


alguna tendencia bajista, con el fin de generar un sistema de trading ms
realista. Como se observa en la Ilustracin 4.21, con los datos disponibles
sobre este derivado financiero hemos podido colocar los conjuntos de
forma que existe una tendencia bajista en el periodo de entrenamiento, pero
en el conjunto de test nicamente se encuentra un movimiento lateral.
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 85

Ilustracin 4.21. Eleccin de los conjuntos de entrenamiento, test y validacin

Para definir el sistema automtico de trading utilizaremos la siguiente


configuracin:

Serie financiera: Futuro del IBEX35

Los intervalos temporales que hemos seleccionado son:


Conjunto de entrenamiento: 14/06/2002 31/07/2003
Conjunto de test: 01/08/2003 24/10/2004
Conjunto de validacin: 25/10/2004 10/06/2005

Se obtendr un sistema de trading que adopte posiciones largas y


cortas.

Se utilizar una red neuronal con una capa oculta con 3 neuronas en la
misma, que maximizar el beneficio medio por operacin. Se emplear
el algoritmo Quasi-Newton para realizar el proceso de optimizacin.

Se generar la funcin objetivo a partir de una proteccin de stop-loss


de 60 puntos con un beneficio mnimo de 50 puntos.

Se emplearn los siguientes indicadores como variables explicativas


(para las dos redes neuronales):
Derivada de la media mvil de 5 das
86 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Derivada de la media mvil de 10 das


Derivada de la media mvil de 20 das
Derivada de la media mvil de 50 das
Derivada de la media mvil de 150 das
Diferencia entre el precio y la media mvil de 30 das
Diferencia entre el precio y la media mvil de 50 das
Estocstico de 14 das
Media mvil de 3 das del estocstico de 21 das
RSI de 21 das
ROC de 8 das

Para generar las seales de entrada se utilizar el cruce de la media


mvil de 30 das con el precio.

A continuacin se muestran los resultados obtenidos con este sistema de


trading. En la Ilustracin 4.22 se muestra el comportamiento del sistema de
trading en el periodo de entrenamiento. Como se puede apreciar en la
figura, el sistema de trading slo ha adoptado posiciones largas; esto ha
sucedido porque, al no existir una tendencia bajista en el periodo de test,
todas las mejoras que el sistema de trading realizaba para aumentar los
beneficios en la tendencia bajista del periodo de entrenamiento se tornaban
en su contra en el periodo de test, decidiendo, por lo tanto, no adoptar
posiciones cortas.

Ilustracin 4.22. Periodo de entrenamiento


4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 87

Observando las estadsticas obtenidas en el periodo de entrenamiento


(Ilustracin 4.23) puede deducirse que la mxima prdida es demasiado
elevada, empobrecindose unos resultados que generan beneficio. Esto ha
sucedido porque la proteccin de stop-loss que se ha utilizado puede ser
muy arriesgada en algunos casos.

Ilustracin 4.23. Estadsticas del sistema de trading durante el periodo de entrenamiento

Como se observa en la Ilustracin 4.24, el comportamiento del sistema


de trading en el periodo de test es muy parecido, o incluso mejor, que su
comportamiento durante el periodo de entrenamiento.

Ilustracin 4.24. Periodo de test

Puede observarse que los resultados obtenidos por el sistema de trading


durante el conjunto de test (Ilustracin 4.25) son bastante aceptables, si bien
sigue pudindose mejorar la mxima prdida.
88 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Ilustracin 4.25. Estadsticas del sistema de trading durante el periodo de test

En la Ilustracin 4.26 se muestran las posiciones adoptadas por el nuevo


sistema de trading en el periodo de validacin. Se puede apreciar que el
sistema de trading es ms robusto que el propuesto anteriormente, pues
notamos que en el periodo de validacin tambin realiza varias
operaciones.

Ilustracin 4.26. Periodo de validacin

Como puede observarse, el sistema automtico de trading generado


obtiene cuantiosos beneficios en un periodo no empleado en la
optimizacin, aunque la mayor parte del beneficio obtenido depende en
gran medida de unas pocas operaciones (en este caso se obtiene todo el
beneficio en una operacin). Si se hubieran invertido 600 en cada una de
las operaciones propuestas durante el periodo de validacin se habra
obtenido un total de 359,6 de beneficio, habiendo descontado ya las
comisiones por operacin (aplicando las comisiones actuales en la
plataforma escogida en este proyecto).
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 89

Ilustracin 4.27. Estadsticas del sistema de trading durante el periodo de validacin

Podemos concluir que este sistema, que ha obtenido beneficios en los


tres periodos evaluados, ha superado ampliamente al sistema propuesto en
el Ejemplo A.

4.3.5 Ejemplo C

En este ejemplo no se pretende crear un sistema automtico de trading


vlido, sino demostrar que es posible obtener sistemas automticos de
trading que ofrezcan unos resultados muy positivos en el periodo que se
emple para su diseo, a partir nicamente de los indicadores tcnicos. No
obstante, los resultados obtenidos por estos sistemas de trading en un
periodo distinto son muy inferiores a los esperados.

Para realizar esta demostracin elegiremos el mismo rango de fechas


para los conjuntos de entrenamiento y de test: de esta forma podremos
obtener el mejor sistema de trading que es capaz de obtener nuestro
modelo para este periodo. Por lo tanto, no seguiremos la tcnica de la
validacin cruzada en esta exposicin.

As pues, vamos a crear un nuevo sistema de trading a partir de la


siguiente configuracin:

Serie financiera: Futuro del IBEX35

Los rangos temporales seleccionados para generar los conjuntos de


entrenamiento, test y validacin sern idnticos:
14/06/2002 24/10/2004

Se obtendr un sistema de trading que adopte posiciones largas y


cortas.
90 4.3 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Se utilizar una red neuronal con una capa oculta con 10 neuronas en la
misma, que minimizar el error cuadrtico medio. Se emplear el
algoritmo Quasi-Newton para realizar el proceso de optimizacin.

Se generar la funcin objetivo a partir de una proteccin de stop-loss


de 60 puntos con un beneficio mnimo de 50 puntos.

Se emplearn los siguientes indicadores como variables explicativas


(para las dos redes neuronales):
Derivada de la media mvil de 5 das
Derivada de la media mvil de 10 das
Derivada de la media mvil de 20 das
Derivada de la media mvil de 50 das
Diferencia entre el precio y la media mvil de 30 das
Diferencia entre el precio y la media mvil de 50 das
Estocstico de 14 das
Media mvil de 3 das del estocstico de 21 das
RSI de 21 das

Para generar las seales de entrada se utilizar un trailing stop de 35


puntos.

Una vez seleccionados todos los componentes, procedemos al


entrenamiento de las redes neuronales. En la Ilustracin 4.28 se puede
apreciar la eficacia de este sistema de trading, que en algo ms de dos aos
ha obtenido unos beneficios llamativos: si se hubieran invertido 600 en
cada una de las operaciones se habra obtenido un total de 5938,2 de
beneficio, habiendo descontado ya las comisiones por operacin (aplicando
las comisiones actuales en la plataforma escogida en este proyecto).
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 91

Ilustracin 4.28. Operaciones en el periodo utilizado

Como se puede observar en la Ilustracin 4.29, las estadsticas que se


han obtenido en este periodo son notables.

Ilustracin 4.29. Estadsticas del sistema de trading durante el periodo utilizado

No obstante, si comprobamos los resultados obtenidos en un periodo no


utilizado en la optimizacin, es decir, en un periodo de validacin,
podemos deducir que el sistema de trading no es consistente. En la
Ilustracin 4.30 se muestran las posiciones adoptadas por el sistema de
trading en un nuevo periodo de validacin (25/10/2004 03/06/2005).
92 4.4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Ilustracin 4.30. Operaciones en el periodo de validacin

En este caso, el sistema de trading obtenido ha sido capaz de conseguir


slo 51,8 en 7 meses, obteniendo beneficio en la mitad de las operaciones
realizadas.

Cmo se puede explicar que estas diferencias sean tan significativas? La


razn fundamental es que el conjunto que se ha empleado para optimizar
los pesos de la red neuronal no contena todas las posibles combinaciones
entre indicadores y funcin objetivo. Se ha podido establecer una relacin
entre los indicadores y la funcin objetivo en la gran mayora de los casos
presentados (incluso se podra haber mejorado aumentando la capacidad
de la red neuronal), pero el funcionamiento del sistema de trading sobre el
conjunto de validacin indica que la relacin era incompleta, o que algunos
de los criterios tomados como completamente ciertos en el proceso de
optimizacin no lo eran, pero en el conjunto de entrenamiento no exista
ninguna muestra que indicara lo contrario.

4.4 Evaluacin de un sistema automtico de trading en tiempo real

Una vez que el usuario ha obtenido algn sistema de trading que le


inspire confianza puede comenzar a utilizarlo para operar en el mercado
real a travs de una plataforma Web. En este proyecto se ha desarrollado
una interfaz que sustituye al usuario, de manera que no es necesaria su
presencia para realizar determinadas operaciones.
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 93

Las principales funciones de operacin en tiempo real que desempea


RNA Trading son:

Conexin a la plataforma Web: como es lgico, para operar a travs de


la plataforma Web es necesario iniciar sesin en el servidor remoto.
Para esto es necesario completar el formulario Web alojado en la
plataforma Web y enviarlo. Este proceso debe poder realizarse de
forma automtica, puesto que podra cerrarse la sesin cuando el
usuario no estuviera atento y podran dejarse posiciones abiertas.

Descarga de cotizaciones en tiempo real: las cotizaciones de diferentes


derivados financieros se encuentran en la misma pgina Web, la cual se
muestra en la Ilustracin 4.31. El proceso de actualizacin de las
cotizaciones recarga continuamente esta pgina Web y analiza las filas
de la tabla donde se encuentra la informacin. La descarga de
cotizaciones en tiempo real tiene tres propsitos:

Si la posicin est cerrada, se debe comprobar si el precio traspasa un


determinado nivel, que debe ser fijado antes del comienzo de la
sesin, en cuyo caso se debe realizar una operacin.

Si la posicin est abierta, se debe asegurar que el precio no traspasa


la proteccin de stop-loss vigente. Si esto ocurriera se debera cerrar
la posicin inmediatamente.

Aunque en este proyecto no se ha estudiado la evolucin de las series


financieras en el mercado intradiario, puede ser muy interesante
obtener una base de datos con cotizaciones intradiarias para los
futuros desarrollos.
94 4.4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Ilustracin 4.31. Web que contiene las cotizaciones

Obtener la posicin actual: para conocer la posicin actual sobre alguno


de los productos financieros con los que se puede operar en esta
plataforma Web se debe acudir a otra pgina, especfica de cada
producto, a la que se accede desde los enlaces existentes en la pgina
Web de la que descargamos las cotizaciones. En esta pgina, adems de
la posicin actual, se puede encontrar si el mercado est abierto para la
negociacin. Adems, es la pgina que se utiliza para enviar las rdenes
al mercado. En la Ilustracin 4.32 se muestra la pgina Web que se
utilizara para operar con el futuro del ndice Dow Jones; como el
mercado se encontraba cerrado cuando se tom esta muestra no se
muestra el formulario de envo de rdenes.
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 95

Ilustracin 4.32. Web especfica de cada producto financiero

Envo de rdenes al mercado: en la Web especfica de cada producto


financiero, durante su periodo de negociacin, se pueden enviar
rdenes con el fin de realizar operaciones cumplimentando un
formulario. Este proceso tambin se ha automatizado, pues las
posiciones se abrirn y cerrarn automticamente cuando se estime
oportuno. En la Ilustracin 4.33 se muestra el formulario Web que tiene
que rellenarse para enviar una orden al mercado.
96 4.4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading

Ilustracin 4.33. Formulario utilizado para enviar rdenes al mercado

Funcionamiento general de un sistema automtico de trading en tiempo


real: los sistemas automticos de trading diseados para operar con
productos disponibles en la plataforma Web escogida se pueden
activar, de forma que abrirn y cerrarn posiciones de forma autnoma.
Cuando un sistema automtico de trading se encuentra activo actuar
de la siguiente forma:

Si no existen posiciones abiertas sobre el derivado financiero sobre el


que opera el sistema, antes de la apertura de la sesin se debe
comprobar si las seales de entrada que incluye el sistema son
vlidas e indican que debemos abrir una posicin. En caso de que se
vaya a realizar una operacin tambin se podr calcular la
proteccin de stop-loss a aplicar. Todos estos clculos se podrn
4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 97

realizar antes de la apertura de la sesin, salvo si alguna seal de


entrada es de alguno de los tipos de da de giro (en este caso ser
necesario esperar a conocer el precio de apertura).

Si hay posiciones abiertas, antes de que comience la sesin se


calcular la proteccin de stop-loss que deber aplicarse.

Cuando se reciban nuevas cotizaciones se comprobar si se ha


traspasado un nivel de entrada o de salida, en cuyo caso se actuara
convenientemente.

Grficos de las cotizaciones en tiempo real: se representar la evolucin


del producto financiero en el mercado intradiario. Aunque no se ha
analizado nada ms que el mercado diario, la representacin de grficos
en tiempo real es til para comprobar que las cotizaciones se estn
descargando correctamente. En la Ilustracin 4.34 se puede apreciar la
evolucin del futuro del IBEX35 durante el mercado intradiario.

Ilustracin 4.34. Seguimiento en tiempo real


4 Herramienta informtica para la obtencin de sistemas de trading: RNA Trading 4-99

Captulo 5

Conclusiones y futuros
desarrollos
5 Conclusiones y futuros desarrollos 101

5 Conclusiones y futuros desarrollos

5.1 Conclusiones

En este proyecto se ha alcanzado un objetivo ambicioso: combinar la


metodologa del anlisis tcnico para orientar las decisiones de inversin
con la potencia de aprendizaje que caracteriza a las redes neuronales
artificiales.

Aunque no es sencillo, es posible obtener beneficios operando con


productos financieros aplicando los conceptos estudiados por el anlisis
tcnico siempre que se utilice un procedimiento sistemtico. En este
proyecto se ha optado por dejar que sea una red neuronal artificial la que
identifique el procedimiento a seguir y garantice que ste se aplique de
forma sistemtica. Los resultados obtenidos, de acuerdo con los ejemplos
propuestos en el captulo anterior, sugieren que este enfoque tiene un gran
potencial, dado que se han obtenido sistemas automticos de trading que
consiguen beneficios en periodos de prueba no empleados en el proceso de
optimizacin.

El principal inconveniente que se ha presentado en la realizacin de este


proyecto, por el que los resultados de los sistemas de trading no han sido
mejores, ha sido que al optimizar un patrn de funcionamiento en un
periodo, los resultados que se obtenan en periodos distintos empeoraban.
Como ya se coment, esto ocurre porque, o bien los indicadores tcnicos no
funcionan de la misma manera en periodos distintos, o no estamos
teniendo en cuenta un espectro de ejemplos suficientemente amplio. En el
siguiente apartado se propone una solucin que ayudara a resolver este
problema si es cierto que el inconveniente es la falta de datos.

Las redes neuronales artificiales, y en concreto el Perceptrn Multicapa,


han demostrado una gran efectividad en la resolucin de problemas de
aproximacin funcional. En la realizacin de este proyecto no han
102 5.2 Conclusiones y futuros desarrollos

destacado los principales problemas que se les achacan: mnimos locales y


sobreentrenamiento.

5.2 Futuros desarrollos

Ampliar los desarrollos realizados en este proyecto a los mercados


intradiarios sera un paso importante. Para ello sera necesario estudiar
elementos no analizados en este proyecto, pero se aumentara en gran
medida el beneficio potencial y, adems, es posible que se resolviera la
mayor complicacin encontrada en la realizacin de este proyecto,
comentada anteriormente.

Otro posible avance podra ser un estudio ms detallado de las tcnicas


de gestin del capital, prcticamente no tratadas en este proyecto (mejora
de las tcnicas de control de las prdidas, cubrir el riesgo con otros
derivados financieros como las opciones, diversificar los fondos,)

Por otra parte, podra intentar darse otro enfoque al proyecto, utilizando
las redes neuronales para reconocer patrones en el precio e identificar
figuras conocidas, como hombro-cabeza-hombro. Una forma de realizar
esta aproximacin sera recopilar una coleccin de figuras encontradas en
distintas series financieras y plantear un problema de clasificacin, de
forma que una red neuronal sea capaz de distinguir entre ellas.

Por motivos de eficiencia, puede ser interesante desarrollar las


bibliotecas que permiten la utilizacin de redes neuronales artificiales en
C / C++ en lugar de Visual Basic. El desarrollo sera ms complicado y
lento, pero el entrenamiento de redes neuronales es un proceso que
requiere un gran nmero de iteraciones, por lo que el cambio podra
merecer la pena.
5 Conclusiones y futuros desarrollos 103

Anexo I

Aproximacin funcional
mediante redes neuronales
artificiales
6 Aproximacin funcional mediante redes neuronales artificiales 105

6 Aproximacin funcional mediante redes neuronales


artificiales

6.1 Introduccin

En este proyecto se ha propuesto un modelo con el que se quiere


establecer una relacin entre los indicadores tcnicos de una serie
financiera y el beneficio que podra obtenerse si se invirtiera en la misma en
el instante en el que se evalan estos indicadores. Esto puede verse como
un problema de aproximacin funcional en el que se trata de hallar una
expresin matemtica que sea capaz de reproducir la relacin que existe
entre los indicadores tcnicos y el beneficio potencial de la inversin.

En la primera parte de este captulo se definir de forma general el


problema de la aproximacin funcional y se explicarn los conceptos ms
importantes en la resolucin de este problema. En la segunda parte del
captulo introduciremos algunas de las caractersticas de las redes neuronales
artificiales, explicando ms detenidamente el funcionamiento del perceptrn
multicapa, una red neuronal artificial empleada en la resolucin de
problemas de aproximacin funcional.

6.2 Aproximacin funcional

Formalmente se puede plantear el problema de la aproximacin


funcional suponiendo que existe una funcin que transforma un conjunto

de vectores de entrada x n en un conjunto de vectores de salida

d m , y que la nica informacin que disponemos para deducir esta


funcin es un conjunto de muestras de la forma:

S = {(x[1], d [1]), ( x[2], d [2]),..., ( x[N ], d [N ])}

Ecuacin 6.1.

El propsito de la aproximacin funcional es obtener una expresin


matemtica que genere los vectores de salida correctos para cualquier
106 6.2 Aproximacin funcional mediante redes neuronales artificiales

vector de entrada. Se define aproximador funcional como un elemento que


es capaz de realizar un conjunto de transformaciones funcionales sobre los
vectores de entrada para obtener los vectores de salida adecuados. Un
aproximador se define por su estructura interna y por un conjunto de
parmetros, propios de su estructura, normalmente conocido como vector
de pesos.

La estructura del aproximador determina su capacidad de


representacin; el aproximador podr representar funciones ms o menos
complejas en funcin de su estructura. Una vez establecida la estructura del
aproximador funcional, su funcin de salida depender nicamente de un
conjunto de parmetros (vector de pesos), que se debern determinar, y del
vector de entradas evaluado. En la Ecuacin 6.2 se ofrece una definicin de
aproximador funcional, donde w representa el mencionado vector de pesos
y h es un ndice que representa la estructura del aproximador funcional:

{
F = y = f h ( x, w) / x n , y m , w Wh , h = 1,..., H }
Ecuacin 6.2. Definicin general de aproximador funcional

Siguiendo la definicin de aproximador funcional vamos a proponer el


siguiente ejemplo, en el que se muestran las ecuaciones por las que se rige
la funcin de salida de un aproximador funcional simple:

{
F = y = f ( x, w ) / x 3 , y 2 , w 24 }
y1 = w11 x1 + w12 x2 + w13 x3 + w14
y2 = w21 x1 + w22 x2 + w23 x3 + w24

Ecuacin 6.3. Aproximador funcional simple

Como se puede apreciar en la Ecuacin 6.3, a partir de la estructura del


aproximador funcional representada queda definido que el vector de salida
y depende linealmente del vector de entradas x, siendo el vector de pesos w
el conjunto de parmetros libre que determina la relacin entre x e y.

Por lo tanto, en el proceso de aproximacin funcional ser necesario


determinar tanto la estructura del aproximador como el vector de pesos
6 Aproximacin funcional mediante redes neuronales artificiales 107

que mejor ajusten la funcin a estimar. Para determinar cul es el mejor


aproximador funcional para un problema concreto ser necesario definir
una funcin que mida la calidad del ajuste proporcionado por el
aproximador; esta funcin ser denominada funcin de riesgo.

De forma general, la funcin de riesgo se puede definir como queda


determinado en la Ecuacin 6.4, donde p ( x, d ) es la probabilidad de que

presenten casos en los que el vector de entrada es x y el vector de salida es


y9, y la funcin L(d , f h ( x, w)) es una funcin con la que se establece la

relacin entre un los vectores de salida deseados y los que se obtienen con
el aproximador funcional, denominada funcin de discrepancia.

R (h, w) = L(d , f h ( x, w))dp ( x, d )

Ecuacin 6.4. Definicin general de funcin de riesgo

Aunque en este proyecto se han empleado dos funciones de


discrepancia, nos parece ms apropiado proseguir con la explicacin
utilizando como funcin de discrepancia el error cuadrtico entre el vector
de salida deseado y el obtenido por el aproximador. En la Ecuacin 6.5 se
define el error cuadrtico como funcin de discrepancia.

L(d , f h ( x, w)) = (d f h ( x, w)) 2

Ecuacin 6.5. Error cuadrtico como funcin de discrepancia

Si se emplea el error cuadrtico como funcin de discrepancia, se


intentar elegir el vector de pesos que minimice la funcin de riesgo, es
decir, se intentar que el aproximador produzca una funcin f h ( x, w ) de

forma que las diferencias entre los vectores de salida deseados y obtenidos
sea lo menor posible, ponderando de manera ms significativa los casos
ms frecuentes. Adems, es importante notar que, si f h ( x , w ) es derivable

9 p( x, d ) = p (d / x) p ( x) . La probabilidad conjunta de un par entrada x y salida y es la


probabilidad de que la entrada sea x y que adems de que se d la salida y siendo la entrada
sea x (probabilidad condicionada).
108 6.2 Aproximacin funcional mediante redes neuronales artificiales

con respecto al vector de pesos w, la funcin de discrepancia basada en el


error cuadrtico tambin lo ser.

Aunque generalmente no se conocen las funciones de probabilidad


conjunta de los vectores de entrada y salida, se puede emplear el principio
de minimizacin emprica del riesgo, que utiliza un conjunto de ejemplos o
muestras, denominado conjunto de entrenamiento, para estimar las funciones
de probabilidad conjunta, de forma que se construye una funcin de riesgo
alternativa, denominada funcin emprica de riesgo. En la Ecuacin 6.6 se
muestra la formulacin general de la funcin emprica de riesgo.

N
1
Remp (h, w) =
N
L(d [i], f h ( x[i], w))
i =1

Ecuacin 6.6. Funcin emprica de riesgo

Realizar la aproximacin anterior implica que se deba supervisar el


proceso de optimizacin de la funcin emprica de riesgo debido a que, de
forma general, no se dispondr de todas las combinaciones posibles entre
vectores de entrada y salida en el conjunto de entrenamiento. Adems, las
combinaciones que se encuentren en este conjunto no tienen por qu
aparecer segn sus funciones de probabilidad reales. Para supervisar el
proceso de optimizacin emplearemos una tcnica estadstica conocida
como el mtodo de validacin cruzada (cross-validation), que comprueba
el valor de la funcin emprica de riesgo en un conjunto adicional de datos,
no empleados en la optimizacin. De esta forma se evala la capacidad de
generalizacin del aproximador frente a datos no conocidos.

Siguiendo con el mtodo de validacin cruzada, para el proceso de


seleccin del aproximador funcional adecuado necesitaremos tres
conjuntos de muestras disjuntos, que deberan ser independientes e
idnticamente distribuidos:

El conjunto de entrenamiento, ya definido, ser el conjunto de


muestras que emplearemos para construir la funcin emprica de
riesgo que queremos optimizar.
6 Aproximacin funcional mediante redes neuronales artificiales 109

El conjunto de test ser el conjunto de muestras empleado por el


mtodo de validacin cruzada para medir la capacidad de
generalizacin del aproximador funcional ante casos no
propuestos en el conjunto de entrenamiento.

Llamaremos conjunto de validacin a otro conjunto de muestras


que se utiliza para presentar los resultados definitivos que
podemos esperar del aproximador evaluado.

El proceso de bsqueda de la mejor solucin debe ser un proceso


iterativo en el que se optimiza la funcin emprica de riesgo obtenida con el
conjunto de entrenamiento y en el que se evala, para cada cambio en los
pesos del aproximador, el valor de la funcin emprica de riesgo construida
con el conjunto de test. Cuando el proceso de optimizacin de la funcin
emprica de riesgo obtenida con el conjunto de entrenamiento concluya
seleccionaremos el vector de pesos que ha optimizado el valor de la funcin
emprica de riesgo construida con el conjunto de test, y no la construida con
el conjunto de entrenamiento, pues esta solucin es la que mejor ha
generalizado la funcin de salida para datos no empleados en la
optimizacin.

La necesidad del conjunto de validacin se justifica porque el conjunto


de test se ha utilizado en el proceso de optimizacin. Podra pasar que, por
algn motivo, la solucin obtenida anteriormente no fuera buena para los
conjuntos de validacin y entrenamiento. El conjunto de validacin debe
estar formado por datos que no han sido empleados en el proceso de
optimizacin.

6.3 Redes neuronales artificiales

El inters por las redes neuronales artificiales surgi por la eficacia del
cerebro humano resolviendo algunos problemas, como por ejemplo el
reconocimiento de patrones, que eran difcilmente resolubles con un
ordenador. Esto es debido a que la arquitectura de un ordenador y la
arquitectura del cerebro son completamente distintas. Puede decirse que el
110 6.3 Aproximacin funcional mediante redes neuronales artificiales

cerebro es un elemento de procesamiento de la informacin


extremadamente complejo, cuyo modo de funcionamiento es
eminentemente paralelo, y cuyo comportamiento no puede describirse por
medio de modelos sencillos como son los lineales.

El ser humano ha intentado imitar la solucin que ha encontrado la


Naturaleza para crear inteligencia diseando las redes neuronales
artificiales. Como lo que se est intentado es crear un nuevo tipo de
inteligencia, se dice que las redes neuronales artificiales constituyen una
parte importante en el estudio y desarrollo de la inteligencia artificial.

6.3.1 Definicin y caractersticas de una red neuronal artificial

De las mltiples definiciones de red neuronal artificial que se pueden


hallar en la literatura, hemos seleccionado la definicin que se puede
10
encontrar en los trabajos de Ben J.A. Krse y P. Patrik van der Smagt para
explicar este concepto:

Una red neuronal artificial (RNA) es un modelo computacional con un


conjunto de propiedades especficas, como son la habilidad de adaptarse o
aprender, generalizar u organizar la informacin, todo ello basado en un
procesamiento eminentemente paralelo.

Las RNA son modelos computacionales, es decir, son estructuras que se


adaptan a ser tratadas mediante computadores. Aunque una RNA puede
adoptar diversas estructuras, siempre estn compuestas de los mismos
elementos bsicos:

La neurona es el elemento de procesamiento de la informacin


de la RNA. Las redes neuronales estn compuestas por neuronas
conectadas entre s de una forma determinada.

10 Ben J.A. Krse and P. Patrik van der Smagt. An introduction to neural
networks. Univ. Amsterdam. 1996. Disponible en:
http://www.robotic.dlr.de/Smagt/books/
6 Aproximacin funcional mediante redes neuronales artificiales 111

Las dendritas representan a las uniones entre neuronas, y tienen


asociado un valor o peso que suele indicar la importancia de la
unin entre dos neuronas.

El conocimiento es adquirido por la red a travs de un proceso que se


denomina aprendizaje. El proceso de aprendizaje consiste en proporcionar
un conjunto de muestras a la red neuronal artificial, de manera que esta se
adapta buscando mejorar su comportamiento. En el aprendizaje no se le
indican a la red neuronal las reglas para llegar a una solucin, sino que sta
extrae sus propias reglas a partir de las muestras que presentadas. Por lo
tanto, podemos decir que una RNA modifica su comportamiento en
funcin de la experiencia.

Las RNA se basan en un procesamiento paralelo: aunque si usamos un


ordenador con un solo procesador no podr existir un proceso paralelo
real, la estructura y modo de operacin de las redes neuronales provoca
que stas sean especialmente adecuadas para el procesamiento paralelo
porque cada neurona tiene que realizar una operacin. Ms adelante se
podr entender con ms claridad este concepto.

El conocimiento se almacena mediante la modificacin de los pesos de


las distintas uniones entre neuronas (dendritas). Las reglas que una RNA
aprende durante un entrenamiento quedan almacenadas en estas
conexiones. Esta forma de conocimiento presentan la desventaja de que las
reglas que sigue una RNA no se pueden obtener de forma explcita.

6.3.2 Paradigmas de aprendizaje

Uno de los principales fundamentos sobre los que se basa el


funcionamiento de las RNA es responder a los estmulos del entorno
mediante un proceso de aprendizaje por el que va adaptando los pesos de
sus dendritas. El paradigma de aprendizaje indica la forma en que el
entorno influye en ese proceso de aprendizaje. De esta forma, el paradigma
de aprendizaje puede ser:
112 6.3 Aproximacin funcional mediante redes neuronales artificiales

Aprendizaje supervisado: en este tipo de aprendizaje, la red


neuronal es entrenada con una serie de muestras consistentes en
vectores de entrada junto con los vectores de salida
correspondientes. Las redes neuronales empleadas para
reconocimiento de patrones y para aproximacin funcional son
entrenadas segn este mtodo de aprendizaje.

Aprendizaje no supervisado: en este tipo de aprendizaje se


presenta a la red una serie de vectores de entrada, pero no se
presenta ningn vector de salida. Las redes neuronales que
emplean este paradigma de aprendizaje pueden tener distintas
utilidades, pero la ms destacada es la de detectar grupos de
vectores de entrada similares, por ejemplo, las redes neuronales
empleadas para tcnicas de agrupamiento de los espacios de
entrada emplean este mtodo de aprendizaje.

Aprendizaje hbrido: es una combinacin de los dos paradigmas


de aprendizaje anteriores. Se emplea en redes neuronales que, en
primer lugar, detectan y aprovechan caractersticas de los
vectores de entrada, obteniendo una transformacin de los
mismos y, posteriormente, se intenta establecer una relacin
entre dichos vectores transformados y los vectores de salida
pretendidos. Por lo tanto, una parte de los pesos de las dendritas
ser obtenido mediante aprendizaje supervisado y otra parte de
los pesos de las dendritas ser obtenido mediante aprendizaje no
supervisado. Las redes RBFN, que introduciremos ms adelante,
utilizan el aprendizaje hbrido.

Aprendizaje reforzado: no se proporciona una salida deseada,


slo se indica si la salida es correcta o no, pero no indica en
cuanto se diferencia de la salida buscada. Como no se
proporciona una informacin relativa a la direccin en la que se
deben realizar los cambios en los pesos de las dendritas en el
6 Aproximacin funcional mediante redes neuronales artificiales 113

sistema su mbito de aplicacin es mucho ms reducido que el


del modo supervisado.

6.3.3 Principales estructuras conexionistas

Las redes neuronales artificiales son utilizadas en procesos de prediccin


de series temporales, aproximacin funcional, reconocimiento de patrones,
sistemas de control adaptativo, tcnicas de segmentacin y agrupamiento
(clustering), etc.

Existen muchos tipos de redes neuronales; cada una de ellas presenta


unas caractersticas particulares que justifican su uso en los diferentes
campos de aplicacin.

Por una parte podemos encontrar redes que se pueden emplear para
resolver problemas de aproximacin funcional, reconocimiento de patrones
y prediccin de series temporales. Su objetivo es asociar pares de vectores
de entrada y de salida y, por ese motivo, normalmente utilizan como
paradigma de aprendizaje el aprendizaje supervisado o el aprendizaje
hbrido. Destacamos el Perceptrn Multicapa (MP) y las Redes Neuronales
de Base Radial (RBFN).

Ampliando la capacidad de las redes neuronales anteriores para el


reconocimiento de patrones, tambin se han diseado otras RNA que son
capaces de, adems de reconocer los patrones que aprendi durante su
entrenamiento, reconocer nuevos patrones reteniendo los ya aprendidos.
Por lo general, estas redes capaces de crear nuevas categoras tienen una
estructura ms compleja que las anteriores. Destacamos la Teora de la
Resonancia Adaptativa.

Por otra parte, se han diseado redes neuronales que pueden emplearse
para la optimizacin de ciertos problemas matemticos. Destacamos la Red
de Hopfield y la Mquina de Boltzmann.

Adems, existen redes que pueden utilizarse para la agrupacin de


datos, en los que se intenta que cada uno de los patrones de entrada con
caractersticas parecidas estn representados por una neurona. De esta
114 6.4 Aproximacin funcional mediante redes neuronales artificiales

forma es posible agrupar datos de entrada en grupos de propiedades


similares y reducir el tamao de los datos que se iban a procesar. Estas
estructuras emplean como paradigma de aprendizaje el aprendizaje no
supervisado. Destacamos los Mapas auto-organizativos de Kohonen.

A continuacin se presenta una de las estructuras conexionistas que se


considera ms relevantes en el mbito de la aproximacin funcional y del
reconocimiento de patrones, el Perceptrn Multicapa.

6.4 El Perceptrn Multicapa (Multilayer Perceptron)

El Perceptrn Multicapa es un aproximador funcional que realiza una

serie de transformaciones a un vector de entradas externas x m para

conseguir otro vector de salidas externas y m , de manera que el vector

de salidas y m ser funcin de la estructura interna del Perceptrn

Multicapa, de los pesos de las distintas uniones entre neuronas y del vector

de entradas externas x m .

6.4.1 Estructura del Perceptrn Multicapa

Atendiendo a su estructura, el Perceptrn Multicapa es un conjunto de


neuronas que se agrupan formando capas, de forma que las neuronas de
una misma capa no estn conectadas entre s, sino que estn conectadas con
todas las neuronas de las capa siguiente. De esta manera, todas las salidas
de las neuronas de una capa servirn como entrada de cualquiera de las
neuronas de la capa siguiente. En la Ilustracin 6.1 se muestra la estructura
tpica de un Perceptrn Multicapa.
6 Aproximacin funcional mediante redes neuronales artificiales 115

Ilustracin 6.1. Estructura del Perceptrn Multicapa11

En funcin de la posicin que ocupa cada capa se puede establecer la


siguiente clasificacin para las mismas:

Capa de entrada: tiene tantas neuronas como componentes tenga


el vector de entradas externas. La funcin de esta capa no es otra
que mostrar los valores de los componentes del vector de
entradas la capa siguiente.

Capas ocultas: son las capas que conectan la capa de entrada y la


capa de salida. El nmero de capas ocultas es variable y el
nmero de neuronas en cada una de las capas tambin lo es. Los
valores de salida de las neuronas de estas capas se calculan a
partir de los valores de salida de las neuronas de la capa de
entrada y de los pesos de las dendritas que conectan las neuronas
de las capas ocultas entre s y de los pesos de las dendritas que

11 http://www.vias.org/tmdatanaleng/cc_ann_bp_function.html
116 6.4 Aproximacin funcional mediante redes neuronales artificiales

conectan las neuronas de la primera capa oculta con la neurona


de entrada.

Capa de salida: esta capa es nica y tiene tantas neuronas como


componentes tenga el vector de salidas. Los valores de salida del
Perceptrn Multicapa sern los valores de salida de las neuronas
de esta capa, que son calculados a partir de los valores de las
neuronas de la ltima capa oculta y de los pesos de las dendritas
que conectan las neuronas de la capa de salida con las neuronas
de la ltima capa oculta.

Como se ha podido deducir, el elemento bsico de procesamiento del


Perceptrn Multicapa es la neurona. El funcionamiento de estas neuronas
es el siguiente:

1. El vector de entradas externas, que en este caso estar formado


por los valores de salida de las neuronas de la capa anterior, es
multiplicado escalarmente por el vector de pesos de esta
neurona, que corresponder a un vector formado por los pesos
de las dendritas que unen esta neurona con las neuronas de la
capa anterior.

2. Al resultado de la operacin anterior se le aade un valor de


polarizacin, que es otro peso de la neurona que se tiene que
determinar, resultando lo que se conoce como valor de
activacin. En la Ecuacin 6.7 se expresa la formulacin
matemtica del valor de activacin.

n
s = w0 + wi xi
i =1

Ecuacin 6.7. Valor de activacin

3. Aplicando una funcin de activacin ( s ) al valor de activacin

se obtiene la salida de la neurona. De esta forma se puede definir


el valor de salida de la neurona como:
6 Aproximacin funcional mediante redes neuronales artificiales 117

n
y = w0 + wi xi

i =1

Ecuacin 6.8. Valor de salida de la neurona

A partir de esta norma bsica ya se pueden calcular los valores de salida


del Perceptrn Multicapa para un vector de entradas externas x y para un
vector de pesos w determinado. El clculo debe realizarse capa a capa,
empezando por la primera capa oculta y llegando hasta la capa de salida,
pues los valores de activacin de las neuronas dependen de los valores de
salida de las capas anteriores.

Las funciones empleadas como funciones de activacin debern ser


derivables si se quiere emplear un mtodo basado en el descenso del
gradiente en el ajuste de los pesos de las dendritas de la red, siendo las ms
utilizadas las siguientes:

Funcin Hiperblica ( s ) = tanh ( s )

Funcin Hiperblica

1.5

0.5

0
-10 -8 -6 -4 -2 0 2 4 6 8 10
-0.5

-1

-1.5

Ilustracin 6.2. Funcin Hiperblica

1
Funcin Sigmoidal (s) =
1 + e s
118 6.4 Aproximacin funcional mediante redes neuronales artificiales

Funcin Sigmoidal

1.2

0.8

0.6

0.4

0.2

0
-10 -8 -6 -4 -2 0 2 4 6 8 10

Ilustracin 6.3. Funcin sigmoidal

Funcin Identidad: (s) = s

Habitualmente se emplean funciones sigmoidales o hiperblicas como


funciones de activacin de las neuronas de la capa oculta y la funcin
identidad en las neuronas de la capa de salida. La funcin sigmoidal slo

puede devolver valores comprendidos en el intervalo [ 0,1] , mientras que el

rango de valores que puede generar la funcin hiperblica se encuentran en

el intervalo [ 1,1] , por lo que la funcin identidad es ms apropiada para

las neuronas de la capa de salida al no tener limitado su rango de


respuesta. Sin embargo, en determinadas aplicaciones se quiere limitar el
rango de salida de las salidas del Perceptrn Multicapa; posteriormente se
desarrollar un ejemplo en el que se emplear una funcin sigmoidal en las
neuronas de la capa de salida.

La eleccin de estas funciones se debe a que combinando los tramos de


funciones sigmoidales o hiperblicas se pueden obtener todo tipo de
relaciones. Ms adelante se estudiar en detalle el funcionamiento interno
de un Perceptrn Multicapa y se comprobar cmo se utilizan estas
funciones.
6 Aproximacin funcional mediante redes neuronales artificiales 119

Aprovechando una de las caractersticas de las redes neuronales (que se


basan en procesamiento paralelo) y la estructura de un Perceptrn
Multicapa, se podra pensar en utilizar un procesador distinto para el
clculo de los valores de salida de las neuronas de cada capa. Imaginemos
un Perceptrn Multicapa con un elevado nmero de neuronas por cada
capa: si slo se dispone de un procesador, en fase de operacin tendra que
calcular el valor de salida de todas las neuronas de una capa y luego pasar
a la siguiente capa, hasta llegar a la capa de salida. Si el clculo de cada
capa fuera realizado por un procesador distinto, cuando un procesador
finalizara el clculo de la ltima neurona de la capa podra el procesador
que se ocupa de la capa siguiente podra comenzar con su trabajo, mientras
el primer procesador tambin podra estar calculando los valores de salida
para el siguiente caso.

6.4.2 Entrenamiento de un Perceptrn Multicapa

Como se ha comentado, el entrenamiento de un Perceptrn Multicapa es


el proceso de ajuste de los pesos de las dendritas empleando un conjunto
de vectores de entrada y de salida ligados para optimizar una determinada
funcin de riesgo. Por lo tanto, se puede plantear la metodologa general de
resolucin de un problema de aproximacin funcional, que se introdujo en
la primera parte de este anexo, al entrenamiento de un Perceptrn
Multicapa.

En primer lugar se van a definir las funciones de discrepancia que se


utilizarn en la funcin emprica de riesgo (recurdese la Ecuacin 6.6). En
un primer modelo se va a intentar minimizar el error cuadrtico entre el
vector de salidas obtenido por la red y el vector de salidas deseado para
todas las muestras. Esta funcin es muy empleada porque penaliza ms los
errores mayores por ser una funcin cuadrtica.

m 2
L(d [i ], f h ( x[i ], w )) = e[i ] = ( d a [i ] f a ,h ( x[i ], w ) )
a =1

Ecuacin 6.9. Error cuadrtico como funcin de discrepancia


120 6.4 Aproximacin funcional mediante redes neuronales artificiales

Siendo a un ndice que representa las distintas componentes de los


vectores de salidas deseados y obtenidos por la red y m el nmero de
componentes de dichos vectores. Siendo, por tanto, la funcin emprica de
riesgo para este caso:

N N m 2
1 1
Remp (h, w ) =
N
e[i] = N
( da [i] f a,h ( x[i], w ) )
i =1 i =1 a =1

Ecuacin 6.10. Error cuadrtico medio

Aunque el error cuadrtico medio es la funcin emprica de riesgo por


excelencia, en este proyecto tambin se ha diseado otro modelo que
emplea una funcin diferente. La idea es disear una funcin de
discrepancia de manera que los valores del vector de salidas obtenido por
la red midan un nivel de certeza (comprendido entre 0 y 1) que debe ser
mayor si los valores del vector de salidas deseado son altos, y cero (o muy
pequeo) si los valores del vector de salidas deseado son negativos. Esta
funcin de discrepancia modela el beneficio de una operacin, siendo los
valores del vector de salidas deseado una funcin del beneficio futuro que
se obtendra si se realizara dicha operacin. De esta manera, la red
neuronal debe aprender a responder con niveles altos de certeza en las
operaciones que reporten ms beneficio y con valores nulos si se trata de
operaciones que provoquen una prdida de capital, a partir de unos ciertos
parmetros de entrada, que en nuestro caso sern indicadores tcnicos. A
esta funcin de discrepancia la denominaremos funcin de beneficio de una
operacin.

m
L(d [i ], f h ( x[i ], w )) = [i ] = ( f a ,h ( x[i ], w )d a [i ])
a =1

Ecuacin 6.11. Beneficio de una operacin como funcin de discrepancia

Sustituyendo en la Ecuacin 6.6 obtenemos la ecuacin de la funcin


emprica de riesgo, que en este caso deberemos maximizar, a la cual hemos
denominado funcin de beneficio medio por operacin.
6 Aproximacin funcional mediante redes neuronales artificiales 121

N N m
1 1
Remp (h, w ) =
N
[i] = N f a,h ( x[i], w )da [i]
i =1 i =1 a =1

Ecuacin 6.12. Beneficio medio por operacin

Debemos notar que, para mantener los valores de salida de la red


neuronal comprendidos entre 0 y 1 hemos empleado como funcin de
activacin de las neuronas de la capa de salida del Perceptrn Multicapa la
funcin sigmoidal.

Ambas funciones empricas de riesgo son derivables con respecto al


vector de parmetros w si f h ( x, w ) lo es, lo que permite que se puedan

emplear mtodos basados en el clculo del gradiente para la optimizacin


de este problema, ya que se pueden calcular las derivadas de las salidas de
la red neuronal con respecto a sus pesos, como se demuestra a
continuacin.

6.4.3 Clculo de derivadas y algoritmo de Retropropagacin (Backpropagation)

Para el desarrollo de las derivadas de la funcin de riesgo con respecto a


los pesos de la funcin objetivo se va utilizar la siguiente notacin:

Denominaremos c al nmero de capas de neuronas del Perceptrn


Multicapa, siendo la capa nmero c la capa de salida, y emplearemos el
ndice i (i=1,,c) para indicar las capas de la red neuronal.

Para referirnos a las neuronas de una misma capa utilizaremos el ndice


j (j=1,,ni), siendo ni el nmero de neuronas que se encuentran en la capa i.

Denotaremos k al nmero de dendritas de la neurona, reservndose el


elemento k=0 para el valor de polarizacin de la neurona. De esta forma, las
neuronas de las capas ocultas y de la capa de salida, al estar conectadas con
todas las neuronas de la capa anterior, tendrn 1+ni-1 dendritas (k=0,,ni-1)

Derivando la funcin emprica de riesgo basada en el error cuadrtico


con respecto a un peso cualquiera de la red tenemos que:
122 6.4 Aproximacin funcional mediante redes neuronales artificiales

R(h, w ) 1 N
e[n] 1 N nc yca [n]
wijk
=
N

n =1 wijk
=
N
2(d a yca [n])
wijk

n =1 a =1

Ecuacin 6.13. Derivada del error cuadrtico medio

Siguiendo la misma metodologa con la funcin emprica de riesgo


basada en el beneficio por operacin se tiene que:

R(h, w ) 1 N
[n] 1 N nc
yca [n]
wijk
=
N

n =1 wijk
=
N
d
n =1 a =1
a
wijk

Ecuacin 6.14. Derivada del beneficio medio por operacin

Siendo N el nmero de casos o muestras estudiadas en las dos


ecuaciones anteriores.

Como podemos observar, en ambas ecuaciones influye la derivada de la


salida de las neuronas de la capa de salida de la red con respecto a
cualquiera de los pesos. Aplicando de nuevo la regla de la cadena,
obtenemos las siguientes expresiones para el ltimo trmino de la Ecuacin
6.13 y de la Ecuacin 6.14:

Si el peso que estudiamos corresponde a una dendrita k de una neurona


a perteneciente a la capa de salida c se cumple que:

yca [n] yca [n] sca [n]


= = 'ca ( yc 1k [n])
wcak sca [n] wcak

Ecuacin 6.15

Con la excepcin de que la dendrita k no pertenezca a la neurona a de la


capa salida c, en cuyo caso la derivada sera nula por no existir conexin
entre el peso y la neurona que se estn estudiando.

Si la dendrita con respecto a la cual queremos derivar pertenece a la


ltima capa oculta, se tiene que la derivada de la salida de una neurona que
se encuentra en la capa de salida con respecto este peso es:
6 Aproximacin funcional mediante redes neuronales artificiales 123

yca [n] yca [n] sca [n] yc 1,b [n] sc 1,b [n]
=
wc 1bk sca [n] yc 1,b [n] sc 1,b [n] wc 1bk

Ecuacin 6.16

Siendo b otro ndice que representa a una neurona de la capa c1. La


Ecuacin 6.16 tambin se puede representar como:

yca [n]
= 'ca ( sca [n])wcab 'c 1b ( sc 1b [n]) yc 2, k [n]
wc 1bk

Ecuacin 6.17

Por lo tanto, al derivar una salida de la red con respecto a un peso


perteneciente a la ltima capa oculta aparecen cuatro trminos. El primer
trmino es la derivada de la funcin de activacin, evaluada para el valor
de activacin, en la neurona de la capa de salida de la neurona. El segundo
trmino es el valor del peso de la dendrita que conecta la neurona de la
capa de salida con la neurona de la ltima capa oculta. El tercer trmino es
el equivalente al primer trmino, pero esta vez en la neurona de la ltima
capa oculta. El ltimo trmino representa el valor de salida de la neurona
con la que est conectada la dendrita que estamos analizando.

De la semejanza entre la Ecuacin 6.15 y la Ecuacin 6.17 se deduce la


idea del algoritmo de Retropropagacin (Backpropagation). Observamos que
las derivadas de la funcin objetivo con respecto a un peso siempre
dependen de los siguientes factores:

La derivada de la funcin de activacin de la neurona en la que


se encuentra la dendrita.

El valor de salida de neurona con la que conecta la dendrita.

La derivada de la funcin objetivo con respecto a una salida de la


red.

Los pesos y derivadas de funciones de activacin de las neuronas


de capas posteriores.
124 6.4 Aproximacin funcional mediante redes neuronales artificiales

El algoritmo Backpropagation consiste en agrupar estos ltimos trminos


del clculo de la derivada en lo que denominamos seal retropropagada
del error (aunque se puede aplicar a otras funciones objetivo) a la cual
denominaremos ij .

Este algoritmo propone calcular en primer lugar la seal retropropagada


del error para las capas ocultas, empezando por la ltima capa oculta y
llegando hasta la primera, y despus emplear la seal retropropagada del
error para calcular directamente las derivadas, pues, como se puede
deducir de lo anterior, la expresin de la derivada de la salida de una
neurona de la capa de salida con respecto a cualquier peso es, para el error
cuadrtico medio:

En la capa de salida:

2(d j y j ) 'cj ( scj )


cj =
N
Ecuacin 6.18

En las capas ocultas:

n( i +1)
1
ij =
N

h =1
'ij ( sij ) w( i +1) hj
( i +1) h

Ecuacin 6.19

En el caso del beneficio medio por operacin la seal retropropagada del


error sera:

En la capa de salida:

1
cj = d j 'cj ( scj )
N
Ecuacin 6.20

En las capas ocultas:


6 Aproximacin funcional mediante redes neuronales artificiales 125

n( i +1)
1
ij =
N

h =1
'ij ( sij ) w( i +1) hj
( i +1) h

Ecuacin 6.21

Donde h representa las neuronas de la capa siguiente. Para la


implementacin de este algoritmo cada neurona debe almacenar la seal
retropropagada del error para que se pueda aplicar el algoritmo.

Algoritmo de optimizacin empleado

En este proyecto se ha decido optimizar la funcin de riesgo elegida


mediante un algoritmo Quasi Newton de baja memoria. ste es un
algoritmo que se basa en el descenso del gradiente, a mitad de camino entre
el mtodo de Newton y el mtodo de mximo descenso. Explicaremos, a
grandes rasgos, el funcionamiento de este algoritmo:

El algoritmo de optimizacin consta de dos partes, por lo que se puede


descomponer en dos funciones: la primera funcin se encarga de controlar
la direccin de cambio del vector de pesos y de comprobar si se cumplen
unas determinadas condiciones de convergencia, la segunda funcin es una
funcin de optimizacin unidimensional, que limita el avance del
algoritmo en la direccin definida por la funcin anterior cuando se alcanza
un extremo relativo en la funcin de riesgo.

6.4.4 Evolucin del entrenamiento

Como se coment en la primera parte del captulo, es necesario seguir la


evolucin de la funcin emprica de riesgo construida a partir de un
conjunto de muestras disjunto al conjunto empleado en el entrenamiento,
llamado conjunto de test, durante el proceso de optimizacin del vector de
pesos. As pues, en cada cambio en la direccin de optimizacin del
algoritmo (evento conocido como poca) se evaluar el conjunto de test y
cuando se complete el proceso de optimizacin se buscar la poca que
present un mejor valor para la funcin emprica de riesgo construida a
partir de los datos de test. Se considerar que este vector de pesos es el que
126 6.4 Aproximacin funcional mediante redes neuronales artificiales

mejor generaliza la respuesta de la red, por lo que se adoptar como


solucin ptima.

6.4.5 Aspectos a tener en cuenta en el entrenamiento de un Perceptrn


Multicapa

La estructura interna del Perceptrn Multicapa

El factor que ms influye en el proceso de entrenamiento del Perceptrn


Multicapa es la estructura elegida, es decir, el nmero de capas ocultas que
formen la red neuronal y las neuronas que tengan estas capas. Cuanto
mayor sea el nmero de neuronas que tenga una red neuronal, mayor ser
su capacidad de procesamiento, pudiendo detectar relaciones ms
complejas.

Si se utiliza como funcin de activacin de las capas ocultas la funcin


hiperblica y se examina la estructura de la red neuronal, se puede deducir
que cada neurona deber ocuparse de una proporcin del espacio de
entrada, deformando de alguna manera su funcin de activacin. Al
considerarse que todas las funciones son hiperblicas y ser esta funcin
estrictamente creciente, puede deducirse que se necesitar una neurona por
cada zona de monotona de la funcin a estimar. En las siguientes figuras se
muestra la aproximacin de la funcin g ( x) = sen(2 x) sen( x) realizada con

varias estructuras distintas, pudindose apreciar cmo influye la estructura


de la red neuronal en su funcin de salida.
6 Aproximacin funcional mediante redes neuronales artificiales 127

0,8

0,6

0,4

0,2

0
0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5
-0,2

-0,4

-0,6

-0,8

-1

Ilustracin 6.4. Aproximacin con dos neuronas en una capa oculta

0,8

0,6

0,4

0,2

0
0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5
-0,2

-0,4

-0,6

-0,8

-1

Ilustracin 6.5. Estimacin con cuatro neuronas en la capa oculta


128 6.4 Aproximacin funcional mediante redes neuronales artificiales

0,8

0,6

0,4

0,2

0
0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5
-0,2

-0,4

-0,6

-0,8

-1

Ilustracin 6.6. Estimacin con seis neuronas en la capa oculta

En estas ilustraciones los puntos de color fucsia representan la funcin a


estimar y los puntos de color azul la salida propuesta por la red neuronal.

Sobreentrenamiento

Como se ha comentado, conforme aumenta la complejidad de la


estructura de la red neuronal se pueden obtener estimaciones de funciones
ms complicadas. En ocasiones, si la red neuronal es demasiado compleja,
durante el proceso de entrenamiento puede ser capaz de memorizar
todos los puntos de entrenamiento perdiendo, por tanto, capacidad de
generalizacin. Esto se puede apreciar claramente en la aproximacin de
una funcin en la que exista un ruido blanco, adems de la funcin original,
porque la red neuronal, si es demasiado compleja, podra ser capaz de
reproducir el ruido de los puntos de entrenamiento. La tcnica de la
validacin cruzada nos permite detectar si la red es demasiado compleja
para el problema que se quiere resolver, pues podremos comprobar que
cuando la red neuronal comience a memorizar el ruido de los puntos del
conjunto de entrenamiento el valor de la funcin emprica de riesgo
construida con el conjunto de test empeorar.
6 Aproximacin funcional mediante redes neuronales artificiales 129

Para explicar el concepto de sobreentrenamiento se va a estimar la

funcin g ( x) = 6 x 3 + 0.5u : u = N ( 0,1) . En la siguiente figura se muestran

los puntos que se han seleccionado para desarrollar este ejemplo, siendo los
puntos azules los pertenecientes al conjunto de entrenamiento y los puntos
rojos los pertenecientes al conjunto de test.

5
4
3
2
1
0
-1 0 0.2 0.4 0.6 0.8 1
-2
-3
-4
-5

Ilustracin 6.7. Conjuntos de test y entrenamiento

Para este caso, la mejor aproximacin sera la recta g ( x) = 6 x 3 . Para

reproducir esta recta de la mejor forma posible bastara emplear una nica
neurona en la capa oculta. Procediendo de esta forma se consigue la
aproximacin representada en la Ilustracin 6.8.
130 6.4 Aproximacin funcional mediante redes neuronales artificiales

5
4
3
2
1
0
-1 0 0.2 0.4 0.6 0.8 1
-2
-3
-4
-5

Ilustracin 6.8. Aproximacin mediante una red neuronal con una neurona en la capa oculta

Si se decidiera entrenar una red neuronal con un nmero exagerado de


neuronas, sta tendra capacidad para intentar pasar por la mayora de los
puntos del conjunto de entrenamiento. En la Ilustracin 6.9 se muestra la
salida de la red neuronal para varias iteraciones, pudindose observar
cmo se ha desarrollado el entrenamiento.

La lnea marrn representa la salida ofrecida por la red con el vector de


pesos obtenido en la primera poca del entrenamiento. La lnea negra
representa la salida que mejor ha generalizado (poca ptima). La lnea
verde es la salida de la red que mejor ha ajustado los pesos teniendo en
cuenta slo el conjunto de entrenamiento.

En la Ilustracin 6.10 se observa que a partir de la iteracin 44 el error


cuadrtico medio del conjunto de test empieza a crecer, mientras que sigue
mejorando el error cuadrtico medio del conjunto de entrenamiento. La
forma ms sencilla de detectar que se est sobreentrenando una red
neuronal es observar la evolucin de las funciones empricas de riesgo
construidas a partir de ambos conjuntos.
6 Aproximacin funcional mediante redes neuronales artificiales 131

0
0 0.2 0.4 0.6 0.8 1
-2

-4

-6

-8

Ilustracin 6.9. Evolucin de las estimaciones durante el entrenamiento

Ilustracin 6.10. Evolucin de las funciones empricas de riesgo de entrenamiento y test

Normalizacin de las entradas

Para que facilitar el problema de optimizacin planteado es conveniente


normalizar las entradas, de manera que el orden de magnitud de cada serie
no influya en la magnitud de las derivadas. En este proyecto se han
empleado las siguientes normalizaciones:
132 6.4 Aproximacin funcional mediante redes neuronales artificiales

Normalizacin por rango: se realiza una transformacin lineal de


manera que el mximo valor de la serie original pasar a ser 1 en la
serie normalizada y el mnimo pasar a ser -1.

Normalizacin estadstica: se tipifican los valores de acuerdo con la


siguiente ecuacin:

x
x =

Ecuacin 6.22. Normalizacin estadstica

Normalizacin no centrada: en el caso de emplear como funcin de


discrepancia el beneficio por operacin, como quiera que la serie que
modela dicho beneficio est siendo multiplicada por la salida de la red12
en la funcin de discrepancia para lograr salidas positivas si el beneficio
es positivo y nula si el beneficio es negativo, nicamente se podr
escalar este beneficio. Si desplazamos los valores de la serie que modela
el beneficio en algn sentido podemos estar contando como beneficios
algunas prdidas (o viceversa). Por lo tanto, en este caso se optar por
realizar una transformacin lineal para que el mximo valor de la serie
que modela el beneficio sea 1 y no se modifique el 0.

Para los dems casos se utilizar la normalizacin estadstica porque se


ha comprobado que es la que ofrece mejores resultados.

Influencia de la funcin de activacin de la capa de salida en el clculo de las


derivadas y en el entrenamiento

Si se ha elegido como funcin de activacin de la capa de salida la


funcin hiperblica o la funcin sigmoidal es muy recomendable mantener
las salidas de la red dentro de la zona no saturada13 de dicha funcin.
Debido a la influencia de la derivada de la funcin de activacin de la capa

12 Recordamos que la salida est comprendida entre 0 y 1.


13 Consideramos que estas funciones se encontrarn en su zona saturada si estn lejos de
su parte lineal
6 Aproximacin funcional mediante redes neuronales artificiales 133

de salida en el clculo de las derivadas de la funcin emprica de riesgo con


respecto a los pesos de la red, todas las derivadas de las salidas saturadas
sern muy pequeas, por lo que los pesos tendern a no cambiar. Por lo
tanto, si no se impide que las salidas se encuentren saturadas, el
entrenamiento se estancar cuando las salidas de se empiecen a saturar y
no mejorar ms.

El razonamiento anterior tambin aconseja que se inicialicen los pesos


con valores pequeos, porque en otro caso podramos obtener redes
saturadas desde el comienzo del entrenamiento.

Como se puede observar, la solucin que maximiza la funcin de riesgo


en la que podramos encontrarnos con este problema, el beneficio medio
por operacin, pasa por conseguir que la salida sea uno cuando la
operacin sea beneficiosa y 0 si no lo es. Por lo tanto, la maximizacin de
esta funcin conllevar a que los pesos crezcan rpidamente para que los
valores de activacin de las neuronas sean altos y las salidas tiendan a los
valores extremos.

Para conseguir que la mayora de las salidas de la red no estn saturadas


se ha optado por incluir otro trmino ms en la funcin objetivo que impide
que la media de los cuadrados de las salidas de la red sea demasiado alta,
como se propone en la siguiente ecuacin:

N N m N m 2
1 1 k
Remp (h, w ) =
N
[i] = N ( f a,h ( x[i], w )da [i]) N ( fa,h ( x[i], w ) 0.5)
i =1 i =1 a =1 i =1 a =1

Ecuacin 6.23. Funcin emrica de riesgo restringida

Como puede deducirse, k es un parmetro con el que se ponderar la


importancia de este efecto con respecto al beneficio medio por operacin.

You might also like