Está en la página 1de 149

Autorizada la entrega del proyecto del alumno: CARLOS DE LUCAS HERRANZ

Los directores del Proyecto: JOS VILLAR COLLADO Fdo.: .. Fecha: /09/2009

LVARO SNCHEZ MIRALLES Fdo.: .. Fecha: /09/2009

V B del Coordinador de Proyectos: EDUARDO ALCALDE LANCHARRO Fdo.: .. Fecha: /09/2009

PROYECTO FIN DE CARRERA

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO

AUTOR: CARLOS DE LUCAS HERRANZ MADRID, SEPTIEMBRE 2009

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Dedicatoria.

A mis abuelos, por el regalo ms grande que he recibido: mis padres.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Agradecimientos.

Agradecimientos
Me gustara aprovechar estas lneas para agradecer a mi familia, especialmente a mis padres, todo el cario, comprensin, apoyo y esfuerzo realizado a lo largo de los aos para que este momento haya llegado. Tambin a ti Juan, gracias, por todo lo que me enseas da a da. Confo en que todo te va a ir mejor que bien. A ti, por ser tan especial en mi vida, gracias. Muy importantes en esta etapa tambin han sido mis amigos, sin vosotros nada sera lo mismo. Gracias Hugo, te estar siempre agradecido. No sera justo si no reconociera a Eugenio Snchez el empujn inicial y a Miguel ngel Sanz y Juan Marn todas las dudas resueltas. Agradecer a mis directores, Jos Villar y lvaro Snchez, haberme dado la oportunidad de realizar este proyecto y haber podido trabajar a su lado. Reconocer tambin a Eduardo Alcalde toda la ayuda recibida. Por ltimo, agradecer a Jos Antonio Madrigal y a las Tortugas Hispnicas todo lo aprendido. Espero no dejar de aprender nunca. A todos una vez ms, GRACIAS.

II

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Resumen del Proyecto.

Resumen del Proyecto

El presente proyecto consiste en el desarrollo de una aplicacin de inversi n en bolsa con la que sea posible realizar predicciones sobre las cotizaciones de algunas empresas del parqu espaol. Del mismo modo el sistema ejecutar automticamente rdenes de compra y venta en funcin de dichas predicciones. El objetivo ltimo del proyecto es conseguir un sistema rentable y fiable para el usuario. Se presenta una aplicacin con un interfaz intuitivo para el usuario a travs del cual ser posible entrenar diferentes modelos en busca del ms ptimo a la hora de realizar las predicciones. El usuario ser capaz de estudiar las situaciones y los modelos gracias a la informacin que el sistema facilitar mediante grficas e informes. Para conseguir una aplicacin completa, a la funcionalidad de la misma, se ha aadido un simulador de resultados off-line para que el usuario pueda comprobar los resultados que el sistema alcanzara. El desarrollo del sistema se ha realizado principalmente en Matlab y se han puesto en prctica los conocimientos adquiridos sobre programacin e inteligencia artificial. Ha sido posible el desarrollo de la aplicacin con Matlab gracias a su toolbox sobre redes neuronales y la posibilidad que dispone de crear interfaces grficos de manera gil. La forma de predecir las series financieras en el proyecto se realiza a travs de modelos no lineales, ms concretamente redes neuronales. La aplicacin de modelos no lineales para la prediccin de series financieras est adquiriendo gran importancia en los ltimos aos y se considera un campo de estudio que puede aportar resultados muy interesantes.

III

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Resumen del Proyecto.

El proyecto es la continuacin de los trabajos realizados sobre la materia en aos anteriores, ya que los interesantes resultados obtenidos hasta la fecha empujan a seguir investigando en la materia. El presente documento explicar la adaptacin del trabajo realizado hasta el momento y las nuevas mejoras introducidas. Del mismo, se ha desarrollado la lgica que la aplicacin seguir en el tiempo real. Dicho problema quedar solucionado en futuros trabajos con el desarrollo en Visual Basic de las funciones que conecten la aplicacin desarrollada con Visual Chart (el proveedor de informacin burstil).

IV

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Abstract.

Abstract
This project develops a stock investment application with which it is possible to forecast the prices of some companies in the Spanish Stock Exchange. Similarly, the system will automatically buy and sell orders based on these predictions. The project's ultimate objective is to achieve a cost-effective and reliable tool for the user. The application has an intuitive user interface through which it will be possible to try different models in order to find the most efficient one to make predictions. The user will be able to study situations and models due to information that the system provides through graphs and reports. An off-line simulator has been added so as to have a complete application. The way to predict the financial series in the project is implemented through non-linear models, specifically neural networks. The project continues with the work done in this area in previous years, since the positive results achieved up to date encourage further investigation of the matter. The real time problem will be solved in future versions with Visual Basic development functions combining the application developed with Visual Chart.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ndice.

ndice

1.

Introduccin ..................................................................................................................................... 2 1.1. Motivacin .......................................................................................................................................................... 3 1.2. Objetivos ............................................................................................................................................................. 3 1.3. Metodologa ........................................................................................................................................................ 4 1.4. Recursos Empleados ......................................................................................................................................... 6 1.4.1. Hardware...................................................................................................................................................... 6 1.4.2. Software ....................................................................................................................................................... 6

2. 3.

Estado del Arte ................................................................................................................................. 9 Estudio de Antecedentes............................................................................................................... 13 3.1. Inversin en Bolsa ...........................................................................................................................................13 3.2. Prediccin de Series Financieras..................................................................................................................14 3.3. Modelo ...............................................................................................................................................................15 3.3.1. Entradas del Modelo ................................................................................................................................15 3.3.2. Redes Neuronales .....................................................................................................................................18

4.

Extreme Programming .................................................................................................................. 24 4.1. Qu es Extreme Programming ? ..................................................................................................................24 4.2. Fases de la Metodologa XP ............................................................................................................................25 4.2.1. Planificacin del Proyecto ......................................................................................................................25 4.2.2. Diseo .........................................................................................................................................................26 4.2.3. Codificacin ...............................................................................................................................................27 4.2.4. Pruebas.......................................................................................................................................................28 4.3. Conclusiones.....................................................................................................................................................28

5.

Planificacin ................................................................................................................................... 31 5.1. Introduccin .....................................................................................................................................................31 5.2. Histricos..........................................................................................................................................................32 5.3. Modelo ...............................................................................................................................................................33 5.4. Simulacin ........................................................................................................................................................34 5.5. Resultados.........................................................................................................................................................35 5.6. Sistema de Decisin ........................................................................................................................................36 5.7. Tiempo real.......................................................................................................................................................36

6.

Diseo.............................................................................................................................................. 38 6.1. Introduccin .....................................................................................................................................................38 6.2. Histricos..........................................................................................................................................................39

VI

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ndice.

6.2.1. Carga ...........................................................................................................................................................40 6.2.2. Visualizacin .............................................................................................................................................41 6.2.3. Diagrama de Flujo de Datos ....................................................................................................................41 6.3. Modelo ...............................................................................................................................................................42 6.3.1. Entrenamiento ..........................................................................................................................................43 6.3.2. Carga ...........................................................................................................................................................44 6.3.3. Diagrama de Flujo de Datos ....................................................................................................................45 6.3.4. Gestin de Modelos ..................................................................................................................................45 6.4. Simulacin ........................................................................................................................................................47 6.4.1. Simulacin..................................................................................................................................................47 6.4.2. Carga ...........................................................................................................................................................48 6.4.3. Diagrama de Flujo de Datos ....................................................................................................................48 6.5. Resultados.........................................................................................................................................................49 6.5.1. Diagrama de Flujo de Datos ....................................................................................................................50 6.6. Sistema de Decisin ........................................................................................................................................51 6.7. Tiempo Real ......................................................................................................................................................52 6.7.1. Diagrama de Flujo de Datos ....................................................................................................................52 6.8. Diagrama de Flujo de la Aplicacin ..............................................................................................................53 7. Desarrollo ....................................................................................................................................... 55 7.1. Introduccin .....................................................................................................................................................55 7.2. Histricos..........................................................................................................................................................55 7.2.1. Inicio de Sesin .........................................................................................................................................55 7.2.2. Resumen de Variables..............................................................................................................................57 7.2.3. LOG de Sesin ............................................................................................................................................58 7.2.4. Carga de Histricos ..................................................................................................................................59 7.2.5. Visualizacin de Histricos.....................................................................................................................61 7.3. Modelo ...............................................................................................................................................................63 7.3.1. Entrenamiento del Modelo......................................................................................................................64 7.3.2. Carga del Modelo ......................................................................................................................................66 7.3.3. Gestin de Modelos ..................................................................................................................................67 7.4. Simulacin ........................................................................................................................................................70 7.4.1. Simular un Periodo...................................................................................................................................71 7.4.2. Carga de una Simulacin .........................................................................................................................73 7.5. Resultados.........................................................................................................................................................73 7.6. Sistema de Decisin ........................................................................................................................................77 7.7. Tiempo Real ......................................................................................................................................................79 8. Pruebas ........................................................................................................................................... 81 8.1. Pruebas unitarias.............................................................................................................................................81 8.2. Prueba global del sistema ..............................................................................................................................82 8.3. Resultados.........................................................................................................................................................82

VII

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ndice.

8.3.1. Enero 2008 ................................................................................................................................................82 8.3.2. Febrero 2008 .............................................................................................................................................86 8.3.3. Marzo 2008 ................................................................................................................................................89 8.3.4. Comparativa ..............................................................................................................................................92 9. Planificacin del proyecto ............................................................................................................ 96 9.1. Estructura de Descomposicin del Trabajo (EDT) ....................................................................................96 9.2. Diagrama PERT ................................................................................................................................................99 9.3. Responsabilidades del Proyecto ................................................................................................................ 102 10. Asignacin Presupuestaria ......................................................................................................... 104 10.1. Asignacin horas/hombre ........................................................................................................................ 104 10.2. Tarifas de los Participantes...................................................................................................................... 105 10.3. Presupuesto Final....................................................................................................................................... 105 10.4. Conclusin ................................................................................................................................................... 106 11. 12. Conclusiones................................................................................................................................. 108 Lneas de continuacin ............................................................................................................... 110

12.1. Finalizar los Mdulos de Visual Basic para Visual Chart ..................................................................... 110 12.2. Optimizar Entrenamiento del Modelo .................................................................................................... 110 12.3. Incorporacin de Nuevas Entradas ......................................................................................................... 111 12.4. Optimizar la Toma de Decisiones ............................................................................................................ 111 12.5. Dinamizar las Empresas que Sern Predichas ...................................................................................... 112 12.6. Contrastar con otros Modelos .................................................................................................................. 112 12.7. Limitar el Capital Invertido ...................................................................................................................... 112 13. ANEXO A Manual de Usuario .................................................................................................... 114 13.1.1. Cargar .................................................................................................................................................... 115 13.1.2. Ver.......................................................................................................................................................... 116 13.2. Modelo .......................................................................................................................................................... 118 13.2.1. Entrenar/Cargar .................................................................................................................................. 118 13.2.2. G de Modelos ...................................................................................................................................... 120 13.3. Simular ......................................................................................................................................................... 122 13.3.1. Simular/Cargar .................................................................................................................................... 122 13.4. Ver Resultados ............................................................................................................................................ 124 13.4.1. Resumen General................................................................................................................................. 124 13.4.2. Elegir Empresa..................................................................................................................................... 124 13.5. Otra informacin ........................................................................................................................................ 127 14. ANEXO B Variaciones de los Indicadores Respecto al Precio .............................................. 129 14.1. ADX (Movimiento Direccional) ................................................................................................................ 129 14.2. MACD (Convergencia-Divergencia del Promedio Mvil)..................................................................... 130 14.3. OBV (Balance de Volmenes) ................................................................................................................... 131 14.4. RSI (ndice Relativo de Fuerza) ............................................................................................................... 132 13.1. Datos............................................................................................................................................................. 115

VIII

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ndice.

14.5. CCI (ndice de Commodities ) .................................................................................................................. 132 14.6. Estocstico................................................................................................................................................... 133 15. Bibliografa................................................................................................................................... 135 15.1. Publicaciones .............................................................................................................................................. 135 15.2. Apuntes ........................................................................................................................................................ 137 15.3. Pginas Web ................................................................................................................................................ 137

IX

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Introduccin.

1. INTRODUCCIN
En este apartado se expondr una introduccin general del proyecto, las motivaciones para realizarlo, los objetivos, la metodologa y los recursos necesarios para el mismo.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Introduccin.

1. Introduccin
El proyecto, Sistema de Inversin en Bolsa a Corto Plazo , contina con el trabajo y los estudios realizados por otros compaeros sobre la materia en aos anteriores. Se trata por tanto de un trabajo que ha ido evolucionando y mejorando a lo largo del tiempo. Empezando con el proyecto [MARA07], en el que se estudi la aplicacin del perceptrn multicapa para la toma de decisiones sobre la compra y la venta de acciones de bolsa a corto plazo, cuyos resultados ayudaron a continuar por las lneas de investigacin que se estaban siguiendo. La principal referencia al proyecto es [HORN08]. Sirve de punto de partida y los resultados alcanzados animan a seguir perfeccionando el trabajo realizado. A lo largo del presente documento se har referencia constante a dicho proyecto por lo que se recomienda realizar una lectura previa. El proyecto actual, seguir las mismas lneas de investigacin que los anteriores y tratar de mejorar, tanto la toma de decisiones del sistema como el tiempo de ejecucin del mismo. Del mismo modo, se aadir funcionalidad para poder trabajar en tiempo real y se disear un interfaz de usuario para facilitar todas las operaciones.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Introduccin.

1.1. Motivacin
La principal motivacin para realizar un proyecto sobre inversin en bolsa a corto plazo es la necesidad que existe de tener una herramienta eficaz y eficiente en este campo. Hasta ahora una de las principales limitaciones para realizar inversiones en bolsa intradiarias, era la presencia fsica del inversor, al finalizar el proyecto, se pretende disponer de una aplicacin que tome decisiones de inversi n

automticamente. Existen ventajas significativas en la utilizacin de la inteligencia artificial y los sistemas automticos en la inversin en bolsa. Al operar a muy corto plazo (intrada), el sistema es ajeno a los momentos que est pasando la bolsa, ya que aprovechar las pequeas fluctuaciones que existan a lo largo del da. Las conclusiones obtenidas en proyectos anteriores sobre la misma materia refuerzan la idea de que es posible alcanzar grandes resultados con estos sistemas (Ver [MARA07] y [HORN08]).

1.2. Objetivos
Los objetivos que se pretenden alcanzar a la finalizacin del proyecto son: Conseguir una herramienta intuitiva y de fcil utilizacin que permita al usuario: o Analizar los histricos de las empresas. o Entrenar diferentes modelos y poder comparar los errores cometidos por cada uno de ellos en busca del modelo ms preciso.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Introduccin.

o Realizar simulaciones off-line de diferentes periodos de la bolsa que aportarn entre otros resultados sobre las posiciones y el beneficio obtenido. o Disponer de conexin en tiempo real con el broker y la bolsa de Madrid para que el sistema lance las operaciones oportunas automticamente a lo largo del da. o Seguir detalladamente todas las operaciones realizadas en cada sesin. o Obtener beneficios sin correr riesgos elevados. Optimizar el sistema de decisin que existe en la actualidad. Cumpliendo con los objetivos expuestos anteriormente el usuario dispondr de una herramienta de anlisis y un sistema automtico de inversin ergonmico, seguro y eficaz.

