HERRAMIENTA INFORMÁTICA DE ANÁLISIS DE SERIES TEMPORALES FINANCIERAS Autor: Vidri Salgado, Ignacio Director: Gascón González, Alberto Coordinador académico: Ortiz, Susana Entidad colaboradora: ICAI Universidad Pontificia de Comillas RESUMEN DEL PROYECTO INTRODUCCIÓN La motivación para realizar este proyecto surge del especial interés del autor por los mercados financieros y más en con concreto por el mercado de renta variable. El principal objetivo de este proyecto es el diseño y el desarrollo de una herramienta informática que sea útil para el análisis de valores cotizados en el mercado de renta variable, concretamente en el S&P500, y que tenga las siguientes características: 1) Que se intuitiva y accesible a todos los usuarios y que este programada en Matlab. 2) Que permita descargar series financieras actualizadas y aplicar sobre ellas diferentes indicadores técnicos. 3) Que incluya varios modelos de regresión lineal para predecir el precio futuro de una acción basándose en precios de cotización históricos. 4) Que permita al usuario crear portfolios y optimizarlos maximizando el Ratio de Sharpe. 5) Que permita al usuario hacer backtesting usando diferentes estrategias de trading. 6) Que sea gratuita (siempre y cuando el usuario disponga de Matlab). METODOLOGÍA Para la consecución de los objetivos de este proyecto se ha seguido la siguiente metodología: 1) Desarrollo del módulo para aplicar modelos de regresión lineal 2) Desarrollo del módulo para optimizar portfolios 3) Desarrollo del módulo para aplicar estrategias de trading 4) Diseño y desarrollo de la herramienta con la implementación de los correspondientes módulos
Desarrollo del módulo para aplicar modelos de regresión lineal Se analizaron varias opciones antes de tomar la decisión de utilizar un modelo de regresión lineal. Se descartó el desarrollo de modelos tipo ARMA o de modelos de regresión neuronal debido a su complejidad y se optó por modelos de regresión lineal multivariantes por su robustez (sabiendo que se sacrificaría precisión). Para la elaboración de los modelos se uso el método de mínimos cuadrados mediante la función regress de Matlab. Se usaron como variables explicativas indicadores técnicos de todo tipo: - Momento: ROC - Tendencia: SMA y EMA - Volumen: OBV y CMF - Volatilidad: VR - Otros: Compare Y se combinaron de 25 formas distintas para analizar 25 modelos diferentes. Se entrenó en primer lugar a todos los modelos con valores históricos de compañías cotizadas en el S&P500 pertenecientes a todos los sectores. Posteriormente se seleccionaron los 11 mejores modelos según su precisión (analizando de forma cuantitativa el R 2 ) y según criterios de robustez (seleccionando de forma cualitativa los modelos con un menor número de variables explicativas) Desarrollo del módulo para optimizar portfolios De forma natural se entiende por portfolio óptimo aquel que para un riesgo determinado proporciona al inversor el mayor rendimiento. En este proyecto, cuando se habla de portfolio óptimo el autor quiere referirse a aquel portfolio que tenga un Ratio de Sharpe máximo, calculándose este ratio de esta forma: RS = E R R! σ El Ratio de Sharpe es el cociente de la rentabilidad media de un activo (restando la tasa de interés libre de riesgo) entre la desviación típica de su rentabilidad, es decir, representa el binomio beneficio/riesgo de un activo o de un portfolio de activos. Para maximizarlo se plantea un problema de optimización no lineal (ya que la función a optimizar es no lineal) y se resuelve mediante la función fmincon de Matlab. Desarrollo del módulo para aplicar estrategias de trading
Este módulo permite al usuario hacer backtesting de estrategias de trading sobre cualquier serie descargada, es decir, permite aplicar estrategias y calcular las ganancias o pérdidas ficticias que se habrían producido de habar aplicado el usuario dicha estrategia sobre el periodo establecido. Se desarrollaron 9 estrategias de trading basándose varias de ellas en el análisis técnico (aplicando indicadores técnicos), otras aplicando los modelos de regresión lineal desarrollados y otras combinando ambas herramientas. Diseño y desarrollo de la herramienta con la implementación de los correspondientes módulos Posteriormente se diseño la interfaz gráfica de la herramienta y se procedió a la implementación de todos los módulos desarrollados. Se adjuntan a continuación algunas imágenes del diseño de la ventana principal : y del diseño de la ventana de Modelos & Estrategias:
RESULTADOS Se analizaron los resultados desde dos puntos de vista. En primer lugar se verificó que la herramienta funcionaba correctamente desde un punto de vista puramente funcional (descargaba las series correctamente, permitía al usuario aplicar lo modelos de regresión lineal y las estrategias de trading desarrollas ). Se realizó después un análisis mas exhaustivo de los rendimientos obtenidos empleando los módulos desarrollados. En contadas ocasiones se obtiene para una serie determinada que más del 30% de las variables explicativas del modelo son relevantes para dicha serie. Para determinar la relevancia de una variable explicativa dentro de un modelo de regresión se ha analizado la amplitud de su intervalo de confianza al 95%. En lo referente a las estrategias, se puede afirmar que en el 95% de los casos se obtienen rendimientos positivos, pero siempre muy bajos, nunca superiores al 1%. Esto era de esperar ya que la precisión de los modelos de desarrollados no es la más adecuada. CONCLUSIONES De este proyecto se puede obtener la conclusión de que, debido a su simplicidad, los modelos de regresión lineal no son los más adecuados para estimar cotizaciones de valores. Aun así, se quiere dejar claro que se han cumplido todos los objetivos del proyecto ya que se ha diseñado y desarrollado desde cero un herramienta que funciona a la
perfección y que se puede continuar perfeccionando en un futuro para hacer de ella una herramienta verdaderamente potente y útil para el análisis de series financieras mediante la estadística y del análisis técnico.
SOFTWARE TOOL FOR THE ANALYSIS OF FINANCIAL TIME SERIES ABSTRACT INTRODUCTION The motivation for this Project comes from the authors interest in financial markets, and more especificallly in the equity markets. The main goal of the Project is to design and develop a software tool useful to analyze listed stocks in the equity market, especifically in the S&P500, and to have the following characteristics 1) To be intuitive and accesible for all users and programmed with Matlab 2) Allow to download updated financial series and apply upon them technical indicators 3) Include linear regression models to predict the future price of stocks based on historical prices 4) Allow the user to create portfolios and optimize them with the Sharpe Ratio 5) Allow the user to backtest different trading strategies 6) Free (if the user has Matlab) METHODOLOGY To accomplish the objectives that have been established for this Project, the following methodolgy has been followed: 1) Development of the linear regression model module 2) Development of the portfolio optimizing module 3) Development of the module to apply trading strategies 4) Design and development of the software tool and the implementation of corresponding modules Development of the linear regression model module Many options were analized before choosing a linear regression model. Both the ARMA and Neuronal Network Regression models were discarded because of their
complexity and instead multivariate linear regression models were chosen due to their sturdiness (knowing that precisión would be sacrificed). For the elaboration of the models the mínimum square method was applied via the regress function on Matlab. Various technical indicators were used as explanatory variables: - Momentum: ROC - Tendency: SMA y EMA - Volume: OBV y CMF - Volatolity: VR - Others: Compare And 25 different combinations were made to analyze 25 different models. The models were trained with historic values of stocks in the S&P500 belonging to every sector. Subsequently the best 11 models according to precision (analyzing R 2 quantitatively) and sturdiness (selecting the models with the least amount of explanatory variables) were selected. Development of the portfolio optimizing module The optimum portfolio is that which for a determined risk offers the investor maximum return. In this Project, when the author mentions optimum portfolio, he is referring to the portfolio which has the maximum Sharpe Ratio, which is calculated in the following manner: SR = E R R! σ The Sharpe Ratio is the quotient between the average profitability of an asset (subtracting the risk free rate) and the standard deviation of its profitability. To maximize it, a task of non lineal optimization is posed (seeing as the function which is to be optimized is non lineal) and resolved via the fmincon function on Matlab. Development of the module to apply trading strategies This module allows the user to backtest trading strategies on any downloaded series, that is to say, it allows to apply strategies and calculate ficticial earnings or losses which would have been produced if the user were to have applied the strategy over the established period.
9 trading strategies were developed, various of them based on the technical analysis (applying technical indicators), others applying the developed lineal regression modules and other combining both tools. Design and development of the software tool and the implementation of corresponding modules Subsequently a graphic interface tool was designed and all the developed modules were implemented. In the following images you can find the design of some of the main windows:
RESULTS First of all the correct running of the software tool was verified from a purely functional point of view. After this verification a more in depth analysis of the obtained performance was carried out applying the developed modules. In few occasions is it obtained that for a determined series over 30% of the explanatory variables of the model are relevant for that series. To determine the relevance of an explanatory variable inside of a regression module the amplitude of a confidence interval of 95% has been analyzed. Regarding strategies, in 95% of the cases a positive performance is obtained, but always very low, never higher tan 1%. This was expected seeing as the precision of the modules developed is not the most adequate. CONCLUSIONS From this Project we can obtain the conclusion that the lineal regression models are not the most adequate to estimate stocks due to their simplicity. However, the goals which were initially established for the Project have been fulfilled, seeing as a tool which works perfectly has been designed and developed from scratch, and can be perfected in the future for it to become a very useful and potent tool for the analysis of financial series via statistics and technical analysis.