1.3. Metodologa
La metodologa que se va a seguir para el desarrollo del proyecto es la metodologa Extreme Programming . Esta forma de trabajar es la ms destacada dentro de todos los procesos giles de desarrollo de software. Se considera gil ya que intenta evitar los tortuosos y burocrticos caminos de las metodologas tradicionales enfocndose en el cliente y en los resultados. Los principios bsicos de esta metodologa son: Simplicidad: se simplifica el diseo para agilizar el desarrollo y facilitar el mantenimiento. Tambin se aplica la simplicidad en la documentacin eligiendo adecuadamente los nombres de las variables, mtodos y clases.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Introduccin.

Comunicacin: La comunicacin con el cliente es fluida ya que el cliente forma parte del equipo de desarrollo. El cliente decide qu caractersticas tienen prioridad y siempre debe estar disponible para solucionar dudas. Feedback : Al realizarse ciclos muy cortos tras los cuales se muestran resultados, se minimiza el tener que rehacer partes que no cumplen con los requisitos y ayuda a los programadores a centrarse en lo que es ms importante.

Ilustracin 1. Comparativa entre metodologas

(Fuente: [WEB002])

Las caractersticas principales son: Desarrollo iterativo e incremental. Pruebas unitarias continuas, frecuentemente repetidas y automatizadas. Frecuente integracin del equipo de programacin con el cliente o usuario. Correccin de todos los errores antes de aadir nueva funcionalidad. Hacer entregas frecuentes. Simplicidad en el cdigo: es la mejor manera de que las cosas funcionen. Cuando todo lo anterior est correcto se podr aadir nueva funcionalidad si es necesario.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Introduccin.

1.4. Recursos Empleados


Para realizar el proyecto son necesarios algunos recursos de software y hardware 1:

1.4.1. Hardware PC Porttil: porttil de gama media con los recursos necesarios para la realizacin del proyecto. 1.4.2. Software Matlab : (abreviatura de MATrix LABoratory ) es un software matemtico que ofrece un entorno de desarrollo integrado con un lenguaje de programacin propio (lenguaje M). Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la representacin de datos y funciones, la implementacin de algoritmos, la creacin de interfaces de usuario y la comunicacin con programas en otros lenguajes y con otros dispositivos hardware. El desarrollo de la aplicacin principal se ha llevado a cabo sobre esta herramienta. Gracias a las libreras que posee sobre inteligencia artificial y la posibilidad de desarrollar interfaces grficos se consider la mejor opcin a la hora de programar el sistema. Visual Chart : Visual Chart es la aplicacin financiera ms potente que existe y permite hacer un seguimiento real, de forma fcil e intuitiva, de cualquier circunstancia relativa a las inversiones en bolsa. Admite recabar, interpretar y utilizar los datos de cualquier valor o mercado, as como

Existe una fuerte restriccin en cuanto al tiempo de ejecucin del programa. Cada cinco minutos el sistema debe tomar una decisin de inversin, por lo tanto, la combinacin del hardware y el software debe ajustarse a esta ventana de tiempos. De no ser as, el sistema podra llegar a la toma de decisiones tarde y por consiguiente errneamente.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Introduccin.

poder manejar de forma operativa toda la informacin recibida utilizando eficaces herramientas de anlisis y estudio. Con Visual Chart y una licencia para obtener datos en tiempo real del IBEX-35 se pueden obtener las entradas al modelo y sobre la misma plataforma lanzar las rdenes de compra o venta. Visual Basic : es un lenguaje de programacin desarrollado por Alan Cooper para Microsoft. El lenguaje de programacin es un dialecto de BASIC, con importantes aadidos. Su primera versin fue presentada en 1991 con la intencin de simplificar la programacin utilizando un ambiente de desarrollo completamente grfico que facilitar la creacin de interfaces grficas y en cierta medida tambin la programacin misma. Visual Basic constituye un entorno de desarrollo integrado ( IDE ), que ha sido empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo (programa donde se escribe el cdigo fuente), un depurador (programa que corrige errores en el cdigo fuente para que pueda ser bien compilado), un compilador (programa que traduce el cdigo fuente a lenguaje de mquina), y un constructor de interfaz grfica o GUI (es una forma de programar en la que no es necesario escribir el cdigo para la parte grfica del programa, sino que se puede hacer de forma visual). Gracias a este software es posible la comunicacin entre Visual Chart y Matlab para toda la operativa en tiempo real. Microsoft Office : para la realizacin de toda la documentacin ha sido necesario utilizar los programas de la herramienta ofimtica de Windows, tanto Word como PowerPoint .

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estado del Arte.

2. ESTADO DEL ARTE


En este apartado se expondr el estado del arte.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estado del Arte.

2. Estado del Arte

El desarrollo de sistemas automticos de inversin supone un ahorro de tiempo para las personas que lo empleen siempre y cuando consigan que sea rentable. Es fcil descubrir cantidad de cursos y msteres sobre la materia por las ventajas que aporta. Es posible encontrar multitud de aplicaciones en Internet sobre sistemas de automticos de trading, muchos de ellos de forma gratuita que se basan en simples clculos y su rentabilidad muchas veces queda en entredicho. En otras ocasiones los sistemas requieren un pago por adquirirlo y prometen rentabilidades desorbitadas que no terminan de ofrecer confianza en el inversor. A pesar de desconocer los resultados finales de todas estas aplicaciones, a continuacin se har referencia a algunas de ellas. En la direccin [WEB006], el lector podr encontrar un par de aplicaciones sobre trading con futuros y con acciones. Ms en concreto, disponen de un sistema automtico de inversin en empresas del IBEX-35, Sistema ABCBOLSA. Dicho sistema realiza una media de tres a siete operaciones al ao por cada valor del ndice, dispone de stops de proteccin arriesgando en cada operacin entre un 3 y un 6% del capital. Las rentabilidades para los aos 2005, 2006 y 2007 han sido: 60, 17 y 40% respectivamente. Es posible encontrar otro sistema de inversin en bolsa en la pgina [WEB007], AIM ( Automatic Investment Management ), realizado por Robert Lichello. Este sistema centra la inversin en una determinada compaa que tras su estudio, va recomendando la compra o venta de las acciones.

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estado del Arte.

La direccin web en la que el lector podr encontrar ms software relacionado con el proyecto es en [WEB008]. A continuacin se nombran y detallan dos de las ms relevantes: Aimotionless Investment Manager : dicha aplicacin asesora al usuario a la hora de vender o comprar acciones siguiendo los algoritmos detallados en el bestseller de Robert Lichello. SprinN Professional: es un sistema de prediccin de mercados capitales. Soporta cualquier activo financiero en cualquier mercado del mundo. Dicho sistema aplica tcnicas de inteligencia artificial en sus predicciones, basadas en complejas redes neuronales. Su principal funcin es la prediccin, incluyendo recomendaciones, con lo que el usuario slo deber invertir tiempo en las medidas a tomar y no en observar las tendencias o perspectivas. La aplicacin incluye numerosos indicadores, medias mviles, volatilidad, osciladores, indicador

desviaciones,

momentos,

incrementos,

estocstico, MACD... Provee tambin al usuario de detallados informes y grficos de todos los anlisis.

El lector podr encontrar ms informacin referente al tema buscando en la web por el ttulo del presente proyecto. Desde el programa Visual Chart es posible programar estrategias de inversin en Visual Basic a travs de un interfaz sencillo, pero los sistemas creados no tratan de predecir las series financieras sino que simplemente lanzan rdenes cuando la cotizacin alcanza un punto indicado o determinado indicador recomienda la compra.

10

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estado del Arte.

El trabajo propuesto en el presente proyecto va ms all y pretende ser capaz de predecir en un espacio temporal reducido el movimiento que sufrir la cotizacin e intentar aprovechar las subidas y bajadas de la bolsa en el da para obtener rentabilidad. Las grandes entidades financieras disponen de sofisticados sistemas y herramientas para la inversin en bolsa. Debido al riesgo que existe para la entidad si se descubriera el tipo de algoritmo que utiliza o en que variables se basa, las entidades emplean los sistemas ms desarrollados para su propia utilizacin, mientras que los sistemas ms bsicos los ponen a disposicin de sus clientes.

11

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

3. ESTUDIO DE ANTECEDENTES
En este apartado se introduce brevemente la inversin en bolsa, la prediccin de series financieras y se explica el modelo empleado en el proyecto.

12

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

3. Estudio de Antecedentes
3.1. Inversin en Bolsa
El modelo de inversin que se viene planteando es la inversin en acciones a corto plazo, ya que se considera el escenario ms susceptible de ser modelado matemticamente. Un modelo matemtico de prediccin requiere de un escenario en el cual la prediccin a realizar dependa de una serie de variables cuantificables. Se parte del supuesto de que las variaciones de una accin en el corto plazo estn fuertemente afectadas por la informacin histrica que se tiene de sta. Esta informacin histrica se puede representar mediante el valor de los diferentes indicadores burstiles que se utilizarn. La principal ventaja que tiene invertir en bolsa en corto plazo es que se cuenta con la posibilidad de aprovechar la elevada volatilidad del mercado. Como desventaja, este tipo de inversin acarrea unos costes de transaccin (pago de comisiones a intermediarios) muy elevados debido al gran nmero de operaciones que se realizan. Adems la inversin en bolsa en corto plazo requiere un seguimiento continuo del mercado (ver [RODR04]). Cuando se ejecutan rdenes hay que pagar una comisin al intermediario que las efecta. La bolsa puede ser vista desde diferentes pticas segn [FERN07]: como canalizadora del ahorro, como va para la financiacin empresarial o como barmetro de la economa. En el contexto del proyecto, la visin de la bolsa se aproxima ms a la primera de las anteriores.

13

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

3.2. Prediccin de Series Financieras


El valor de una accin a lo largo del tiempo es una serie temporal. Por tanto, la prediccin de valores futuros de las acciones consiste en la prediccin de series temporales. Una serie temporal es una secuencia cronolgica de observaciones de una variable. El tiempo se suele observar en pasos de tiempo discretos, luego el valor de una variable de una serie temporal ser una variable discreta. Cuando se estudia la variacin de una serie temporal se trata de identificar patrones histricos que puedan ser tiles en la prediccin. Las series temporales estn compuestas segn [GRAH07] por: Tendencias: es un patrn de comportamiento de los precios durante un periodo de tiempo.

Ilustracin 2. Tendencias alcista y bajista

(Fuente: [CAVA07])

Ciclos: un ciclo se refiere a movimientos hacia arriba o hacia abajo alrededor del nivel de tendencia. Estacionalidades: patrones que se repiten cada determinado tiempo.

14

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

Aleatoriedades: son movimientos irregulares en una serie de tiempo que no siguen un patrn regular, ni reconocible.

La prediccin de valores futuros de series financieras es un problema difcil, dado que debera tener en cuenta todos los parmetros que determinan las expectativas de los intervinientes en el mercado, y estos parmetros suelen ser de carcter psicolgico e imposibles de cuantificar. Lo que s es cierto es que muchas de las expectativas que genera el valor de una accin se deben a la informacin histrica que se conoce de ella. La aplicacin desarrollar modelos utilizando un enfoque de redes, en busca de un algoritmo que imite el comportamiento de la serie financiera. La experiencia de anteriores estudios indica que la utilizacin de redes neuronales incrementa la precisin en la prediccin de series financieras.

3.3. Modelo
En este apartado van a ser vistas a grandes rasgos las principales caractersticas del modelo empleado para predecir las series temporales. Se estudiarn las entradas, las redes y las salidas del modelo. Sobre el modelo existente se ha trabajado para optimizar ciertos aspectos y se ha aadido funcionalidad en la aplicacin para facilitar al usuario la eleccin del modelo que mejor prediccin haga. 3.3.1. Entradas del Modelo Las entradas al modelo se obtienen de los datos histricos de las empresas que interesen de la Bolsa. En la versin anterior, los datos histricos se tenan que descargar manualmente. Era necesario seleccionar un intervalo

15

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

de tiempo de 5 minutos y se descargaban de la aplicacin Visual Chart . Dicha aplicacin convierte los grficos de las compaas en texto, cuyo formato es:

<TICKER> <DTYYYYMMDD> <TIME> <OPEN> <HIGH> <LOW> <CLOSE> <VOL>

Representa a la empresa. Fecha (p.e.: 20090915). Hora (p.e.: 103000). Precio de apertura. Precio ms alto. Precio ms bajo. Precio de cierre. Volumen en el periodo.
Tabla 1. Formato de los histricos

Una vez descargados los datos en ficheros de texto, se procesan con funciones de Matlab para que formen parte de las entradas del modelo. Como se explicar en el apartado siguiente, para cada empresa existir una red neuronal que ser la que haga la prediccin para el periodo siguiente. Las entradas al modelo son las que se presentan a continuacin, despus de las conclusiones del proyecto [MARA07] y de los estudios empricos realizados por [HORN08] que concluyeron con la incorporacin de algunas nuevas entradas y con la eliminacin de otras existentes. En definitiva, las 30 entradas al modelo se presentan en la siguiente tabla:

16

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

Entrada 1 Entrada 2 Entrada 3 Entrada 4 Entrada 5 Entrada 6 Entrada 7 Entrada 8 Entrada 9 Entrada 10 Entrada 11 Entrada 12 Entrada 13 Entrada 14 Entrada 15 Entrada 16 Entrada 17 Entrada 18 Entrada 19 Entrada 20 Entrada 21 Entrada 22 Entrada 23 Entrada 24 Entrada 25 Entrada 26 Entrada 27 Entrada 28 Entrada 29 Entrada 30

Close (t-1) Open (t-1) Open (t-2) Open (t-3) Open (t-5) Open (t-7) Open (t-9) Open (t-11) Open (t-13) Open (t-15) Open (t-17) Pendiente de los 4 ltimos precios de apertura Pendiente de los 2 ltimos precios de apertura Media exponencial de los ltimos 14 precios de apertura Media mvil de los ltimos 26 precios de apertura Media mvil de los ltimos 7 precios de apertura Media mvil de los ltimos 42 precios de apertura Valor del ADX Coeficiente de variacin del ADX respecto al precio de apertura* Valor del MACD Valor de SIGNAL Coeficiente de variacin del MACD respecto al precio de apertura Coeficiente de variacin del OBV respecto al precio de apertura Valor del RSI Coeficiente de variacin del RSI respecto al precio de apertura Valor del CCI Coeficiente de variacin del CCI respecto al precio de apertura Valor de la curva K del Estocstico Diferencia entre las dos curvas del Estocstico (K-D) Coeficiente de variacin de la curva K del Estocstico respecto al precio de apertura
Tabla 2. Lista de Entradas del Modelo

Las primeras 11 entradas hacen referencia a los periodos anteriores al que se estudia en el periodo t, as se obtendr el precio de cierre del periodo inmediatamente anterior y varios precios de apertura de periodos anteriores. El resto de entradas se calculan aplicando los diferentes indicadores que se

17

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

pueden ver en el documento anexo a ste con el ttulo de ANEXO BVariaciones de los indicadores respecto al precio . 3.3.2. Redes Neuronales El modelo matemtico que utiliza el sistema de inversin para predecir valores futuros es una red neuronal artificial (RNA). En este captulo se van a resumir las principales caractersticas. Si el lector quisiera profundizar en la materia se recomiendan los trabajos [GARC02], [A_SANZ] y [HORN08]. Una red neuronal artificial est compuesta por un conjunto de neuronas interconectadas entre s que trabajan conjuntamente para solucionar un determinado problema. El elemento bsico de una red neuronal es la neurona. Una neurona no es ms que una funcin de transferencia que a partir de un nmero de entradas calcula una nica salida. Estas entradas estn ponderadas de manera que cada una de ellas lleva asociada un peso (constante por la que se multiplica su valor) que representa la importancia que tiene la entrada en la salida de la neurona. Los parmetros necesarios para definir el funcionamiento de una neurona son: Nmero de entradas. Pesos de las entradas. Funcin de transferencia. Existen diferentes tipos de redes neuronales segn la estructura en la que estn organizadas las neuronas: redes de propagacin hacia delante ( feedforward ), redes recurrentes, estructura de Lattice, redes estocsticas, redes modulares Es posible entrenar las redes con alguno de los siguientes mtodos para conseguir el objetivo:

18

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

Entrenamiento supervisado: en este tipo de entrenamiento se le proporciona a la red una serie de ejemplos, denominados patrones de entrenamiento, que consisten en pares de entradas con sus correspondientes salidas (ejemplos de cmo se quiere que funcione la red neuronal). El proceso de entrenamiento consistir en ajustar los pesos para que la salida de la red sea lo ms parecida posible a la salida deseada (terica). Entrenamiento no supervisado: en este tipo de entrenamiento se presenta a la red una serie de ejemplos pero no se presenta la respuesta deseada. Lo que hace la red es reconocer regularidades en el conjunto de entradas. Entrenamiento hbrido: es una mezcla de los anteriores. Unas capas de la red tienen un aprendizaje supervisado y otras capas de la red tienen un aprendizaje de tipo no supervisado. Entrenamiento recurrente: Es un entrenamiento en el que no se proporciona una salida deseada, slo se indica si la salida es correcta o no, pero no indica en cunto se diferencia de la salida buscada. En el modelo, desde el que se parte en el presente trabajo, la elecci n de la red fue un perceptrn multicapa. Se trata del tipo de red neuronal ms eficaz y que ms se utiliza para la prediccin de series temporales segn estudios realizados anteriormente (consultar [CRUZ04] y [OLME04]). En estos estudios se aprecia que el perceptrn multicapa tiene la habilidad de permitir a la red hacer generalizaciones razonables. Las neuronas de las capas intermedias son detectoras de caractersticas. Estas propiedades

(generalizacin y deteccin de caractersticas) del perceptrn multicapa hacen que sea el tipo de red neuronal ms apropiada para la prediccin de series financieras.

19

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

Ilustracin 3. Objetivo del anlisis de series temporales

(Fuente: [OLME04])

Es de vital importancia recordar que el sistema realiza predicciones de valores burstiles cada 5 minutos. Por lo tanto, es necesaria una red neuronal que se ejecute en esa ventana de tiempo, esta caracterstica tambin la cumple el perceptrn multicapa aunque su entrenamiento sea lento. Una vez escogido el tipo de red que se emplear para la prediccin de las cotizaciones se realiz un estudio sobre la estructura de la misma, es decir, el nmero de capas y de neuronas en cada capa. Estudios anteriores han mostrado que con dos capas ocultas se puede aproximar funciones con una precisin arbitrariamente buena (ver [CYBE89]). Hasta ahora no se han publicado estudios de perceptores multicapa con ms de dos capas ocultas. Se parte por tanto de una red neuronal con dos capas ocultas. Las conclusiones del trabajo de [HORN08] establecen el nmero ptimo de la primera capa en 30 neuronas y para la segunda capa oculta en 7 neuronas.

20

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

Ilustracin 4. Nmero de neuronas ptimas (Fuente: [HORN08])

En definitiva y para fijar el punto de partida del proyecto, el modelo anterior era: Perceptrn Multicapa N de entradas 30 N de salidas 1 N de capas 4 N de neuronas en la capa de entrada 30 N de neuronas en la primera capa oculta 30 N de neuronas en la segunda capa oculta 7 N de neuronas en la capa de salida 1 Funcin de transferencia de la primera capa Tangente sigmoidea oculta Funcin de transferencia de la segunda capa Tangente sigmoidea oculta Funcin de transferencia de la capa de salida Lineal Algoritmo de entrenamiento Levenberg-Marquardt2
Tabla 3. Resumen del modelo
2

En Matlab se representa con trainlm .

21

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Estudio Antecedentes.

Ilustracin 5. Estructura de la red neuronal

(Fuente: [HORN08])

22

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Extreme Programming.

4. EXTREME PROGRAMMING
En este apartado se realizar una introduccin a la metodologa y a las fases de la misma.

23

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Extreme Programming.

4. Extreme Programming

4.1. Qu es Extreme Programming ?


La programacin extrema o Extreme Programming (de ahora en adelante XP) es un enfoque de la ingeniera de software formulado por Kent Beck, autor del primer libro sobre la materia: Extreme Programming Explained: Embrace Change . Es el ms destacado de los procesos giles de desarrollo de software. Al igual que stos, la programacin extrema se diferencia de las metodologas tradicionales principalmente en que pone ms nfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximacin mejor y ms realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos despus en controlar los cambios en los requisitos 3. Los principios originales de la programacin extrema son: simplicidad, comunicacin, feedback y coraje. Un quinto principio, respeto, fue aadido en la segunda edicin de Extreme Programming Explained .

Una frase de Kent Beck que resalta muy bien este aspecto dice as: Todo en el software cambia. Los requisitos cambian. El diseo cambia. El negocio cambia. La tecnologa cambia. El equipo cambia. Los miembros del equipo cambian. El problema no es el cambio en s mismo, puesto que sabemos que el cambio va a suceder; el problema es la incapacidad de adaptarnos a dicho cambio cuando ste tiene lugar.
3

24

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Extreme Programming.

4.2. Fases de la Metodologa XP


La metodologa XP se descompone en 4 grandes fases: planificacin, diseo, desarrollo y pruebas. A su vez estas fases se descomponen en otras muchas que se aprecian en la siguiente figura y se detallan a continuacin.

Ilustracin 6. Fases de la metodologa XP

(Fuente: [WEB002])

4.2.1. Planificacin del Proyecto Historias de usuario: el primer paso de cualquier proyecto que siga la metodologa XP es definir las historias de usuario con el cliente. Las historias de usuario tienen la misma finalidad que los casos de uso pero con algunas diferencias. Son usadas para estimar tiempos de desarrollo de la parte de la aplicacin que describen. Plan de entregas: despus de tener ya definidas las historias de usuario es necesario crear un plan de entregas, donde se indiquen las historias de usuario que se crearn para cada versin del programa y las fechas en las que se publicarn estas versiones.

25

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Extreme Programming.

Iteraciones: todo proyecto que siga la metodologa XP se ha de dividir en iteraciones. Al comienzo de cada iteracin los clientes deben seleccionar las historias de usuario definidas en el Plan de Entregas que sern implementadas.

Ilustracin 7. Modificacin de objetivos tras las iteraciones (Fuente: [WEB002])

Reuniones diarias: es necesario que los desarrolladores se renan diariamente y expongan sus problemas, soluciones e ideas de forma conjunta. Las reuniones tienen que ser fluidas y todo el mundo tiene que tener voz y voto.

4.2.2. Diseo Diseos simples: la metodologa XP sugiere que hay que conseguir diseos simples y sencillos. Hay que procurar hacerlo todo lo menos complicado posible para conseguir un diseo fcilmente entendible e implementable que a la larga costar menos tiempo y esfuerzo desarrollar. Glosarios de trminos: usar glosarios de trminos y una correcta especificacin de los nombres de mtodos y clases ayudar a

26

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Extreme Programming.

comprender el diseo y facilitar sus posteriores ampliaciones y la reutilizacin del cdigo. Riesgos: si surgen problemas potenciales durante el diseo, XP sugiere utilizar una pareja de desarrolladores para que investiguen y reduzcan al mximo el riesgo que supone ese problema. Funcionalidad extra: nunca se debe aadir funcionalidad extra al programa aunque se piense que en un futuro ser utilizada. Slo el 10% de la misma es utilizada, lo que implica que el desarrollo de funcionalidad extra es un desperdicio de tiempo y recursos. Refactorizar: es mejorar y modificar la estructura y codificacin de cdigos ya creados sin alterar su funcionalidad. Refactorizar supone revisar de nuevo estos cdigos para procurar optimizar su

funcionamiento. Es muy comn rehusar cdigos ya creados que contienen funcionalidades que no sern usadas y diseos obsoletos.

4.2.3. Codificacin Cliente: el cliente es una parte ms del equipo de desarrollo; su presencia es indispensable en las distintas fases de XP. A la hora de codificar una historia de usuario su presencia es an ms necesaria. No se puede olvidar que los clientes son los que crean las historias de usuario y negocian los tiempos en los que sern implementadas. Codificacin: la codificacin debe hacerse ateniendo a estndares de codificacin ya creados. Programar bajo estndares mantiene el cdigo consistente y facilita su comprensin y escalabilidad. Optimizacin: la optimizacin del cdigo siempre se debe dejar para el final. Hay que hacer que funcione y que sea correcto, ms tarde se puede optimizar.

27

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Extreme Programming.

4.2.4. Pruebas

Pruebas: al ser las distintas funcionalidades de la aplicacin no demasiado extensas, no se harn test que analicen partes de las mismas, sino que las pruebas se realizarn para las funcionalidades generales que debe cumplir el programa especificado en la descripcin de requisitos.

4.3. Conclusiones
Los resultados tras la utilizacin de esta metodologa apuntan a un posible cambio en el desarrollo del software segn las encuestas.

Ilustracin 8. Encuesta sobre XP

(Fuente: [WEB002])

Se ha escogido esta metodologa para el desarrollo ya que se ha credo la ms conveniente dadas las caractersticas del proyecto.

28

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Extreme Programming.

Si el lector quisiera profundizar en la programacin extrema se le recomiendan las siguientes lecturas: [BECK02], [ROSE03], [WEB002], [WEB003] y [WEB004]. En los siguientes captulos se explicarn las distintas fases de planificacin, diseo, desarrollo y pruebas que se han llevado a cabo en el proyecto fin de carrera.

29

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin.

5. PLANIFICACIN
En este apartado se expondr dicha fase de la metodologa XP aplicada a las tareas a realizar en el proyecto.

30

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin.

5. Planificacin

5.1. Introduccin
Siguiendo con la metodologa XP las tareas se deben factorizar lo mximo posible. Una vez se tiene una tarea atmica, se realizan las cuatro fases principales de la metodologa: planificacin, diseo, desarrollo y pruebas. Se ha considerado ms cmodo para el lector agrupar en la memoria el trabajo realizado en cada una de las fases. En lugar de tener captulos con las diferentes tareas a realizar y que cada captulo siguiera el mismo esquema de las cuatro fases, se ha preferido hacer cuatro captulos que se titularn como cada una de las fases. As pues, aunque el orden cronolgico no sea el correcto, en este captulo y en los siguientes se explicarn los trabajos realizados para cada tarea en funcin del captulo/fase en el que se encuentre. El proyecto se ha dividido en seis grandes tareas para facilitar el trabajo a la hora de desarrollar el interfaz grfico 4: Carga y visualizacin de histricos (Histricos). Entrenamiento y/o carga del modelo (Modelo). Carga y/o realizacin de simulacin (Simulacin). Visualizacin de resultados de la simulacin (Resultados). Mejora del sistema de decisin (Sistema de decisin). Funcionamiento en tiempo real (Tiempo real).

Entre parntesis aparecen los futuros ttulos de los apartados que harn referencia a cada parte del proyecto.
4

31

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin.

5.2. Histricos

Carga y visualizacin de histricos


Identificador: t001 Tarea predecesora : Descripcin
Se requiere un mdulo que permita la carga de los ficheros que contengan los histricos. Para cada empresa se dispondr de un fichero de texto descargado desde la plataforma de Visual Chart con el periodo que el usuario escoja. El intervalo de datos ser de cinco minutos para los futuros entrenamientos del modelo y as conseguir la prediccin a corto plazo. As mismo, una vez cargados los histricos se le permitir al usuario visualizarlos. Existirn varias opciones a la hora de ver los histricos.

Fecha inicio : 15/10/2008 Duracin estimada : 1 mes

NOTA : En esta etapa se detecta la necesidad de facilitar al usuario informacin referente a las variables que tenga cargadas en el sistema y se tratar de resolver. Del mismo modo se cree conveniente proporcionar al usuario un log en el que se reflejen los pasos dados en cada sesin.

32

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin.

5.3. Modelo

Entrenamiento y/o carga del modelo


Identificador: t002 Tarea predecesora : t001 Descripcin
En esta etapa, es necesario crear un interfaz a travs del cual el usuario pueda, de forma sencilla, entrenar un modelo con las caractersticas necesarias. Se proveer en el interfaz un completo men que contemple todas las opciones a la hora de entrenar una red neuronal. Una vez entrenado el modelo se guardar en la carpeta de sesin. Tambin ser posible cargar un modelo previamente entrenado.

Fecha inicio : 20/11/2008 Duracin estimada : 3 meses

REQUISITOS : Existencia de histricos cargados en el sistema (slo para el entrenamiento, si se decide cargar un modelo entrenado con anterioridad no ser necesario).

NOTA : Existir la opcin de comparar modelos para conocer cul de todos los entrenados ajusta mejor la variable del precio.

33

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin.

5.4. Simulacin

Carga y/o realizacin de simulacin


Identificador: t003 Tarea predecesora : t002 Descripcin
El usuario tendr la libertad para realizar simulaciones off-line del periodo de tiempo que necesite. Existir un men con las opciones necesarias para realizar una simulacin. Una vez realizada la simulacin se guardar en la carpeta de sesin. Tambin ser posible cargar una simulacin previamente realizada.

Fecha inicio : 10/02/2009 Duracin estimada : 2 meses

REQUISITOS : Existencia de histricos cargados en el sistema (slo para realizar una simulacin, si se decide cargar una hecha con anterioridad no ser necesario). Existencia de un modelo cargado en el sistema (slo para realizar una simulacin, si se decide cargar una hecha con anterioridad no ser necesario).

34

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin.

5.5. Resultados

Visualizacin de resultados de la simulacin


Identificador: t004 Tarea predecesora : t003 Descripcin
Se facilitar al usuario informacin de forma grfica sobre la simulacin. Adems de la informacin econmica que pueda generar la simulacin se detallar la calidad del ajuste en el periodo de tiempo realizado. La visualizacin de resultados guardar en la carpeta de sesin la informaci n para su futura utilizacin.

Fecha inicio : 25/03/2009 Duracin estimada : 2 meses

REQUISITOS : Existencia de una simulacin cargada en el sistema.

35

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin.

5.6. Sistema de Decisin

Mejora del sistema de decisin


Identificador: t005 Tarea predecesora : t004 Descripcin
Se pretende mejorar el sistema de decisin existente para mejorar, si cabe, lo s resultados obtenidos hasta el momento.

Fecha inicio : 20/05/2009 Duracin estimada : 1 mes

5.7. Tiempo real

Funcionamiento en tiempo real


Identificador: t006 Tarea predecesora : t005 Descripcin
De la misma forma que se realizarn simulaciones off-line , se acometer el problema de disponer del sistema en tiempo real, descargando datos y haciendo predicciones de precios en intervalos de cinco minutos.

Fecha inicio : 05/07/2009 Duracin estimada : 1 mes

REQUISITOS : Existencia de un modelo cargado en el sistema.

36

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6. DISEO
En este apartado se expondr el diseo de la aplicacin desglosndolo en cada tarea realizada.

37

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6. Diseo

6.1. Introduccin
Como ya se adelantara en el apartado 1.4 Recursos Empleados, en el primer captulo en la seccin de software, el sistema se ejecutar sobre el sistema operativo de Windows XP. El desarrollo de la aplicacin principal se realizar en Matlab ya que facilita mucho el trabajo la librera de redes neuronales que aporta este software. La informacin de la Bolsa de Madrid se conseguir con la aplicacin Visual Chart y la licencia de tiempo real para el Ibex-35 a travs de Internet. En dicha plataforma es posible desarrollar rutinas en Visual Basic con las cuales se descargarn los datos cada cinco minutos y se lanzarn las rdenes oportunas de compra o venta.

Ilustracin 9. Diseo de la plataforma

38

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6.2. Histricos
Antes de abordar el tema de la carga y la visualizacin de los histricos, se pretende disear un panel que sirva de resumen de las variables que se cargan en el sistema para que el usuario tenga acceso a esa informacin siempre que quiera. De esta forma, el usuario, sabr en todo momento que variables tiene cargadas en memoria y se mostrar la ubicacin de las mismas en el equipo, adems de un breve resumen sobre la variable siempre que proceda. La nota que aparece en el apartado 5.2 Histricos del captulo anterior, enuncia la problemtica expuesta en los prrafos anteriores. Adems en dicha nota, se hace referencia a facilitar al usuario un log para saber las acciones que realiz en cada una de las sesiones. En el log se guardar informacin de cada accin acompaada de la fecha y la hora en la que se realiz. Los mensajes tipo que aparecen en este log sern del estilo:
30/07 30/07 30/07 30/07 30/07 30/07 30/07 01:16:47 01:17:00 01:17:15 01:17:15 01:17:16 01:17:16 01:17:50 -> -> -> -> -> -> -> Comienzo de xito en la Comienzo de Importacin xito en la HISTRICOS: Comienzo de la carga del MODELO. carga. la carga de HISTRICOS. de histricos homogeneizados. carga. C:\ws_SI\HISTORICO-Crisis.mat. la SIMULACIN.

El usuario tendr acceso a ambas informaciones ( log y resumen de variables) de una forma fcil e intuitiva mientras mantenga abierta la sesin. El fichero del log a diferencia del resumen de variables podr ser consultado despus incluso de cerrar la sesin ya que se guardar en la carpeta de sesin un fichero LOG.txt por si fuera necesaria su consulta en el futuro.

39

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6.2.1. Carga El diseo de la carga y visualizacin de histricos pretende ser sencillo e intuitivo para el usuario. Como se adelant en el captulo anterior, los histricos se descargarn de la aplicacin Visual Chart (ver [HORN08]) a

ficheros de texto. Cada empresa tendr un fichero de texto independiente al resto y el estndar
5

para

los

nombres

de

los

ficheros

ser:

nombredelaempresa .txt . Existen dos formas de cargar los histricos: Cargar los ficheros de texto y crear una variable en Matlab que tenga la informacin de todas las empresas. Previa a la creacin de la variable, se pasarn los datos por unas rutinas de Matlab que homogeneizarn los datos eliminando los periodos en los que no se disponga de informacin. Los datos se guardarn en una variable en la carpeta de la sesin con el nombre que el usuario haya escogido. Para facilitar la gestin de los ficheros que se almacenan en la carpeta de la sesin, previo al nombre elegido por el usuario, se aadir la palabra HISTORICO. De tal modo, el fichero que contiene la informacin de los histricos de un determinado periodo se almacenar de la siguiente manera: HISTORICO- nombre . Cargar la variable HISTORICO- nombre que se haya generado en otra sesin.

Si el nombre fuera compuesto, como por ejemplo Unin Fenosa, el identificador del fichero ser unionfenosa .txt.
5

40

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6.2.2. Visualizacin Una vez cargados los histricos en el sistema por cualquiera de los dos caminos explicados anteriormente, el usuario tendr la opcin de visualizarlos. Para ello, se le facilitar un men en el que podr escoger entre varias opciones: Ver todas las empresas o escoger slo algunas. Ver el periodo mximo que contemplen los histricos cargados o elegir un periodo concreto. Ver la grfica con precios de apertura, cierre, mximo o mnimo diario. Ver los resultados en grficas independientes o en una sola grfica a modo de comparativa.

6.2.3. Diagrama de Flujo de Datos El diagrama de flujo de datos (DFD) es la representacin grfica de un modelo de procesos o funciones donde aparecen flujos de datos y sus transformaciones a lo largo del sistema (ver [BARR01]) y su notacin es:

Ilustracin 10. Leyenda de un DFD

41

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

El DFD de la carga y la visualizacin de histricos es:

1. Homogeneizacin de Histricos

Histricos Homogeneizados

2. Cargar Histricos

Histricos Homogeneizados

TXT HISTRICOS

HISTRICOS

Ilustracin 11. DFD Histricos

6.3. Modelo
Este apartado abarca todo lo referente al diseo del entrenamiento y carga de modelos. Existe de la misma forma, una parte dedicada a la gestin de los mismos, dnde el usuario podr comparar los diferentes entrenamientos que realice y as poder escoger el modelo que mejor ajuste.

42

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6.3.1. Entrenamiento Se considera requisito necesario para poder entrenar un modelo la existencia de histricos en el sistema. Mientras el usuario no cargue dicho fichero, el men del entrenamiento quedar inhabilitado siendo solo posible la carga de un modelo previamente entrenado. Cada modelo que el usuario entrene recibir una identificacin para poder guardar el fichero en la carpeta de sesin. El estndar para los nombres de los modelos estar compuesto por tres partes: Primera parte: MODELO. Segunda parte: instante en el que se cre 6. Tercera parte: nombre introducido por el usuario. El resultado final por tanto tendr la siguiente apariencia: MODELO-AAAAMMDD T HHMMSS- nombre El usuario podr escoger entre varias opciones a la hora de entrenar el modelo para dar ms flexibilidad al apartado. La modificacin, por mnima que sea, de algunas de estas opciones puede dar lugar a modelos con ajustes completamente diferentes. Para entrenar un modelo ser necesario escoger en primer lugar las fechas de los histricos con los que se va a entrenar. Una vez seleccionado el periodo, el usuario debe determinar cuntos de los datos se emplearan para el entrenamiento, cuantos para la validacin y cuantos para el test. Estos datos se introducirn en porcentajes sobre el total de datos.

Se emplea un estndar de Matlab y un ejemplo de ste sera: 20090726T004132. Expresa el ao, mes y da, seguido de una T para dar paso a las horas, minutos y segundos.
6

43

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

Tambin ser necesario que el usuario escoja el nmero de epochs 7 y el goal 8 de la red neuronal. Existe la posibilidad de mostrar la evolucin del entrenamiento con la opcin show que mostrar los errores en las epochs que el usuario introduzca. Por ltimo se dan opciones sobre la estructura de la red, pudiendo modificar el nmero de neuronas de las capas y la funcin de transferencia en cada una de ellas. De las tres capas que dispone el modelo slo ser posible modificar el nmero de neuronas en la segunda, ya que en la primera deben ser 30 neuronas y en la ltima capa la nica neurona que exista predecir el valor del precio. Lo que si ser posible modificar en todas las capas ser la funci n de transferencia. Por lo que se desprende de estudios anteriores, existen algunos parmetros que, con cierto valor, consiguen un mejor ajuste del modelo. Se ha decidido sugerir estos valores aunque ser posible modificarlos. Las opciones escogidas por el usuario quedarn reflejadas en el fichero del log y las partes ms significantes quedarn reflejadas en el resumen de variables de la aplicacin.

6.3.2. Carga Para la carga de un modelo no ser necesaria la existencia de histricos en el sistema. Despus de cargar un modelo en memoria se reflejar un resumen del mismo en el panel de resumen de variables.

Hace referencia al nmero de veces que se le pasarn los datos a la red neuronal para el entrenamiento. 8 Cuando alcance dicho valor se considerar que la red ajusta correctamente.
7

44

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6.3.3. Diagrama de Flujo de Datos El DFD en este caso es:

1. Seleccionar Opciones de Entrenamiento

Opciones

2. Entrenar Modelo

Modelo

3. Guardar Modelo

4. Cargar Modelo

HISTRICOS

MODELO

Ilustracin 12. DFD Modelo

6.3.4. Gestin de Modelos Con la seccin de gestin de modelos ser posible comparar el ajuste de los diferentes modelos que se hayan entrenado. La informacin del ajuste se mostrar de forma grfica bien sobre empresas en concreto o comparando los errores cometidos. Se facilitarn unas grficas que muestren la diferencia entre la prediccin de la red y la prediccin ingenua 9. Tambin se mostrarn los errores cometidos por el modelo y los errores cometidos por la predicci n ingenua, dando por buenos los que sean menores que estos segundos.

La prediccin se basa en utilizar el precio en el instante anterior.

45

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6.3.4.1. Errores Empleados Los errores empleados para conocer predicciones son los siguientes: MAPE ( Mean Absolute Percentage Error) : se calcula encontrando el error absoluto en cada periodo, dividiendo ste entre el valor real observado, para ese periodo y despus promediando estos errores absolutos de los ajustes de las

porcentaje. Proporciona una indicacin de cuan grandes son los errores de pronstico comparados con los valores reales de la matemtica es: serie (Ver [WEB004]). La expresi n

MAE (Mean Absolute Error) : se calcula el error para cada prediccin y se realiza la media (Ver [WEB005]). Su expresin matemtica:

MSE ( Mean Squared Error) : consiste en la suma de las diferencias al cuadrado entre lo real y lo proyectado por el modelo. Cada error o residual se eleva al cuadrado, luego estos valores se suman y se divide entre el nmero de observaciones. Este enfoque penaliza los errores mayores de pronsticos, ya que eleva cada uno al cuadrado (Ver [WEB006]). Expresado matemticamente sera:

donde,

46

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6.4. Simulacin
Se presenta el diseo de todo lo referente a la realizacin de una simulacin y la carga de la misma en este apartado.

6.4.1. Simulacin Al realizar una simulacin el usuario podr comprobar los resultados de aplicar el modelo a un periodo de tiempo pasado. Por lo tanto a la hora de realizar una simulacin es necesario que existan en el sistema dos variables: los histricos y un modelo. Despus de realizar la simulacin la aplicacin guardar toda la informacin en un fichero ubicado en la carpeta de sesin. La identificacin de este fichero sigue el estndar presentado en el apartado anterior 6.3 Modelo . La nica diferencia reside en que la primera parte del identificador en este caso ser SIMULACION. Por lo tanto el nombre final de dicho fichero tendr el siguiente aspecto: SIMULACION-AAAAMMDD T HHMMSS- nombre

Existen varias opciones que son comunes a cualquier simulacin que el usuario pueda realizar: Periodo de la simulacin. Comisin del broker por operacin. Impuestos, como por ejemplo el IRPF.

47

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

Una vez fijados los parmetros de estas variables comunes a todas las simulaciones, el usuario podr escoger entre dos situaciones de partida diferentes: En la primera situacin, el usuario simula un periodo de tiempo introduciendo en el sistema nicamente el capital que desea invertir. Para la otra situacin, el usuario inicia la simulacin teniendo compradas dos empresas. En este modo el usuario debe introducir en el sistema ms informacin referente a las empresas en las que ha invertido, la cantidad de acciones compradas en su momento y al precio al que se compraron.

6.4.2. Carga Para la carga de una simulacin no ser necesaria la existencia de histricos ni de un modelo en el sistema. Despus de cargar una simulacin se reflejar un resumen de la misma en el panel de resumen de variables.

6.4.3. Diagrama de Flujo de Datos

1. Seleccionar Opciones de Simulacin

Opciones

2. Realizar Simulacin

Simulacin

3. Guardar Simulacin 4. Cargar Simulacin

HISTRICOS

MODELO

SIMULACIN

Ilustracin 13. DFD Simulacin

48

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6.5. Resultados
La aplicacin generar los resultados de la simulacin en el momento que el usuario desee visualizarlos por primera vez. Tras esta operacin la aplicaci n almacenar los resultados en la carpeta de sesin para mejorar el rendimiento del sistema en futuras visualizaciones. Dado que los resultados que se generan son abundantes, se ha decidido crear una subcarpeta dentro de la carpeta de sesin que almacene todos estos ficheros. Dicha carpeta seguir con el estndar de identificacin empleado hasta el momento, as que la apariencia del nombre de la misma se asemejar a: R-SIMULACION-AAAAMMDD T HHMMSS- nombre 10

La lista de ficheros que se incluirn en esta carpeta es la siguiente: aciertos.mat bajadasacertadas.mat beneficios.mat dineroybeneficio.mat MAE.mat MAPE.mat MSE.mat numerodeposiciones.mat subidasacertadas.mat

Este nombre , a diferencia de los anteriores nombres que eran escogidos por el usuario, se generar automticamente a partir del nombre que haya recibido la simulacin a partir de la cual se obtienen los resultados.
10

49

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

El usuario al igual que en el resto de mens podr escoger entre varias opciones a la hora de visualizar los resultados. Es posible obtener una visin global de la situacin en la que se resuma, para todas las empresas, cual ha sido el beneficio obtenido, el nmero de veces que se ha invertido en cada empresa, la cantidad de aciertos obtenidos a la hora de predecir subidas y bajadas en los precios y la inversin media en cada una de las empresas. Otra opcin ser elegir una de las empresas contempladas en el modelo y observar la evolucin del capital en la compaa, ver detalladamente en que momentos se ha invertido en dicha empresa y un resumen con el nmero de posiciones totales en la compaa, los errores anteriormente comentados para dicha prediccin y las subidas y bajadas acertadas en comparacin con el total de predichas.

6.5.1. Diagrama de Flujo de Datos La visualizacin de resultados sigue el DFD:

1. Calcular Resultados

Resultados

2. Seleccionar Opciones de Visualizacin

Resultados y Opciones

SIMULACIN

3. Visualizar

Ilustracin 14. DFD Resultados

50

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

6.6. Sistema de Decisin


La problemtica de mejorar el sistema de decisin se resolver tras la implantacin de dos medidas que causarn cambios significativos en los resultados. La primera medida a tomar para mejorar el sistema es que despus del trascurso de un da de Bolsa, el modelo se vuelva a reentrenar con los nuevos datos histricos. De este modo se asegura un modelo actualizado al mximo cuyas predicciones sern ms prximas a la realidad que si se intenta predecir los precios con un modelo obsoleto. En el trascurso de una simulacin off-line se produce un reentrenamiento del modelo al finalizar cada da de simulacin. De esta misma manera debe suceder cuando la aplicacin est en tiempo real. Se ha decidido guardar el modelo reentrenado para disponer de modelos actualizados tras cada simulacin, dicho modelo al igual que pasara con el anterior, se almacenar en la carpeta de sesin y su identificador, siguiendo con el estndar ser:

MODELO-R-( nombre1 )- AAAAMMDD T HHMMSS- nombre2 En este caso nombre1 y nombre2 tambin son asignados automticamente por el sistema. El primero, nombre1 , identifica al modelo con el que se ha realizado la simulacin y cuyos valores se han actualizado. El segundo nombre, nombre2 , identifica el nombre de la simulacin que ha provocado el reentrenamiento.

51

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

La segunda medida trata de descartar aquellas empresas cuya prediccin no sea del todo buena. El criterio para descartar empresas consistir en prescindir a la hora de tomar la decisin de inversin de aquellas empresas cuyos errores (cualquiera de los tres explicados anteriormente: MAPE , MAE, MSE) sean mayores que los errores producidos por la prediccin ingenua. De este modo se descartan a priori aquellos valores que el modelo no termina de ajustar con precisin.

6.7. Tiempo Real


El funcionamiento de la aplicacin en tiempo real se asemejar en gran medida a la simulacin de un periodo off-line. Las principales diferencias son que en este caso las rutinas de Visual Basic proporcionarn los datos de las empresas cada cinco minutos y el modelo tendr que ser capaz de disponer de una prediccin en menos de los siguientes cinco minutos para que la prediccin tenga sentido en el tiempo. Requisitos indispensables para el correcto funcionamiento del tiempo real son: conexin a internet fiable y tener un modelo cargado en memoria con el que realizar las predicciones.

6.7.1. Diagrama de Flujo de Datos El tiempo real funcionar segn el siguiente DFD:

52

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Diseo.

1. Descaga Histricos

2. Espera 5 minutos

MODELO TXT HISTRICOS

RDENES

3. Prediccin

Ilustracin 15. DFD Tiempo Real

6.8. Diagrama de Flujo de la Aplicacin


El diseo del men de la aplicacin seguir el siguiente patrn:

Ilustracin 16. Men de la aplicacin

53

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

7. DESARROLLO
Se expone en este apartado el desarrollo del sistema para cada tarea en las que se ha fragmentado el trabajo.

54

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

7. Desarrollo

7.1. Introduccin
El desarrollo de la aplicacin se he realizado siguiendo las indicaciones hechas en el diseo. Las dudas surgidas a lo largo de la programacin han sido resueltas en diferentes reuniones que tambin han servido para dar por finalizadas las tareas. La aplicacin principal se ha programado en Matlab y en este captulo se podr apreciar el resultado final del interfaz grfico as como tambin partes del cdigo que se consideran relevantes. A lo largo del desarrollo de la aplicacin se ha realizado un arduo trabajo de adaptacin del cdigo entregado en el proyecto [HORN08] ya que en dicho proyecto se trabaj con y para unos datos concretos. De tal forma, muchas de las funciones estaban adaptadas para dichos datos y ha sido necesario modificar tanto la lgica como la estructura de las mismas. En la lectura de [HORN08] se podrn encontrar muchas diferencias entre el cdigo presentado en dicho proyecto y en el que a continuacin se presenta, aunque se han mantenido los nombres de las funciones para facilitar su entendimiento al lector.

7.2. Histricos
7.2.1. Inicio de Sesin En captulos anteriores se haca referencia a una carpeta de sesin y es aqu cuando se explica el sentido de la misma. Cada vez que el usuario

55

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

comience una sesin se crear una carpeta en la que se ir almacenando todo lo referente a la misma. De esta forma la sesin no comienza hasta que no se haya definido esta carpeta, bien con el nombre que el sistema le asigna automticamente, bien con un nombre escogido por el usuario. Por defecto, el nombre del directorio ser la fecha y hora en la que se inicie la sesin.

Ilustracin 17. Carpeta de sesin

Dicha carpeta se crear dentro de una carpeta designada para guardar todas las sesiones en la siguiente ruta:

C:\ws_SI\

Esta carpeta se crear automticamente la primera vez que se inicie la aplicacin. El nombre de la misma se compone de dos partes abreviadas, la primera ws , espacio de trabajo en ingls workspace y la segunda de Sistema de Inversin. Una vez iniciada la sesin la apariencia de la aplicacin es la siguiente:

56

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Ilustracin 18. Apariencia de la aplicacin

7.2.2. Resumen de Variables Como ya se explic en el diseo, se considera necesario disponer en todo momento de informacin referente a las variables cargadas en el sistema por el usuario como podran ser: direccin de la carpeta de sesin, histricos, modelos, simulaciones Se ha programado en el interfaz un panel situado a la derecha en el que aparecer toda la informacin necesaria para el usuario.

57

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Ilustracin 19. Resumen de variables

7.2.3. LOG de Sesin Al iniciar la sesin se activa el botn para consultar el log . Dicha accin se realiza con la funcin siguiente:
function verLog_Callback(hObject, eventdata, handles) !write LOG.txt

58

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Los mensajes que el log guardar sern del tipo siguiente:

LOG 27-Jul-2009 =============== 27/07 12:33:14 -> 27/07 12:33:36 -> 27/07 12:33:48 -> 27/07 12:33:48 -> 27/07 12:37:00 -> 27/07 12:37:00 -> 27/07 12:37:01 -> 27/07 12:37:01 -> 27/07 12:37:37 -> 27/07 12:37:37 ->

WORKSPACE establecido en: C:\ws_SI\20090727 Comienzo de la carga del MODELO. Exito en la carga. MODELO: C:\ws_SI\20090726-00.39.37-MODELOLAST.mat Comienzo de la carga de HISTRICOS. Importacin de histricos homogeneizados. Exito en la carga. HISTRICOS: C:\ws_SI\HISTORICO-Crisis.mat. Comienzo de la SIMULACIN. Parmetros de Entrada: Fecha Inicio: 02/01/2008 Fecha Fin: 29/08/2008 Comisin del Broker(%): 0.05 IRPF(%): 18 Situacin de partida: Sin Empresas Dinero a invertir: 10000.

En cada una de las funciones que se ha considerado preciso que escriban en el log se ha situado una llamada a guardarLog(mensaje), que escribir el mensaje que se coloque en los argumentos junto a informacin del da y la hora en la que se almacen dicho informacin.

7.2.4. Carga de Histricos La carga de los histricos se puede realizar, como se explicaba en el diseo, a partir de los histricos en formato texto o a partir de una variable de los mismos previamente guardada. El men que se presenta a continuacin del interfaz dispone ambas funciones. La primera de ellas realiza la carga a partir de los ficheros de texto, la segunda a partir de la variable de Matlab almacenada con anterioridad.

59

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Ilustracin 20. Vista de la carga de histricos

Cuando la carga se haya realizado correctamente aparecer un mensaje como el que ilustra la siguiente imagen:

Ilustracin 21. Mensaje tras la carga

Dependiendo que tipo de carga se realice, los datos que la aplicacin carga en memoria son distintos, siendo en ambos casos el resultado una variable global con el nombre HISTORICOS. Si se desea cargar los ficheros de texto se debe cargar una carpeta que contenga dichos ficheros para llamar a la funcin homogeniza(carpeta). Sin embargo, si se decide cargar el fichero previamente guardado, slo ser necesario conocer la ubicacin del mismo. En el siguiente cuadro de texto se identifican las diferencias entre una y otra llamada:

60

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

%Carpeta dir_carp = uigetdir(raiz); %Fichero [fichero dir_carp] = uigetfile(raiz);

Slo cuando el usuario decida cargar los ficheros de texto, la aplicaci n guardar la variable con los histricos en la carpeta de sesin. De una forma resumida la carga de los ficheros de texto se podra reflejar con el siguiente cdigo:

global HISTORICOS; HISTORICOS = homogeniza(carpeta); save(ruta,'HISTORICOS');

La funcin homogeniza estructura los datos y elimina posibles errores en los mismos, ya que, en ocasiones, en ciertos periodos de tiempo no se dispone de informacin burstil y si no se eliminaran dichos periodos podra producir consecuencias inesperadas en la aplicacin.

7.2.5. Visualizacin de Histricos La visualizacin de histricos se ha ceido estrictamente a lo recomendado en el diseo. El objetivo final de este apartado es dar la opci n al usuario de visualizar los histricos de las empresas siempre que lo precise. La apariencia principal de este men es:

61

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Ilustracin 22. Visualizacin de histricos

Se ha programado que el usuario pueda escoger entre todas o algunas de las empresas, el periodo de estudio y el precio que se quiere impresionar. A todas estas opciones se le aade la posibilidad de realizar una comparativa entre compaas. La grfica siguiente refleja una comparativa de histricos entre dos compaas. Si se hubiesen aadido ms empresas a la grfica, el usuario tendra una visin global de la situacin en el momento de tiempo escogido.

62

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Ilustracin 23. Comparativa entre Acciona y Acerinox a 245 das

El resultado de dicha grfica se consigue a travs de dos funciones que se encuentran en el siguiente cuadro de texto. La primera se encarga de obtener los datos introducidos por el usuario, mientras que la segunda es la encargada de realizar la grfica.

[EMPRESAS,GRAFICO,TIPO_PRECIO,FECHAI,FECHAF]= obtener_datos(handles,HISTORICOS); grafica(HISTORICOS,EMPRESAS,GRAFICO,TIPO_PRECIO,FECHAI,FECHAF);

7.3. Modelo
En este apartado se explicar cmo se ha llevado a cabo el desarrollo de todo lo referente al modelo. La mayor carga de trabajo ha estado en el entrenamiento ya que la carga de un modelo entrenado previamente se asemeja, a grandes rasgos, a la

63

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

carga de histricos guardados con anterioridad (lo mismo ocurrir en la carga de simulaciones). Si se intenta acceder al men referente al modelo y an no se han cargado los histricos, se ha programado un aviso para informar al usuario de que sin histricos solamente ser posible la carga de un modelo entrenado con anterioridad.

Ilustracin 24. Mensajes de aviso

Mensajes con este formato aparecen siempre que el usuario intente realizar alguna accin que requiera la carga de algn fichero que no se haya hecho. Tras el entrenamiento o la carga de un modelo, la aplicacin dispondr de una variable global referente al mismo, denominada modelo .

7.3.1. Entrenamiento del Modelo La programacin del entrenamiento del modelo ha contemplado toda la casustica explicada en su diseo. Por lo tanto, el usuario podr escoger entre varias opciones a la hora de entrenar el modelo. Estas opciones son las siguientes: Fecha inicio. Nmero de periodos 11.

Se ha programado que al introducir el nmero de periodos, para orientar al usuario, se imprima la fecha aproximada a la que se refiere.
11

64

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Porcentaje de datos para entrenamiento. Porcentaje de datos para validacin. Porcentaje de datos para test 12. Show. Epochs . Goal . N de neuronas y funcin de transferencia para cada capa.

Ilustracin 25. Entrenamiendo del modelo

12

El porcentaje del test se genera a partir de los dos anteriores.

65

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

En la ilustracin anterior se puede apreciar el men con el que se representan las opciones. En el momento que el usuario empiece el entrenamiento, existe una funcin que verificar que todos los datos introducidos son correctos.
[er1,er2,er3,er4,er5,er6,er7] = comprobarErrores(handles,HISTORICOS);

La funcin principal que finalmente realiza el entrenamiento es:


[redneuronal,normaliza,tr,precio_real,P] = entrenared(HISTORICOS,fechascon(fecha),173000,nperiodos,for1, for2,testf,goal, epochs, show, nn1, ft1, nn2, ft2, nn3, ft3);

7.3.2. Carga del Modelo La carga del modelo se realiza de una forma muy parecida a la carga de histricos. Por lo tanto en esta parte ha sido posible la reutilizacin de cdigo dentro de la misma aplicacin. La ilustracin del men de carga del modelo es la siguiente:

Ilustracin 26. Carga del modelo

66

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

7.3.3. Gestin de Modelos Cuando el usuario tenga cargado un modelo en la aplicacin, se ha desarrollado la posibilidad de ver la calidad del ajuste del mismo. Para dicho interfaz, se ha reutilizado parte del cdigo empleado en la visualizacin de histricos porque, de la misma manera que en lo anterior, el usuario escoga entre otras opciones si ver todas o algunas empresas, el tipo de precio que se mostraba y si quera las grficas individuales o una sola para comparar entre compaas, en este men se permiten esas mismas opciones.

Ilustracin 27. Interfaz de la gestin de modelos

La novedad en este apartado radica en la posibilidad de ver los errores que comete el modelo. Dichos errores son los explicados en apartados anteriores y se facilita al usuario graficas diferentes para los errores que comente el modelo con datos con los que se ha entrenado (porcentaje de datos para entrenamiento y validacin) y los errores que comete con datos que jams

67

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

han pasado por el modelo (porcentaje de datos para test). En ambos casos se enfrentan dichos errores a los cometidos por la prediccin ingenua. Se ha decidido, para la comodidad del usuario a la hora de estudiar la grfica, dibujar en rojo aquellos errores que sean mucho ms grandes que el error cometido por la prediccin ingenua, en azul aquellos que siendo mayor su valor, se aprecia en la grfica y en verde aquellos que mejoran el error cometido por la ingenua. Cuando el usuario quiera apreciar el ajuste del modelo, aparecer una grfica similar a la siguiente:

Ilustracin 28. Ajuste del modelo para la compaa Acciona

68

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Las tres grficas superiores representan en primer lugar la cotizaci n real, la prediccin del modelo y la prediccin ingenua; la segunda grfica la cotizacin real y la prediccin del modelo; mientras que la tercera representa la cotizacin real y la prediccin ingenua. Las tres grficas inferiores, constituyen el error de las tres primeras respectivamente. El cdigo Matlab que permite esta accin es:
[EMPRESAS,GRAFICO,TIPO_PRECIO] = obtener_datos_gm(handles); grafica_gm(EMPRESAS,GRAFICO,TIPO_PRECIO,modelo);

El lector podr apreciar lo semejantes que son las funciones explicadas en el captulo 7.2.5. Visualizacin de histricos y las ahora comentadas, ya que se ha intentado reutilizar el mximo cdigo posible. Al igual que con los histricos, la primera funcin obtener_datos_gm(handles), recoge los datos introducidos por el usuario, mientras que la segunda funcin, grafica_gm(EMPRESAS,GRAFICO,TIPO_PRECIO,modelo), se encarga de realizar la grfica. Las grficas de los errores se crean en el momento del entrenamiento y se almacenan en un fichero que lleva el mismo nombre que el modelo acompaado de: ENTRENAMIENTO: se trata de la grfica con los errores cometidos por el modelo con los datos que ya conoce. VALIDACIN: grfica con los errores cometidos con datos desconocidos. REENTRENAMIENTO: grfica tras el reentrenamiento del modelo. La grfica con los errores es la siguiente:

69

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Ilustracin 29. Errores del modelo en la parte del entrenamiento

7.4. Simulacin
Al igual que pasaba con el modelo, si el usuario trata de realizar una simulacin sin tener cargado el modelo, el sistema avisar de que no es posible y que tan solo podr cargar otra simulacin. El cdigo que genera estos tipos de aviso es:
warndlg(mensaje,'Warning');

Ilustracin 30. Aviso del sistema

70

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

7.4.1. Simular un Periodo Como se explic en el diseo, para realizar una simulacin deben existir unos datos histricos y un modelo cargados en la aplicacin. Una vez cumplidos los requisitos, el usuario, como pasaba en los mens anteriores, escoger entre varias opciones. Las opciones bsicas para realizar una simulacin son: Periodo: fecha de inicio y fin de la simulacin. Comisiones del broker por operacin. Impuestos del tipo IRPF. Situacin de partida: comenzar la simulacin con empresas en cartera o sin empresas.

Ilustracin 31. Men de simulacin

71

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

En la imagen anterior se aprecia la situacin de partida en la que el usuario no dispone an de ninguna compaa. La imagen siguiente representa la opcin de disponer, previo a simular, de alguna compaa y los datos que sern necesarios introducir en tal caso.

Ilustracin 32. Situacin de partida con compaas compradas

La funcin principal del cdigo que se encarga de realizar la simulacin es la siguiente:


[VALORES, POSICIONES, modelo] = modoprueba(str2num(fechascon(fsi)),str2num(fechascon(fsf)), HISTORICOS,comisiones,empresas_seleccionadas,raiz,handles);

7.4.1.1. Control ActiveX Se quiere aprovechar este pequeo apartado para explicar brevemente la programacin de los controles ActiveX que el usuario encontrar a lo largo de la aplicacin principalmente en los calendarios a la hora de escoger periodos o fechas. Los controles ActiveX se crean desde el men de creacin de interfaces de Matlab , que provee al programador de cantidad de dichos controles. El problema surge al no encontrar ninguna forma de ocultar estos controles hasta que no sea necesaria su utilizacin.

72

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

El problema se ha resuelto creando y destruyendo los controles cada vez que eran necesarios o dejaban de serlo. El cdigo que crea los controles y que ha causado tantos problemas en el desarrollo es el siguiente:
handle = actxcontrol('MSComCtl2.DTPicker.2', [180 475 14 14],a,{'CloseUp' 'fechaVerSi'});

7.4.2. Carga de una Simulacin Revisar el apartado 7.3.2. Carga del modelo ya que el interfaz se ha programado de la misma forma dado que era posible reutilizar cdigo y resultaba ms intuitivo para el usuario.

7.5. Resultados
La aplicacin genera los resultados en el instante que el usuario precisa verlos por primera vez, como se explic en el diseo, y los guarda en su correspondiente carpeta. El resumen general, como opcin del usuario, aporta una visin global de la simulacin, y se ha desarrollado para que adems de global sea completa. A pesar de todo, si el usuario necesitara ms informacin sobre un valor en concreto, podr escoger del men una compaa determinada. El interfaz programado para esta funcin es el siguiente:

73

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Ilustracin 33. Visualizar resultados

El resultado final a la hora de visualizar el resumen general se ajusta a las especificaciones hechas en el diseo y es el siguiente:

Ilustracin 34. Resumen de los resultados de la simulacin

74

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Adems del resumen anterior, en el que una grfica representa el beneficio aportado por cada compaa, se le presenta al usuario una evolucin del mismo en la siguiente grfica:

Ilustracin 35. Beneficio tras simulacin de un mes

La parte del cdigo que genera estas grficas es:


resultadojunto(subidasacertadas,bajadasacertadas, aciertos,numerodeposiciones,beneficios,simulacion); verDineroBenefico(dineroybeneficio);

La primera funcin hace referencia a la primera grfica explicada y la segunda funcin a la ltima grfica sobre la evolucin del beneficio.

75

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

Cuando el usuario escoja la opcin detallada sobre una compaa, el resultado, ajustndose al diseo, ser el siguiente:

Ilustracin 36. Detalle de una compaa

Dnde la grfica de la izquierda representa el capital invertido en cada periodo de tiempo y la otra grfica la evolucin del beneficio aportado por dicha empresa.

76

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

7.6. Sistema de Decisin


Las dos modificaciones principales introducidas en el sistema de decisin han sido las siguientes: Descarte de aquellas compaas en las que la prediccin ingenua tena menor error de ajuste que el modelo. Reentrenamiento del modelo al finalizar cada da. En el modelo anterior, se escogan las empresas segn:

Ilustracin 37. Seleccin de valores modelo anterior

(Fuente: [HORN08])

77

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

En el cdigo actual, previo al anterior rbol de decisin, es posible encontrar:


if(MAPE1(i)>MAPE2(i) || MAE1(i)>MAE2(i) || MSE1(i)>MSE2(i)) ganancias(i,1)=0; else ganancias(i,1)=valores_simulados(i,1)/valores_actuales(i,1); end

Dicho fragmento del cdigo asigna una posible ganancia de cero, en el valor que tenga errores mayores que la prediccin ingenua, por lo tanto, el sistema no lo elegir como uno de los valores ptimos en los que invertir y se mejora as el sistema de decisin. La otra parte del cdigo que optimiza el sistema de decisin es la referida al reentrenamiento del modelo al finalizar cada jornada y que se realiza as:
%ACTUALIZACIN DE LA RED NEURONAL guardarLog('REENTRENAMIENTO del MODELO'); for empresa=1:20 fecha = VALORES{1,i}{1,1}(1,2); [precios]=dame_precios(HISTORICOS,empresa,num2str(fecha), 173000,101); precio_real{1,empresa} = precios; [Matriz_de_entradas,targets]=crea_entradas(precios); Matriz_de_entradas=Matriz_de_entradas'; targets=targets'; P=Matriz_de_entradas(3:end,:); T=targets(3,:); [p,PE] = mapstd(P); normaliza{1,empresa}=PE; [t,PS] = mapstd(T); normaliza{2,empresa}=PS; Matriz_de_entradas=Matriz_de_entradas'; PMayus{1,empresa} = P; pn = mapstd('apply',P,PE); tn = mapstd('apply',T,PS); [net, tr] = adapt(redneuronal1{1,empresa},pn,tn); redneuronal{1,empresa}=net; trvar{1,empresa}=tr; end

78

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Desarrollo.

7.7. Tiempo Real


En la presente tarea, se ha trabajado en la lgica del proceso en la aplicaci n Matlab . A falta del desarrollo en Visual Basic de las funciones que descarguen los ficheros de texto, con la informacin de las cotizaciones a intervalos de cinco minutos, la tarea estara finalizada. Se ha programado de tal forma que la aplicacin se mantendr a la espera de la existencia de todos los ficheros con la informacin del periodo. Una vez detectados calcular las predicciones de la misma manera que se realiza en la simulacin. Los datos se mantendrn en otro fichero hasta que finalice el da, ya que al final de cada jornada se reentrena el modelo para que ste no quede obsoleto. Una vez decidida la eleccin de las empresas en las que se invertir se lanzar la orden en Visual Chart para cursarla. La funcin principal que lleva el peso del tiempo real es la siguiente y el lector podr apreciar las semejanzas de la funcin que realizaba la simulacin, ya que a grandes rasgos el proceso es el mismo:
[posicionesydinero,valores]= funcionamiento_tiempo_real(ultimos,redneuronal, normaliza,empresas_seleccionadas,comisiones)

79

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

8. PRUEBAS
Se presenta en este captulo las pruebas unitarias realizadas en cada tarea del proyecto, la prueba global de la aplicacin y los resultados obtenidos.

80

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

8. Pruebas

8.1. Pruebas unitarias


Como la metodologa XP recomienda, para continuar con el proyecto y empezar una nueva tarea, es necesario que la anterior tarea haya cumplido todas las fases y se le haya dado el visto bueno en la etapa de pruebas. A lo largo del trabajo realizado en el proyecto, cada etapa ha ido superando las fases pertinentes, incluida la fase de pruebas. Cada una de las tareas ha sido probada antes de continuar con la siguiente. En el caso de la carga de histricos se trabaj hasta conseguir disponer, en la variable indicada para los mismos, de toda la informacin necesaria para la aplicacin. Este punto se alcanza y se hace saber al usuario que todo est correctamente con el mensaje que aparece en la Ilustracin 20 . Del mismo modo se dio el visto bueno a la visualizacin de resultados por los directores del proyecto a pesar de no conseguir mostrar en el eje de las abscisas la informacin que haca referencia al momento concreto en el tiempo. Este problema se estudi y se intent solucionar, pero un error de las funciones Matlab que ayudaban a conseguirlo, lo impidi. Los mensajes similares al mencionado en la Ilustracin 20 y que se pueden apreciar en otros mens de la aplicacin ( Ilustracin 25 ), ratifican que la carga de los modelos y las simulaciones se realiza correctamente.

81

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

8.2. Prueba global del sistema


En cuanto a las pruebas globales del sistema, se ha facilitado la aplicacin a personas ajenas al proyecto para que navegaran por la aplicacin y realizaran las operaciones que creyeran oportunas en busca de algn fallo en la lgica global de la aplicacin. Estas sesiones han sido controladas por el desarrollador de la aplicacin y en todos los casos han resultado satisfactorias ya que la aplicacin se ha comportado como se haba diseado.

8.3. Resultados
En este apartado, se presentarn los resultados obtenidos en algunas de las simulaciones realizadas con la aplicacin. Ms concretamente, se presentarn las simulaciones de los meses de enero, febrero y marzo de 2008, con un modelo entrenado hasta finales de 2007 y una inversin inicial cada mes de 10.000 . Tambin se facilitar, en el ltimo subapartado, una comparacin entre los resultados obtenidos en enero de 2008 con la lgica del trabajo [HORN08], en el que no se reentrenaba el modelo ni se descartaban valores en funcin de los errores, y los obtenidos con la aplicacin actual.

8.3.1. Enero 2008 En primer lugar, se presenta la grfica de los histricos con las 20 empresas estudiadas, para apreciar a grandes rasgos la tendencia en dicha fecha.

82

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

Ilustracin 38. Enero 2008

83

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

El resumen de la simulacin es el siguiente:

Ilustracin 39. Resumen simulacin enero 2008 invirtiendo 10.000

Segn los resultados, la aplicacin sera capaz de conseguir un 160% de rentabilidad, ya que invirtiendo 10.000 a principios de enero 13, consigue un beneficio de aproximadamente 16.000 . Se aprecia que la inversin se centra en 8 compaas. La ms escogida es Ferrovial 14 que produce unas prdidas superiores a 5.000 , mientras que la que ms beneficio reporta es Gas Natural, se confa en ella unas 300 veces y su beneficio final supera los 7.000 .

Se dice a principios ya que todo el beneficio obtenido en cada operacin se reinvierte en la siguiente. 14 Identificacin de empresas: 1.Acciona; 2.Acerinox; 3.ACS; 4.Bankinter; 5.BBVA; 6.Endesa; 7.FCC; 8.Ferrovial; 9.Gamesa; 10.Gas Natural; 11.Iberdrola; 12.Iberia; 13.Inditex; 14.Indra; 15.Popular; 16.Red Elctrica; 17.Repsol; 18.Santander; 19.Telefnica; 20.Unin Fenosa.
13

84

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

El porcentaje total de aciertos supera el 60%. La evolucin del beneficio a lo largo del periodo es:

Ilustracin 40. Evolucin del beneficio en enero 2008

85

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

8.3.2. Febrero 200815

Ilustracin 41. Febrero 2008

15

El modelo con el que se realiza la simulacin es el reentrenado da a da en enero.

86

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

El resumen de la simulacin es:

Ilustracin 42. Resumen simulacin febrero 2008 invirtiendo 10.000

Segn los resultados, se obtendra un 70% de rentabilidad siguiendo las predicciones de la aplicacin. Se aprecia, en esta ocasin, que la inversin se centra en 9 compaas. En la que ms se confa es ahora FCC y supone unas prdidas cercanas a 3.000 . De la misma magnitud son las prdidas producidas por Iberia. En esta simulacin existen cuatro compaas cuyos beneficios superan los 2.000 , tres de ellas llegando casi a los 4.000 (Bankinter, Repsol y Telefnica). El porcentaje de aciertos se mantiene con respecto al del mes anterior.

87

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

La evolucin del beneficio en febrero es:

Ilustracin 43. Evolucin del beneficio en febrero 2008

88

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

8.3.3. Marzo 200816

Ilustracin 44. Marzo 2008

16

El modelo con el que se realiza la simulacin es el reentrenado da a da en febrero.

89

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

El resumen de la simulacin es:

Ilustracin 46. Resumen simulacin marzo 2008 invirtiendo 10.000

En este periodo se obtiene una rentabilidad cercana al 50%. Nuevamente la compaa en la que ms veces se invierte, casi 800 veces, genera unas prdidas que superan los 2.000 . La empresa que destaca en este periodo es nuevamente Repsol ya que invirtiendo algo ms de 400 veces en dicha compaa se obtiene un beneficio superior a 1.000 . Recordar al lector la aparicin de la crisis financiera a principios de 2008, debido al colapso de la burbuja inmobiliaria en Estados Unidos en el ao 2006, que provoc, aproximadamente en octubre de 2007, la llamada crisis de las hipotecas subprime (Ver [WEB005]).

90

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

La evolucin del beneficio en marzo es la siguiente:

Ilustracin 47. Evolucin del beneficio en marzo 2008

91

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

8.3.4. Comparativa En esta ocasin, la comparativa se realiza con una inversin inicial de 50.000 en ambos casos. El periodo simulado se trata de enero de 2008, ms concretamente para la aplicacin anterior el periodo est comprendido entre el 3 y el 31 de enero, mientras que para la presente aplicacin el periodo esta acotado entre el 7 y el 25 del mismo mes. Como se dijo anteriormente, los resultados son los conseguidos con la actual aplicacin y con su predecesora.

Ilustracin 48. Resumen de resultados con el sistema anterior

92

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

Ilustracin 49. Resumen de resultados con el sistema actual

Las diferencias son considerables a todos los niveles. En el primer caso, se observa como la aplicacin invierte en 19 de las 20 compaas debido a que no realiza ningn tipo de descarte previo en funcin de los errores cometidos por el modelo. El beneficio total con este supuesto asciende a algo menos de 16.000 lo que supone un nada despreciable 30%. La empresa que acumula mayores prdidas es aquella en la que ms veces se confa, invirtiendo casi 1.500 veces a lo largo del periodo. Las prdidas no alcanzan los 2.000 . El beneficio mximo reportado por una sola empresa alcanza escasamente los 1.000 . Sobre la grfica de subidas acertadas y bajadas acertadas, en ciertas compaas el modelo no es capaz de acertar ninguna.

93

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Pruebas.

Con el modelo actual, el sistema decide invertir tan solo en 8 de las 20 compaas. A pesar de todo, Ferrovial vuelve a ser la opcin ms elegida a la hora de invertir y causa unas prdidas superiores, en este caso, a 25.000 . La rentabilidad a final de mes asciende al 160% consiguiendo unos beneficios superiores a 80.000 . Gas Natural contribuye a estas cifras con un aporte cercano a 40.000 del beneficio final. La evolucin de los beneficios, respectivamente, es la siguiente:

Ilustracin 50. Evolucin de beneficios

94

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin del Proyecto.

9. PLANIFICACIN DEL PROYECTO


En este apartado se expondr la estructura de descomposicin del trabajo, el diagrama PERT del proyecto y las responsabilidades del mismo.

95

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin del Proyecto.

9. Planificacin del proyecto

9.1. Estructura de Descomposicin del Trabajo (EDT)


Para realizar la planificacin del proyecto, hay que empezar por realizar una EDT , en gestin de proyectos se trata de una estructura de descomposicin del trabajo. Segn [A_MUO], se trata de una estructura exhaustiva, jerrquica y descendente formada por los entregables a realizar en un proyecto. La EDT es una herramienta muy comn y crtica en la gestin de proyectos. El propsito de una EDT es documentar el alcance del proyecto. Su forma jerrquica permite una fcil identificacin de los elementos finales. Siendo un elemento exhaustivo en cuanto al alcance del proyecto, la EDT sirve como la base para la planificacin del proyecto. Todo trabajo hecho en el proyecto debe poder rastrear su origen en una o ms entradas de la EDT. Una EDT es una presentacin simple y organizada del trabajo requerido para completar el proyecto. Existen muchas maneras de organizar la presentacin de este trabajo. Por ejemplo, se puede organizar de acuerdo a los Grupos de Proceso del ciclo de vida del proyecto o de las fases (Inicio, Planificacin, Ejecucin, Control y Cierre), mostrando cada fase como un elemento del nivel ms alto. Otra forma de organizarla es teniendo en cuenta las responsabilidades funcionales. Algo importante de recordar es que la EDT documenta el alcance del proyecto, no su plan de ejecucin. La estructura del proyecto se refleja en la imagen que aparece a continuacin:

96

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin del Proyecto.

Ilustracin 51. EDT del proyecto

A continuacin se detallan los diferentes paquetes de trabajo: WP-01 Gestin del proyecto Este paquete se descompone en el seguimiento y la realizacin de la documentacin del proyecto. WP-01.01 Lanzamiento del proyecto: esta actividad consta de las primeras reuniones para dar comienzo al proyecto.

97

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin del Proyecto.

WP-01.02 Seguimiento del proyecto: esta actividad consta de la realizacin de todos los informes de seguimiento y procedimientos de control estipulados para realizar el control del proyecto. El seguimiento ser peridico y se realizar con el director de proyecto. WP-01.03 Documentacin del proyecto: la documentacin se intentar realizar de forma constante a lo largo del periodo de duraci n del proyecto.

WP-02 Extreme Programming La planificacin, el diseo, el desarrollo y las pruebas son partes del actual paquete. WP-02.01 Planificacin: durante esta fase se planificarn las diferentes tareas a la hora de llevar a cabo el proyecto. WP-02.02 Diseo: en este paquete de trabajo se estudiarn las necesidades del proyecto, diseando la aplicacin en funcin de dichas necesidades de rendimiento, seguridad y velocidad. WP-02.03 Desarrollo: en este paquete de trabajo se desarrollarn todos los algoritmos y necesidades estipuladas en el diseo mediante la tecnologa elegida. WP-02.04 Pruebas: durante esta fase se aplicarn test de pruebas que el sistema deber superar. Una vez realizadas las pruebas, se documentarn y se estudiarn los resultados obtenidos.

WP-03 Cierre del proyecto Se realizarn las tareas necesarias para dar por terminado el proyecto.

98

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin del Proyecto.

9.2. Diagrama PERT


La Tcnica de Revisin y Evaluacin de Programas ( Program Evaluation and Review Technique ), comnmente abreviada como PERT, es un modelo para la administracin y gestin de proyectos inventado en 1958. PERT es bsicamente un mtodo para analizar las tareas involucradas en completar un proyecto dado, especialmente el tiempo para completar cada tarea, e identificar el tiempo mnimo necesario para completar el proyecto total. Antes de la presentacin del PERT del proyecto, se explica brevemente el significado de los diagramas que aparecern con la siguiente ilustracin:

Ilustracin 52. Significado del PERT


(Fuente: [A_MUO])

Gracias al margen que se calcula en los ltimos pasos del mtodo, se puede detectar cual es el camino crtico del proyecto. El camino crtico no puede sufrir ningn tipo de variacin temporal, ya que arrastrara esa diferencia a la entrega final de proyecto.

99

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin del Proyecto.

El diagrama PERT del proyecto es el que sigue:

Ilustracin 53. PERT del proyecto

Como se puede observar, la realizacin del proyecto dura aproximadamente 11 meses, el comienzo del proyecto se estipula en la aceptacin por parte del director del proyecto y la puesta al da con la informacin de proyectos anteriores. No existen grandes paquetes de trabajo en paralelo, ya que el WP-01.02 trata de las reuniones que se han mantenido con los directores a lo largo del trabajo y el WP-01.02 es la realizacin de la memoria. Debido a la metodologa XP, se debe pasar los paquetes de trabajo 02.01 , 02.02 , 02.03 y 02.04 , referentes a la planificacin, el diseo, el desarrollo y las

100

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin del Proyecto.

pruebas, las veces que sean necesarias para finalizar el proyecto. La estimacin final de tiempo que se empea en cada una de estas tareas es la que se indica en la figura anterior. Por lo tanto el camino crtico est compuesto por las tareas cuyo margen es 0 y se remarcan en rojo: Lanzamiento del proyecto ( WP-01.01) , Planificacin (WP-02.01) , Diseo ( WP-02.02) , Desarrollo ( WP-02.03) , Pruebas ( WP-02.04) y Cierre del proyecto ( WP-03) . A continuacin se muestra el reparto de meses estimado a cada paquete de trabajo durante el periodo de 11 meses que dura el proyecto.

Ilustracin 54. Planificacin del proyecto

Por ltimo para dar por terminado este captulo falta complementar la informacin anterior con una tabla de responsabilidades de las diversas tareas.

101

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Planificacin del Proyecto.

9.3. Responsabilidades del Proyecto


A continuacin se muestra la matriz de responsabilidades, dnde se relaciona cada integrante con las tareas en las que participa.

TAREAS / INTEGRANTES WP-01.01 Lanzamiento WP-01.02 Seguimiento WP-01.03 Documentacin WP-02.01 Planificacin WP-02.02 Diseo WP-02.03 Desarrollo WP-02.04 Pruebas WP-03 Cierre

DP1 E-A E-A I-A I I I E-A E-A

DP2 E-A E-A I-A I I I E-A E-A

JPR E-A E-A E E-A I-A I-A I-A E-A

ANA

DIS

PRO

E E I I E E I E E E

Tabla 4. Matriz de Responsabilidades

La notacin de la matriz de responsabilidades es la siguiente: E: C: I: A: La persona o grupo ejecuta la actividad. La persona o grupo debe ser consultado durante la actividad. Se debe informar a la persona o grupo de que decisiones se toman. La persona que tiene la ltima palabra en la aprobacin del resultado.

102

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Asignacin Presupuestaria.

10. ASIGNACIN PRESUPUESTARIA


En este apartado se detalla el esfuerzo requerido para llevar a cabo el proyecto, las tarifas de los participantes y el presupuesto final.

103

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Asignacin Presupuestaria.

10. Asignacin Presupuestaria

10.1. Asignacin horas/hombre


En este apartado se asignar el gasto de horas/hombre que ha requerido cada tarea del proyecto con el fin de ajustar las horas totales del proyecto y poder calcular un presupuesto justificado. Siguiendo el esquema de la Tabla 3 del captulo anterior, se han fijado las horas empleadas por cada participante en las tareas del proyecto, dando como resultado la tabla siguiente, en la que todas las unidades representan horas/hombre:

DP1 WP-01.01 Lanzamiento WP-01.02 Seguimiento WP-01.03 Documentacin WP-02.01 Planificacin WP-02.02 Diseo WP-02.03 Desarrollo WP-02.04 Pruebas WP-03 Cierre Total 5 15 15 10 10 10 5
70

DP2 5 15 15 10 10 10 5
70

JPR 25 15 80 50 40 30 30 5
275

ANA

DIS

PRO

Total
35 45 110 110 165 290 120 15 890

40 40 20 20
120

40 100 20
160

25 120 50
195

Tabla 5. Esfuerzo en horas/hombre

A modo de resumen de la tabla se puede destacar que el proyecto requiere un esfuerzo de horas/hombre de 890, siendo los paquetes ms importantes los referentes al desarrollo y el diseo.

104

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Asignacin Presupuestaria.

Las pruebas tambin son de vital importancia en los resultados de este proyecto.

10.2. Tarifas de los Participantes


Para dar el paso y llegar al presupuesto final es necesario conocer las tarifas de cada uno de los participantes en el proyecto para completar el presupuesto referente a los recursos humanos. Estas tarifas se han fijado de la siguiente manera:

Participante DP1 DP2 JPR ANA DIS PRO

Tarifa ( /hora) 60 60 45 35 30 25
Tabla 6. Tarifas

10.3. Presupuesto Final


Se consigue el presupuesto final calculando el coste total de recursos humanos y otros costes. El coste ms significativo que se puede imputar al proyecto es la tarifa de tener disponibilidad de la bolsa en tiempo real ya que el resto de costes se consideran amortizados. El coste de la bolsa en tiempo real asciende a 60 mensuales. Como se ha contratado durante 3 meses, es necesario imputar al proyecto estos 180 .

105

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Asignacin Presupuestaria.

El coste en recursos humanos del proyecto se calcula multiplicando las horas de cada uno de los participantes en las diferentes tareas por su tarifa. El resultado de esta operacin se representa en la siguiente tabla en la que la unidad es el euro: DP1 WP-01.01 Lanzamiento WP-01.02 Seguimiento WP-01.03 Documentacin WP-02.01 Planificacin WP-02.02 Diseo WP-02.03 Desarrollo WP-02.04 Pruebas WP-03 Cierre Total 300 900 900 600 600 600 300 DP2 300 900 900 600 600 600 300 JPR 1.125 675 3.600 2.250 1.800 1.350 1.350 225 ANA DIS PRO Total 1.725 2.475 5.400 4.850 6.225 9.250 3.900 825 34.650

1.400 1.400 700 700

1.200 3.000 600 4.800

625 3.000 1.250 4.875

4.200 4.200 12.375 4.200

Tabla 7. Coste en recursos humanos

Los costes de personal del proyecto ascienden a 34.650 Como se dijo anteriormente, el coste total del proyecto se consigue aadiendo la cantidad del coste de la bolsa en tiempo real, por lo tanto, el presupuesto final es:

RRHH Bolsa Tiempo Real

34.650 180 34.830


Tabla 8. Presupuesto final

10.4. Conclusin
En definitiva el presupuesto necesario para realizar el proyecto es de 34.830 . El montante principal del presupuesto se imputa a los recursos humanos.

106

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Conclusiones.

11. CONCLUSIONES
En este apartado se expondrn las conclusiones alcanzadas tras finalizar el trabajo.

107

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Conclusiones.

11. Conclusiones
A falta de probar el sistema con el simulador de Visual Chart , que determinar la rentabilidad real, los resultados obtenidos se consideran excepcionales. Estudios posteriores confirmarn la veracidad de los resultados nuevamente, ya que, pese a los esfuerzos realizados a lo largo del proyecto, no se ha encontrado ningn tipo de error en los mismos. A lo largo del proyecto se ha observado la capacidad de ajuste que proveen las redes neuronales en estos tipos de problemas. Durante el trascurso del trabajo se ha podido aprender el lenguaje de programacin matemtico Matlab , aplicando este principalmente a interfaces de usuario y a redes neuronales. Con los que se considera haber realizado un buen trabajo, tanto con la apariencia final de la aplicacin como con la optimizacin del modelo anterior. Se ha profundizado en el inquietante mundo de la bolsa, descubriendo herramientas y sistemas totalmente desconocidos en principio y que ahora son de gran ayuda a la hora de realizar inversiones. A pesar de todo, an queda trabajo por realizar ya que se considera que el proyecto puede mejorar. En el siguiente captulo se recomiendan algunos puntos que tratar en futuros trabajos sobre la materia.

108

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Lneas de Continuacin.

12. LNEAS DE CONTINUACIN


Se presentan en este captulo algunas de las posibles lneas de continuacin del trabajo realizado hasta el momento.

109

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Lneas de Continuacin.

12. Lneas de continuacin


12.1. Finalizar los Mdulos de Visual Basic para Visual Chart
La principal tarea, a la hora de proseguir con los trabajos realizados hasta el momento, debe ser la de finalizar las funciones en Visual Basic para la lgica del tiempo real. Ser necesario desarrollar el mdulo que descargue los histricos de las compaas cada cinco minutos y el encargado de lanzar las rdenes de compra y venta. Cuando el proyecto alcance este punto, ser posible comprobar, ms all de las simulaciones realizadas, la verdadera rentabilidad que el sistema consigue.

12.2. Optimizar Entrenamiento del Modelo


Se considera interesante la posibilidad de optimizar el entrenamiento del modelo para conseguir reducir el tiempo elevado que supone conseguir un modelo que ajuste de manera aceptable. Si se consiguiera reducir dicho tiempo, el usuario dispondra de un mayor nmero de modelos entre los que escoger el mejor para aplicar en el tiempo real. Aunque el modelo se reentrene al finalizar la jornada, existen ciertos parmetros intrnsecos a la estructura y otras propiedades que no lo modifican, para ello es necesario entrenar un modelo desde el comienzo.

110

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Lneas de Continuacin.

12.3. Incorporacin de Nuevas Entradas


Este punto era sugerido en el proyecto anterior, [HORN08], pero se ha credo conveniente posponerlo para futuros trabajos. En dicho proyecto se propuso introducir nuevas entradas al modelo tales como: Variables psicolgicas: poder cuantificar entradas como el da de la semana ya que estudios recientes demuestran diferentes posturas de los inversores en funcin del da en el que se encuentren. Variables meteorolgicas. Variables del sector: en funcin de en qu sector se encuadre cada compaa, aadir entradas con informacin del resto de empresas del mismo sector. Variables de los resultados de la compaa.

12.4. Optimizar la Toma de Decisiones


Se trata de un apartado en el que se ha trabajado a lo largo del actual proyecto, como se ha podido apreciar en captulos anteriores, introduciendo mejoras en el anterior sistema. Pese a ello, se cree oportuno, ya que podra repercutir en los resultados, introducir mejoras en dicho sistema. Sera favorable para la aplicacin introducir medidas de riesgo en cada una de las inversiones que se fueran a realizar o incluso adoptar estrategias diferentes segn el tipo de usuario ya que algunos estarn dispuestos a asumir ms riesgos que otros.

111

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. Lneas de Continuacin.

12.5. Dinamizar las Empresas que Sern Predichas


Debido al carcter dinmico de las empresas que componen el Ibex-35, ya que las 35 mejores empresas este ao no tienen por qu ser las mismas que dentro de cinco aos, sera interesante perpetuar el funcionamiento de la aplicacin pudiendo introducir y eliminar empresas de la aplicacin sobre las que entrenar modelos. A pesar de que una empresa abandone el grupo de empresas que forman el Ibex-35, seguir cotizando en el Mercado Continuo aunque no ser considerada como una de las mejores compaas del parqu espaol.

12.6. Contrastar con otros Modelos


Una vez que el usuario encuentre algunos modelos con los que se consigue un buen ajuste y la potencia de clculo, que seguro se dispondr en aos venideros, ser posible y afinara la prediccin, contrastar los resultados obtenidos por algunos de los modelos antes de realizar una inversin. De este modo se reduce el riesgo de equivocarse en la decisin de invertir en una compaa ya que sern varios los modelos que recomienden su compra o su venta.

12.7. Limitar el Capital Invertido


En el sistema actual todo el dinero que se genere a lo largo de la simulacin se reinvierte en la siguiente operacin. Puede estudiarse la opcin de reservar, a partir de cierta cantidad, parte del capital sin invertir y no asumir tanto riesgo operacin tras operacin.

112

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

13. ANEXO A Manual de Usuario

113

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

13. ANEXO A Manual de Usuario


A lo largo de este manual se detalla toda la funcionalidad de la aplicacin. Una vez arrancado el programa, se solicita al usuario el nombre de la carpeta para el espacio de trabajo de la sesin. Se recomienda al usuario que el nombre sea la fecha y la hora (estos valores aparecen por defecto).

Ilustracin 55. Carpeta de sesin

114

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

Se debe prestar atencin en todo momento al Resumen de Variables que aparece en la parte derecha del interfaz, ya que aportar al usuario informacin sobre el transcurso de la sesin. El botn LOG que aparece a la izquierda del botn Establecer permite al usuario acceder con ms profundidad a toda esa informacin. Una vez establecido el nombre del espacio de trabajo los mens se activan. Se componen de los siguientes puntos: Datos o Cargar o Ver Modelo o Entrenar/Cargar o G de Modelos Simular o Simular/Cargar o Ver Resultados Tiempo Real

13.1. Datos

En esta pestaa el usuario encontrar todo lo necesario para la carga y la visualizacin de los histricos. 13.1.1. Cargar El usuario encuentra la opcin de cargar los datos desde la carpeta dnde los haya descargado (al tratarse de datos en bruto la carga tardar ms) o si ya los ha cargado en alguna ocasin, realizar la carga de los datos homogeneizados.

115

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

13.1.2. Ver17 Existen diferentes opciones de visualizar los histricos, el usuario podr elegir entre ver todas las empresas o elegir las que desee. Tambin podr comparar todas las empresas en un solo grfico o visualizarlas en grficos individuales. Sobre las fechas, se puede ver el mximo periodo existente en los histricos o elegir de un calendario el periodo que se quiera observar. Y por ltimo, el usuario escoger si ver los precios de aperturas de los periodos, los de cierre, los mximos diarios o los mnimos diarios.

Ilustracin 56. Men Datos

17

Ser necesaria la carga de histricos para poder acceder a este men.

116

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

Los resultados a la hora de ver los histricos sern semejantes a los siguientes:

Ilustracin 57. Grfico nico

Ilustracin 58. Comparativa entre empresas

117

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

13.2. Modelo
En esta pestaa el usuario encontrar todo lo necesario para entrenar o cargar un modelo y gestionar los modelos viendo como predicen los mismos datos con los que se ha entrenado.

13.2.1. Entrenar/Cargar El usuario encuentra la opcin de entrenar un modelo en el panel situado a la izquierda o cargar un modelo previamente entrenado en la parte derecha. 13.2.1.1. Entrenar 18 Al entrenar un modelo, el usuario debe introducir los siguientes datos: Fecha final de entrenamiento. Nmero de periodos: nmero de periodos anteriores a la fecha introducida con los que se aplicar el entrenamiento. Conjuntos Entrenamiento: porcentaje de los datos que se emplearn para tal fin. Validacin: porcentaje de los datos que se emplearn para tal fin. Test: porcentaje de los datos que se emplearn para tal fin. Estructura Capa. Nmero de Neuronas. Funcin.

Ser necesaria la carga de histricos para poder acceder a este men, salvo que se desee cargar un modelo previamente entrenado.
18

118

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

Ilustracin 59. Men Modelo I

119

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

13.2.2. G de Modelos 19 Ayuda al usuario a visualizar el tipo de ajuste que realiza un modelo. El men es similar al empleado a la hora de ver los histricos. Existen algunas diferencias, la primera es que no se necesita escoger un periodo de tiempo, ya que se calcula con el total de los datos empleados para el entrenamiento de la red neuronal. La segunda diferencia es, que al visualizar una compaa en funcin de si se desea ver un grfico nico por empresa o una comparativa, los resultados sern distintos. En el primero se podr apreciar una primera grfica con los valores reales y la prediccin y otro grfico con el error cometido, en la comparativa en cambio slo se ver la grfica en la que se enfrentan los valores reales con los predichos.

Ilustracin 60. Men Modelo II

19

Ser necesario el entrenamiento o la carga de un modelo para poder acceder a este men.

120

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

Los resultados a la hora de ver los modelos sern semejantes a los siguientes:

Ilustracin 61. Prediccin de un modelo

Ilustracin 62. Comparativa entre modelos

121

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

13.3. Simular
En esta pestaa el usuario encontrar todo lo necesario para realizar o cargar una simulacin y poder ver los resultados de la misma. 13.3.1. Simular/Cargar El usuario encuentra la opcin de realizar una simulacin en el panel situado a la izquierda o cargar una simulacin previamente realizada en la parte derecha. 13.3.1.1. Simular 20 Al simular, el usuario debe introducir los siguientes datos: Fecha inicio de la simulacin. Fecha final de la simulacin. Comisiones e Impuestos Comisin Broker : porcentaje que gana el broker al realizar cada operacin. IRPF. Situacin de Partida: es posible comenzar la simulacin sin tener ningn capital invertido o empezar disponiendo de acciones de dos compaas. Sin Empresas o Dinero a invertir: dinero que se pretende invertir.

Ser necesaria la carga de histricos y un modelo para poder realizar una simulacin, salvo si se desea cargar una simulacin guardada previamente.
20

122

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

Con Empresas o Empresa: se indica que dos empresas se tienen compradas. o Dinero Invertido: dinero que se ha invertido en cada compaa. o Precio de compra: precio al que se compr cada compaa.

Ilustracin 63. Men Simular

123

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

13.4. Ver Resultados 21


Al seleccionar esta pestaa, se generarn, en la carpeta de sesin, todos los resultados que podrn ser estudiados en grficas, con las opciones que se presentan a continuacin. 13.4.1. Resumen General Al seleccionar esta opcin aparecern dos grficas con la siguiente informacin para el estudio del usuario, en la primera: Aciertos en funcin del total de predicciones. Subidas acertadas. Bajadas acertadas. Beneficio que reporta cada empresa. Nmero de veces que se invierte en cada compaa. Capital medio invertido en cada empresa. En la segunda grfica se presenta una evolucin de los beneficios a lo largo del periodo simulado.

13.4.2. Elegir Empresa Se presenta al usuario informacin detallada de la simulacin sobre la compaa escogida. En concreto dicha informacin hace referencia a: Dinero invertido en cada instante. Beneficio logrado en cada instante. Errores ( MAPE , MAE, MSE) . Subidas acertadas. Bajadas acertadas. Nmero total de inversiones en dicha compaa.
21

Ser necesaria la carga de una simulacin para poder acceder a este men.

124

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

Las ilustraciones siguientes hacen referencia a lo anterior:

Ilustracin 64. Men Ver Resultados

Resultados generados al escoger resumen general:

Ilustracin 65. Evolucin del beneficio

125

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

Ilustracin 66. Resumen general

Ilustracin 67. Informacin Bankinter

126

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO A-Manual de Usuario.

13.5. Otra informacin

La apariencia del resumen de variables, al final de una sesin con todas las variables, tendr la siguiente apariencia:

Ilustracin 68. Resumen de variables

127

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO B-Variaciones de los indicadores respecto al precio.

14. ANEXO B Variaciones de los Indicadores Respecto al Precio

128

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO B-Variaciones de los indicadores respecto al precio.

14. ANEXO B Variaciones de los Indicadores Respecto al Precio


Se aprovecha este anexo para introducir los principales indicadores que se han empleado en el clculo de las entradas del modelo. Para profundizar en el tema se recomienda consultar [CAVA07], [WEB001] y [HORN08].

14.1. ADX (Movimiento Direccional)


El ADX ( Average Directional ), es un indicador que se utiliza para conocer si un valor est en tendencia o no y determinar la fortaleza de la misma. El ADX oscila entre valores comprendidos entre 0% y 100%, y cuanto ms elevado sea su valor ms fuerte ser la tendencia que representa. Valores del ADX por encima de 60 son extraos, y normalmente se considera que un ADX mayor que 40 ya est representando una fuerte tendencia. Por otro lado valores inferiores al 20 representarn tendencias muy dbiles. El valor del ADX va a representar la fortaleza de la tendencia. Para saber si sta es bajista o alcista se tiene que observar el valor de +DI y DI que son dos parmetros que se utilizan en el clculo del ADX. El ADX se sirve de los siguientes parmetros para determinar la fortaleza de la tendencia: DM ( Directional Movement ): el movimiento direccional se trata de la diferencia entre el mximo (o mnimo) de un da determinado respecto al mximo (o mnimo) del da anterior. Como resultado se obtiene +DM y -DM .

Ilustracin 69. Movimiento direccional

(Fuente: [CAVA07])

129

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO B-Variaciones de los indicadores respecto al precio.

TR ( True Range ): segn Wilder el rango verdadero es la mayor de las siguientes distancias: Mximo de hoy y mnimo de hoy. Mximo de hoy y cierre de ayer. Cierre de ayer y mnimo de hoy. DI ( Directional Indicator ): se calcula un DI para cada DM, y el resultado aparece de dividir el movimiento direccional entre el rango verdadero. Resultado de estos clculos se obtiene +DI y -DI .

Ilustracin 70. Seales de compra y venta con ADX


(Fuente: [CAVA07])

14.2. MACD (Convergencia-Divergencia del Promedio Mvil)


El MACD ( Moving Average Convergence/Divergence ) es un indicador que trata de identificar la tendencia en una cotizacin. Este indicador fue desarrollado por Gerald Appel y se vale de medias mviles para identificar la tendencia. El MACD se representa grficamente mediante dos curvas: rpida y lenta. Su expresin estndar consiste en que la curva rpida (llamada MACD y representada como una lnea continua) venga dada por: MACD = MediaExponencial(26) MediaExponencial(12)

130

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO B-Variaciones de los indicadores respecto al precio.

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

Ilustracin 71. Las seales del MACD

(Fuente: [CAVA07])

14.3. OBV (Balance de Volmenes)


El indicador OBV ( On Balance Volume ) se utiliza para determinar el flujo del volumen negociado de una accin. El concepto que hay detrs de este indicador es que el volumen

negociado precede al precio, luego si se estudia los movimientos del volumen negociado se podr predecir variaciones de tendencia en el precio. Este indicador fue introducido por Joe Granville en 1963.
Ilustracin 72. Especulando con el volumen
(Fuente: [CAVA07])

131

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO B-Variaciones de los indicadores respecto al precio.

14.4. RSI (ndice Relativo de Fuerza)


El RSI ( Relative Strengh Indicator ) fue desarrollado por J. Welles Wilder en 1978. El RSI compara la magnitud de las recientes ganancias de una cotizacin con la magnitud de sus recientes prdidas. Esta informacin la expresa mediante un porcentaje. Wilder recomienda trabajar con los 14 ltimos periodos. Para determinar la ganancia o prdida de una cotizacin en un periodo determinado, slo se precisa del valor de cierre del periodo actual y del valor de cierre del periodo anterior. La magnitud de las recientes prdidas/ganancias se determina a partir de los valores de stas en los ltimos 14 periodos.

Ilustracin 73. Indicador RSI


(Fuente: [CAVA07])

14.5. CCI (ndice de Commodities )


El CCI ( Commodity Chanel Index ) es un indicador desarrollado por Donald Lambert, que fue presentado en su libro [LAMB80] y que trata de identificar los ciclos de las commodities . Entendiendo commodity como cualquier accin o bono, en este caso. Este indicador supone que el valor de una accin es, de algn modo, cclico, y que por tanto los mximos y mnimos llegan en intervalos peridicos.

132

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO. ANEXO B-Variaciones de los indicadores respecto al precio.

Lambert recomienda usar un tercio de un ciclo completo (de mnimo a mnimo o de mximo a mximo) como longitud de los intervalos con los que se va a trabajar (ntese que la determinacin de la longitud del ciclo es subjetiva e independiente al clculo del CCI). Si un ciclo completo se da en 60 das (se tiene un mximo o un mnimo cada 60 das), entonces los intervalos de trabajo sern de 20 das.

Ilustracin 74. Seales del indicador CCI

(Fuente: [CAVA07])

14.6. Estocstico
Este indicador fue desarrollado por George C. Lane en el ao 1948. El estocstico ( stochastic ) es un indicador que muestra la localizacin del actual cierre con respecto al mximo/mnimo alcanzado en una serie de periodos anteriores. Los niveles de cierre que estn cerca del mximo indican de

acumulacin

(presin

compradores) y los niveles de cierre que estn prximos al mnimo indican distribucin

(presin de vendedores).

Ilustracin 75. Apertura y cierre de posiciones con el estocstico (Fuente: [CAVA07])

133

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO.

15. BIBLIOGRAFA

134

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO.

15. Bibliografa
15.1. Publicaciones
[BAEZ06] Bez Lpez, David; Matlab con Aplicaciones a la Ingeniera, Fsica y Finanzas , Alfaomega, 2006.

[BARR01]

Barranco de Areba, Jess; "Metodologa del anlisis estructurado de sistemas , Publicaciones de la Universidad Pontifica

Comillas, 2001.

[BECK02]

Beck,

Kent;

"Extreme

Programming

Explicado",

Addison

Wesley, 2002. Cava, Jos Luis; El Arte de Especular , 2007.

[CAVA07]

[CRUZ04]

Cruz Torres, Ivn; "Pronsticos en el mercado de derivados utilizando redes neuronales y modelos ARIMA: una aplicacin al Cete de 91 das en el MexDer", 2004

[CYBE89]

Cybenko,

George; "Approximation by

superposition of a

sigmoidal function ", 1989 Fernndez Hdar, Jos Antonio; Manual del Buen Bolsista , Pearson Prentice Hall, 2007. Garca Estvez, Pablo; Aplicaciones de las redes neuronales a las finanzas , 2002.

[FERN07]

[GARC02]

135

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO.

[GRAH07]

Graham, Benjamin; El Inversor Inteligente , Ediciones Deusto, 2007. Hornedo Lpez-Ibor, Juan; Proyecto Fin de Carrera: Sistema de Inversin en Bolsa a Corto Plazo , ETSI ICAI, 2008. Lambert, Donald; Commodities Channel Index: Tools for Trading Cyclical Trends , 1980. Maraver Baselga, Toms; Proyecto Fin de Carrera: Aplicaci n del Perceptrn Multicapa a la Compra-Venta de Acciones de Bolsa a Corto Plazo , ETSI ICAI, 2007.

[HORN08]

[LAMB80]

[MARA07]

[OLME04]

Olmedo, Elena; Valderas, Juan Manuel; Mateos, Ruth; Gimeno, Ricardo; "Utilizacin de redes neuronales en la caracterizacin, modelizacin y prediccin de series temporales econmicas en un entorno complejo", 2004. Rodrigo, Nuo; La Bolsa Contada con Sencillez , Maeva, 2004.

[RODR04]

[ROSE03]

Rosenberg, Doug; Stephens, Matt; "Extreme Programming Refactored: The Case Against XP", APRESS, 2003. Russel, Stuart; Norving, Peter; Inteligencia Artificial, Un Enfoque Moderno , Pearson Prentice Hall, 2004.

[RUSS04]

136

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO.

15.2. Apuntes
[A_MUO] Muoz Garca, Manuel; Apuntes de la asignatura Gestin de Proyectos Informticos de Ingeniera Informtica en ICAI en el curso acadmico 2008/2009.

[A_SANZ]

Sanz Bobi, Miguel ngel; Apuntes de la asignatura Inteligencia Artificial de Ingeniera Informtica en ICAI en el curso acadmico 2008/2009.

15.3. Pginas Web


[WEB001] www.stockcharts.com

[WEB002] www.info-ab.uclm.es/asignaturas/42551/trabajosAnteriores/Presentacion-XP.pdf

[WEB003] http://www.slideshare.net/joaquin_win/extreme-programming-456979

[WEB004] http://es.wikipedia.org/wiki/Programacin_extrema

[WEB005] http://es.wikipedia.org/wiki/Crisis_financiera_de_2008

[WEB006] http://www.abcbolsa.com/

137

SISTEMA DE INVERSIN EN BOLSA A CORTO PLAZO.

[WEB007] http://inversornovel.blogspot.com/2009/04/sistema-de-inversion-en-bolsa-derobert.html

[WEB008] http://www.pro.softonic.com/windows/bolsa

138

También podría gustarte