UNIVERSIDAD COMPLUTENSE DE MADRID FACULTAD DE CIENCIAS ECONÓMICAS Y EMPRESARIALES DEPARTAMENTO DE ECONOMÍA FINANCIERA Y ACTUARIAL TESIS DOCTORAL Valoración de activos financieros por entropía máxima con programación lineal MEMORIA PARA OPTAR AL GRADO DE DOCTORA PRESENTADA POR Olivia Peraita Ezcurra DIRECTOR José Luis Vilar Zanón Madrid, 2017 © Olivia Peraita Ezcurra, 2015 UNIVERSIDAD COMPLUTENSE DE MADRID FACULTAD DE CIENCIAS ECONÓMICAS Y EMPRESARIALES Departamento de Economía Financiera y Actuarial MEMORIA PARA OPTAR AL GRADO DE DOCTOR PRESENTADA POR Olivia Peraita Ezcurra Bajo la dirección del doctor José Luis Vilar Zanón MADRID, 2015 A Carlos 3 Agradecimientos Este trabajo no hubiera sido posible sin las ideas, conversaciones, ayuda, motivación y cuestionamientos del Prof. José Luis Vilar Zanón. A él le debo que todo el trabajo de estos últimos años haya cobrado la forma de tesis doctoral. Quisiera agradecer especialmente la ayuda del Prof. Javier Martin y del Dr. Daniel Arrieta, sin los cuales no hubiera podido concluir este trabajo de investigación. Les quiero agradecer su tiempo y su paciencia conmigo. Mi familia siempre ha estado apoyándome y animándome a lo largo de los últimos años para que continuase con este trabajo, que en épocas ha sido muy duro. Gracias a mi padre, mi madre y mi hermana. Por último, no puedo olvidar el apoyo incondicional de Carlos, que no sólo ha estado a mi lado a lo largo de todo el desarrollo de la tesis, sino que me ha suplido en múltiples tareas, mientras me ha animado a continuar. Sin todos vosotros, este trabajo no hubiera salido adelante. MUCHA GRACIAS. Índice Olivia Peraita Ezcurra 1 Índice RESUMEN & ENGLISH ABSTRACT 5 Resumen en Español 5 English Abstract 6 INTRODUCCIÓN 9 1 TEORÍA DE LA PROBABILIDAD Y VALORACIÓN DE OPCIONES 15 1.1 Valoración neutral al riesgo 15 1.1.1 Teoremas fundamentales de valoración de activos y regla de valoración 15 1.1.2 Juegos equitativos 19 1.1.3 Volatilidad implícita 24 1.2 Completitud de los mercados y réplica de la cartera 25 1.2.1 Mercados completos 26 1.2.2 Mercados incompletos 27 1.2.3 Estrategias de réplica de carteras 30 1.3 Valoración de activos ilíquidos 31 1.3.1 Normas Internacionales de Información Financiara (NIIF 13) 32 1.3.2 Riesgo de modelo 35 1.3.3 Revisión de la calidad de los activos (AQR 2014) 36 2 TEORÍA DE LA INFORMACIÓN, MEDIDAS DE DIVERGENCIA Y PROGRAMACIÓN MATEMÁTICA 39 2.1 Entropía 39 2.2 Medidas de divergencia 41 2.2.1 Métricas de probabilidad 43 2.2.2 Entropía relativa 44 Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 2 2.2.3 Distancia de variación total 47 2.3 Programación matemática 48 3 VALORACIÓN DE ACTIVOS POR ENTROPÍA RELATIVA CON PROGRAMACIÓN LINEAL 51 3.1 Primera etapa: calibración de la PNR a los precios de referencia 52 3.2 Segunda etapa: valoración de activos 53 3.3 Tercera etapa: súper-replicación e intervalo libre de arbitraje 56 3.4 El método y la función de utilidad de los agentes 58 4 APLICACIONES 63 4.1 Aplicación en la valoración de opciones con volatilidad constante 64 4.1.1 Calibración de la probabilidad neutral al riesgo 64 4.1.2 Determinación del intervalo libre de arbitraje 72 4.2 Aplicación en la valoración de opciones en un caso real 74 4.2.1 Calibración de la probabilidad neutral al riesgo 74 4.2.2 Determinación del intervalo libre de arbitraje 77 4.3 Aplicación en la valoración de opciones asiáticas 79 4.3.1 Calibración de la probabilidad neutral al riesgo 81 4.3.2 Determinación del intervalo libre de arbitraje 84 4.4 Aplicación en la valoración con variación de la distribución a priori 85 4.4.1 Calibración de la probabilidad neutral al riesgo 86 4.4.2 Determinación del intervalo libre de arbitraje 87 5 CONCLUSIONES Y EXTENSIONES 91 6 BIBLIOGRAFÍA 95 Índice Olivia Peraita Ezcurra 3 7 ANEXO: CÓDIGOS DE PROGRAMAS 105 7.1 Código MATLAB: Opciones europeas sintéticas 105 7.2 Código GAMS: Opciones europeas sintéticas 108 7.2.1 Principales valores 108 7.2.2 Recorrido del intervalo libre de arbitraje 112 7.3 Código MATLAB: Ejemplo real 116 7.4 Código GAMS: Ejemplo real 118 7.4.1 Principales valores 118 7.4.2 Recorrido del intervalo libre de arbitraje 122 7.5 Código MATLAB: Opciones asiáticas geométricas 126 7.6 Código GAMS: Opciones asiáticas geométricas 128 7.6.1 Principales valores 128 7.6.2 Recorrido del intervalo libre de arbitraje 132 7.7 Código GAMS: Variación de la distribución a priori 136 7.7.1 Principales valores 136 7.7.2 Recorrido del intervalo libre de arbitraje 139 Resumen & English Abstract Olivia Peraita Ezcurra 5 Resumen & English Abstract Resumen en Español y ha sido desarrollado en la Facultad de Ciencias Económicas y Empresariales de la Universidad Complutense de Madrid. El objeto de este trabajo de tesis es la recuperación del vector de probabilidades neutrales al risgo para la valoración de activos financioneros a partir de los precios de los activos que se observan en el mercado con una metodología de minimización de la entropía relativa. La principal innovación de este trabajo es el uso de una divergencia diferente de la de Kullback-Leibler, resultando en la distancia de variación total (Ali & Silvey, 1966), (Denuit, Dhaene, Goovaerts, & Kaas, 2005). El proceso de optimización propuesto aplica técnicas de programación lineal, garantizando, de esta manera, una resolución rápida y fácil del problema numérico, que es una de las principales aportaciones de este trabajo de tesis. Este nuevo método es un método inverso para valorar activos ilíquidos y encontrar la probabilidad neutral al riesgo minimizando la entropía relativa a la distribución a priori uniforme sobre un conjunto finito de trayectorias de precios simulados y satisfaciendo la restricción dada por los precios objetivo a los que se calibra la distribución de probabilidad. En el caso de mercados incompletos, se puede obtener cualquier valor que pertenece al intervalo de precios en el que se cumple la no existencia de carteras de arbitraje (Luenberger, 2002), incrementando la entropía relativa de la probabilidad neutral al riesgo obtenida para el valor óptimo, donde este valor de entropía relativa es mínimo. Desde el punto de vista de la réplica de activos, este nuevo método permite el cálculo de las carteras infra y supra-replicante, correspondientes a las cotas inferior y superor del intervalo libre de arbitraje, y da una representación del activo dependiendo de estos límites (Luenberger, 2002). Además, el programa dual permite obtener las sensibilidades del valor del activo respecto a cambios en las probabilidades a priori, el nivel de entropía relativa del vector de probabilidad neutral al riesgo y, finalmente, a cambios en los precios observados en el mercado. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 6 Para estudiar el comportamiento del nuevo método propuesto, se han incluido cuatro ejemplos: uno sintético con opciones europeas, otro con datos del mundo real utilizando opciones sobre el índice STOXX50E, un tercer ejemplo basado en la valoración de opciones asiáticas y un ejemplo donde la distribución a priori, respecto a la cual se minimiza la distancia de variación total, se cambia, utilizando una distribución que no es la de máxima entropía en un intervalo. Se concluye que este nuevo método propuesto valora adecuadamente los activos que no están dentro de la muestra de calibración, mediante la comparación que se hace de este método con otros más tradicionales como el de la minimización de la entropía relativa de Kullback-Leibler. Por otra parte, en la calibración a precios reales de mercado, se observa que el método refleja las formas no lineales de la superficie de volatilidad que se observan en el mercado. Por último, utilizando el método con activos más complejos, como la valoración de opciones asiáticas, el método sigue dando buenos resultados de valoración. English Abstract Introduction This thesis tivos Financieros por Entropía Máxima con Faculty of Economic and Business Sciences of the Universidad Complutense de Madrid. This work is devoted to risk neutral probabilities (RNP) retrieval from asset prices using the relative entropy minimization methodology. The most important feature of this work is that a different divergence than the Kullback-Leibler one is used, resulting in the total-variation distance (Ali & Silvey, 1966), (Denuit, Dhaene, Goovaerts, & Kaas, 2005). The optimization process proposed applies linear programming, thus guaranteeing a fast and easy numerical resolution. Therefore this new method is an inverse method for valuing illiquid assets finding a RNP minimizing the relative entropy to the uniform distribution on a finite set of simulated price trajectories and satisfying the benchmarks prices constraints. In the case of an incomplete market, any value belonging to the prices interval fulfilling the Resumen & English Abstract Olivia Peraita Ezcurra 7 non-existence of an arbitrage portfolio can be reached (Luenberger, 2002), by increasing the relative entropy of the resulting RNP from its optimal value. From the point of view of the asset replication, this new method calculates the super and infra-replicating portfolios corresponding to the two bounds of that interval, and gives a representation of the asset depending on them. It also provides the sensibility of the asset value with respect to changes in the prior probabilities, the relative entropy level of the risk neutral probabilities and finally, to changes in the benchmark prices. In order to study the performance of this new method presented, four examples have been included: one synthetic with European options, another from real world using options over the STOXX50E index, a third example based on Asian options rather than European options and an example where the a priori distribution, to which the total variation distance is minimized, is changed, using a distribution which is not the one with the maximum entropy in the interval considered. Conclusions In this work a new methodology is used, alternative to that of (Avellaneda, et al., 2001) for calculating a maximum entropy RNP by minimizing the relative entropy (divergence) to the prior uniform distribution on a finite sample space. This consists of using another convex function (2.12) (2.13) (also named total-variation distance), instead of the traditional Kullback-Leibler. An advantage of this new method seems clear, as it implies the numerical resolution by means of linear programs which can be solved very fast. Moreover, solving the dual linear program (3.10) we can finally get a representation of the asset in terms of the super-replicating portfolios opening the possibility to a sensibility analysis (3.11) of the illiquid asset value with respect to changes in the prices of the benchmarks, the relative entropy level and the prior probabilities. Also, following (Luenberger, 2002) we can determine the interval delimited by (1.19) and (1.20), where the option value should lie for the non-arbitrage condition still being fulfilled, together with the RNPs and their entropy values associated to the interval bounds. Moreover, the behaviour of the entropy inside this interval has been studied, and it is shown that we can assign to each of those interval values its corresponding RNP with an Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 8 associated relative entropy level. All these calculations are achieved thanks to the resolution of simple linear programs. Concerning the model calibration, different approaches have been followed consisting of the use of either synthetically simulated European options or observed option prices over the STOXX50E index, synthetically simulated geometric Asian options and a change in the a priori distribution for the RNP. Firstly, European options have been synthetically simulated. The same data for calibrating the two pricing methods has been used: Kullback-Leibler relative entropy and the total- variation distance linear programming methodology. Then European options have been priced and these prices have been compared with the Black-Scholes theoretical values. The new method seems to furnish quite accurate values. Secondly, observed options prices have been used to calibrate and then value options in a real case with a non-flat volatility surface. Results for the valuation by means of the new method are very close to those given by the market. The volatility surface has also been interpolated and extrapolated by means of the new method. As a third example, geometric Asian options have been valued with the new method, as well as with the minimization of Kullback-Leibler relative entropy and same results as in the first example arise. Lastly, the prior distribution to which the distance is minimized has been changed to another one with less entropy. The valuation is very similar, although the information contained in the RNP is not at its maximum level and the bounds of the interval remain the same. Introducción Olivia Peraita Ezcurra 9 Introducción El problema de la valoración de opciones ha sido ampliamente estudiado en la segunda mitad del siglo XX, siendo el método más extendido introducido por (Black & Scholes, 1973) y (Merton, 1973). Este método se fundamenta en dos ideas principales (Gulko, 1999): El principio de no arbitraje, que implica la existencia de distribuciones de probabilidad neutral al riesgo definidas en el espacio de los estados de una economía de Arrow-Debreu (Arrow, 1964). El conocimiento de estas probabilidades reduce la valoración de activos a un descuento financiero sin riesgo. La caracterización de la probabilidad neutral al riesgo por un proceso estocástico adecuado. La teoría de valoración por entropía1, introducida por (Gulko, 1997), ofrece un método alternativo de construcción de probabilidades neutrales al riesgo que no se apoya en la parametrización de las distribuciones de densidad ni en el cálculo estocástico. Esta teoría se basa en el supuesto de que, en los mercados eficientes, los agentes del mercado son ignorantes sobre el precio que tendrá un activo en el futuro. Esta incertidumbre máxima se traduce, en la modelización matemática del problema de valoración, en la búsqueda de modelos de optimización en los que se maximiza la entropía. Así pues, los métodos de valoración se pueden dividir en dos familias: métodos paramétricos y métodos no paramétricos. Ejemplos de métodos paramétricos son (Chang & Tabak, 2002), que recuperan la probabilidad neutral al riesgo con la segunda derivada del valor de las opciones según (Breeden & Litzenberg, 1978) aplicando mínimos cuadrados. (Melick & Thomas, 1997) y (Cheng, 2010) calculan la probabilidad neutral al riesgo con modelos de mezclas de distribuciones log-normales. En (Ritchey, 1990) la probabilidad neutral al riesgo se supone una mezcla de distribuciones normales. Otra tendencia de este grupo de métodos es suponer 1 En la literatura anglosajona, se puede encontrar el acrónimo EPT (del inglés, Entropy Pricing Theory). Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 10 que la probabilidad neutral al riesgo pertenece a una familia concreta de distribuciones, y no a una mezcla, como los casos anteriores. Por ejemplo, en (de Jong C., Huisman R., 2000) se asume una distribución t de Student y en (Corrado, 2001) se utiliza una distribución lambda generalizada. Los métodos no paramétricos se pueden dividir en subfamilias, dependiendo de qué técnica se utilice para construir la distribución de probabilidad neutral al riesgo a posteriori. Encontramos estimaciones kernel en (Bondarenko, 2000), mínimos cuadrados en (Yatchev A., Härdle W., 2006), ajuste de curvas en (Monteiro A.M., Tütüncu R.H., Vicente L.N., 2008) y, finalmente máxima entropía en (Buchen & Kelly, 1996), (Rubinstein & Jackerth, 1997), (Branger, 2003) y (Rockinger M., Jondeau E., 2002). De esta última subfamilia evoluciona la línea de investigación de minimización de la entropía relativa de Kullback- Leibler que se puede encontrar en (Sampieri, 1997), (Avellaneda, 1998), (Avellaneda, et al., 2001) y (Arrieta, 2013). La ventaja de usar la entropía es que la distribución se crea mediante la minimización de la información contenida en ella, con lo que se puede pensar que mantenemos la hipótesis de mercados eficientes. Estos métodos son computacionalmente pesados, pues son programas de optimización no lineales sujetos a muchas restricciones. En estos programas, se maximiza la entropía, o se minimiza una entropía relativa a una distribución a priori, y se establecen varias restricciones para asegurar la correcta calibración de la probabilidad neutral al riesgo a unos precios de referencia, así como que el resultado de la distribución cumpla las propiedades de un vector de probabilidades (debe sumar uno y sus componentes deben ser positivas). Este trabajo de tesis se encuadra también dentro de este tipo de métodos no paramétricos para la obtención de la probabilidad neutral al riesgo por máxima entropía. Pero la ventaja del nuevo método propuesto es su sencillez en la resolución computacional. El objeto de esta tesis es la presentación de un nuevo método de valoración basado en la optimización mediante programación lineal por metas. Este método se encuadra dentro de los métodos de valoración neutral al riesgo por máxima entropía (maximización acerca de la incertidumbre de la información en el mercado) y se resuelve mediante la minimización de la distancia de variación-total, entre la distribución a priori de máxima entropía y la probabilidad neutral al riesgo buscada para la valoración de activos ilíquidos. Este problema de optimización está, además, sujeto a la calibración de la probabilidad neutral al Introducción Olivia Peraita Ezcurra 11 riesgo a unos precios de referencia (Peraita Ezcurra & Vilar Zanón, 2013 a), (Peraita Ezcurra & Vilar Zanón, 2013 b) y (Peraita Ezcurra & Vilar Zanón, 2015). Este trabajo lo he estructurado de la siguiente manera: En el capítulo 1, se encuentran los conceptos principales de la teoría de valoración de activos y se describen las bases para la aplicación de la valoración neutral al riesgo. Primero, se enumeran los teoremas fundamentales de la valoración de activos, después se introduce el modelo de Arrow-Debreu y la utilización en economía financiera de los precios-estado, cuya normalización deriva en una distribución de probabilidades neutrales al riesgo. Se completa esta parte con una breve introducción a los juegos equitativos. A continuación, se introduce el concepto de mercados completos e incompletos y se tratan las implicaciones de que el mercado sea incompleto, en los que la probabilidad neutral al riesgo ya no es única y donde, además, no todos los activos pueden ser replicados. Se cierra esta parte definiendo las carteras súper-replicantes e infra-replicantes y repasando estrategias de réplica en cada uno de estos mercados. El capítulo termina con una introducción a la valoración actual de activos ilíquidos en el balance de las entidades según la NIIF 13 de IFRS, una breve descripción de lo que es el riesgo de modelo y cómo puede afectar a estas valoraciones de activos ilíquidos y la última revisión que hizo el BCE para evaluar la adecuación de las valoraciones en los balances de los bancos. La adecuada valoración de los activos ilíquidos es un reto para los bancos y este nuevo método proporciona una herramienta para valorar o contrastar modelos, reduciendo al máximo el riesgo de modelo, puesto que éste está basado en un proceso de ingeniería inversa, donde se saca toda la información de los precios del mercado. En el capítulo 2, se repasan los principales conceptos matemáticos utilizados en el método de valoración propuesto en este trabajo de tesis. Se comienza introduciendo el concepto de entropía y su utilización en la teoría de la información. A continuación, se hace un breve repaso sobre las características que tienen las métricas y se analizan diferentes medidas de divergencia, en concreto se introducen la entropía relativa de Kullback-Leibler y la distancia de variación total. Este capítulo se cierra con un repaso de la principal bibliografía acerca de los orígenes de los modelos de optimización matemática, dentro de los que se encuentra la Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 12 programación lineal por metas, utilizada en el nuevo método propuesto en este trabajo y que se desarrolla en esta memoria de tesis. En el capítulo 3, se detalla el método propuesto en este trabajo de tesis. Es un método de valoración riesgo neutral de máxima entropía en dos etapas y que se resuelve con programación lineal por metas. En la primera etapa se resuelve la calibración de la probabilidad neutral al riesgo a unos precios de referencia y minimizando la distancia a una distribución a priori de máxima entropía. En la segunda etapa se valoran los activos con probabilidad neutral al riesgo obtenida en la etapa anterior. Se propone una tercera etapa adicional tras la valoración en la que se calcula las carteras súper e infra-replicantes. Fruto de esta etapa se tienen los límites inferior y superior al intervalo dentro del cual el precio está libre de arbitraje. En el capítulo 4, se muestran diferentes ejemplos de valoración con el nuevo método presentado. En concreto: o Valoración de opciones de compra europeas con una probabilidad neutral al riesgo calibrada en un entorno sintético con precios teóricos de Black- Scholes, con el supuesto de volatilidad constante. o Valoración de opciones de compra europeas con una probabilidad neutral al riesgo calibrada con precios observados en el mercado que muestran una superficie de volatilidad implícita en forma de smile. o Valoración de opciones de compra asiáticas con media geométrica con una probabilidad neutral al riesgo calibrada en un entorno sintético con precios teóricos de Black-Scholes, con el supuesto de volatilidad constante. o Variación de la distribución de probabilidad a priori respecto a la cual se minimiza la distancia y que es utilizada como información previa que se tiene sobre eventos futuros. En este caso, la entropía no es máxima, puesto que se supone que esta distribución a priori no es uniforme en el intervalo. En el capítulo 5, se concluye y se recogen futuras líneas de investigación que este método de valoración por máxima entropía en dos etapas con programación lineal abre para el futuro. En el anexo a este trabajo de tesis se incluyen los códigos utilizados en el capítulo 4. Para la generación de números aleatorios y el cálculo de los flujos de caja de cada instrumento en cada uno de los caminos de Monte Carlo, se ha utilizado el lenguaje de programación MATLAB®. La calibración de la probabilidad neutral al riesgo a los precios de mercado Introducción Olivia Peraita Ezcurra 13 por máxima entropía, así como la valoración con dicha distribución de probabilidad, y el cálculo de los límites del intervalo libre de arbitraje calculados con el nuevo método propuesto en el capítulo 3 de este trabajo, se ha hecho de una manera sencilla gracias al lenguaje de programación GAMS2 (General Algebraic Modeling System) y el solver optimizador CPLEX de IBM. Equation Chapter (Next) Section 1 2 El lenguaje de programación GAMS es un lenguaje de alto nivel para la resolución de problemas de programación matemática y optimización. Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 15 1 Teoría de la probabilidad y valoración de opciones La valoración de opciones es la rama financiera que se centra en el estudio del precio que debería tener una opción para que comprador y vendedor puedan llegar a un acuerdo de intercambio del producto. La historia de los métodos de valoración de opciones a partir de distribuciones de probabilidad neutrales al riesgo comenzó con la publicación de (Breeden & Litzenberg, 1978), donde esa distribución de probabilidad neutral al riesgo era ajustada desde la segunda derivada parcial de la fórmula de Black-Scholes respecto al precio de ejercicio de la opción. 2 2 S K C K (1.1) Desde el trabajo de (Breeden & Litzenberg, 1978), se han producido un gran número de investigaciones y artículos en los que se han utilizado opciones observadas en el mercado para derivar los precios de Arrow-Debreu con una amplia variedad de aplicaciones en economía financiera. (Harrison & Kreps, 1979) demuestran que la valoración se puede obtener como una esperanza matemática respecto de las probabilidades implícitas en el mercado, y no de las probabilidades reales, lo que permite una valoración sencilla una vez incorporada, en esas probabilidades, toda la información de mercado. Esta distribución de probabilidad se denomina probabilidad neutral al riesgo. 1.1 Valoración neutral al riesgo 1.1.1 Teoremas fundamentales de valoración de activos y regla de valoración Los teoremas fundamentales de la valoración de activos permiten valorar opciones mediante esperanzas matemáticas dando lugar al ámbito de la valoración neutral al riesgo. Es el uso de esperanzas en la valoración riesgo neutral lo que hace de esta técnica de valoración una herramienta útil en la práctica por su sencillez. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 16 En (Shreve, 2004) se detallan los dos teoremas fundamentales de la valoración de activos basándose en el teorema de Girsanov multidimensional y el teorema de representación de martingalas multidimensional3. El primer teorema fundamental de la valoración de activos determina que si un modelo de mercado tiene una medida de probabilidad neutral al riesgo, entonces éste no admite arbitraje. El segundo teorema fundamental de la valoración de activos determina que, si en un modelo de mercado que tiene una medida de probabilidad neutral al riesgo, el modelo es completo si, y sólo si, la medida de probabilidad neutral al riesgo es única. Estos teoremas aseguran las condiciones necesarias y suficientes para que el mercado esté libre de arbitraje. El modelo Arrow Debreu (Arrow, 1964) y (Debreu, 1959) afirma que debe existir un conjunto de precios tal que las ofertas agregadas sean iguales a las demandas agregadas para cada bien en la economía, bajo los siguientes supuestos económicos: preferencias convexas; competencia perfecta; e independencia de la demanda. Este modelo puede utilizarse para probar la existencia de un equilibrio general en una economía. En economía financiera, un valor Arrow-Debreu es un valor que paga una unidad si se llega a un estado concreto y cero en caso contrario. Como tal, cualquier contrato de derivados cuyo valor de liquidación es una función de un subyacente de valor incierto en la fecha del contrato se puede descomponer como combinación lineal de los valores de Arrow-Debreu. 3 Las bases de matemáticas financieras que permiten el establecimiento de los dos teoremas fundamentales de la valoración de activos no se incluyen en esta tesis, por quedar fuera del ámbito que ésta abarca. Pueden consultarse en (Shreve, 2004). Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 17 A continuación, introducimos algo de notación, a partir del modelo de Arrow-Debreu, para caracterizar las carteras de arbitraje y las condiciones que se tienen que dar para que éstas no existan. Se supone que durante un periodo de tiempo, elegimos 1, ,i N activos cotizados o activos de referencia y se generan 1, ,j M estados del mercado igualmente probables. Los flujos de efectivo se pueden resumir en la siguiente forma matricial: 11 1 1 1 1 M M N NM N g g G G G G g g G (1.2) El vector de precios de los N activos es 1( , , ), 0,N ic c c c i . Una cartera es cualquier vector 1( , , ), ( )0 corto (largo)N iw w w w . Si se supone que no hay fricciones en el mercado ni costes o tasas por las transacciones, entonces, el precio de la cartera w es: 1 N i i i cw c w (1.3) Y los flujos de caja de la cartera, correspondientes al estado 1, ,j M vienen dado por: 1 N j i ij i wG w g (1.4) Una cartera de arbitraje es una cartera w en la que se da alguna de las siguientes situaciones sobre su coste y sus beneficios: a) 0cw y 0, 1,...,jwG j M con algún estado j tal que 0jwG . Esto significa que existe la posibilidad de tener un beneficio sin un coste inicial. b) 0cw y 0, 1,...,jwG j M . Esto significa que hay una ganancia inmediata sin un coste final. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 18 Entonces, la condición suficiente y necesaria que garantiza la inexistencia de una cartera de arbitraje es la siguiente (Luenberger, 2002), (Avellaneda & Lawrence, 2000): 1 No existe una cartera de arbitraje ( arbitraje) ( ,..., ) 0M w c G (1.5) El vector de precios-estado 1, , M se conoce también como los precios-estado de Arrow-Debreu. Si se normalizan los precios-estado de Arrow-Debreu, se obtienen las probabilidades neutrales al riesgo: 1 j j j (1.6) Entonces, se puede reescribir la implicación en (1.5), sustituyendo (1.6) de la siguiente manera: 1 1 11 1 1 1 N N NM M ij j j ij j i j j ii i c G g g E Gr (1.7) En (1.7) se muestra la representación riesgo neutral de la regla de valoración (pricing rule) donde el precio es el valor esperado descontado, utilizando la tasa libre de riesgo y probabilidades neutrales al riesgo artificiales que asignan una probabilidad a los mismos estados de la naturaleza que asignan las probabilidades reales (Dybvig & Ross, 2003). Así pues, en (1.7) se muestra que los activos se valoran con esperanzas descontadas de los flujos de caja con respecto a la probabilidad neutral al riesgo. Este descuento se hace respecto a la tasa de interés libre de riesgo dada por los precios-estado, esto es 11 jr . Se puede pensar en el precio de los activos como un tipo de valor esperado de los flujos de caja futuros. Entonces, los precios tienen cierta información sobre la distribución de probabilidad respecto a la cual se calcula dicha esperanza (Jackwerth, 2004). Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 19 1.1.2 Juegos equitativos El concepto de juego equitativo se define dentro de la teoría de la probabilidad. Antes de adentrarnos en el entendimiento de las ideas probabilísticas que hay detrás de un juego equitativo, quisiera hacer una breve mención a la historia de la teoría de la probabilidad. Se acepta como el comienzo de la teoría de probabilidad el año 1654, año en el que dos eminentes matemáticos franceses, Blaise Pascal y Pierre de Fermat, incluían en su correspondencia comentarios sobre varias cuestiones de juegos de dados en apuestas (Dineen, 2005). En cualquier caso, las apuestas son uno de los pasatiempos más antiguos. En la antigua Roma, le gustaba apostar a gente de todas las clases sociales. A los esclavos, de todas formas, solo se les permitía apostar durante el festival de Saturnalia que empezaba el 17 de diciembre y duraba unos días. Si les descubrían apostando en cualquier otro momento, se les tiraba a un tanque de agua fría. Así pues, según (Dineen, 2005), aunque antes de 1654 las referencias a las probabilidades eran escasas en la literatura, en los siglos XV y XVI se pueden encontrar referencias en libros italianos. La valoración neutral al riesgo se basa en la búsqueda de una distribución de probabilidades sobre los posibles estados futuros de la naturaleza que, aplicada para el cálculo de la esperanza sobre una inversión, cuando se descuente a valor presente, iguale la inversión inicial. Esto se denomina el principio del fair game o del juego equitativo4 (Dineen, 2005). Tal y como se describe en el apartado 1.1, en la valoración riesgo neutral, si se han ajustado las preferencias temporales, mediante el descuento financiero, y se han ajustado las preferencias por el riesgo, mediante un ajuste en las probabilidades, las inversiones son un juego equitativo. En cualquier juego equitativo, si se apuesta repetidamente, eligiendo la cantidad de la apuesta en cada momento del tiempo, y utilizando una estrategia arbitraria para la elección de dicha cantidad (que puede ser cambiada y puede depender de lo que ha ocurrido hasta el momento), entonces el progreso de la fortuna (cantidad de dinero) Xn es una martingala. En este contexto, el teorema de conservación establece que, sea cual sea el momento T en el 4 Del inglés, fair game, donde hay que prestar atención a que la palabra fair tiene un sentido muy amplio (justo, equitativo, imparcial, claro). Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 20 que se decida dejar el juego, la fortuna final XT será tal que E[XT] igualará la fortuna inicial X0, como sucedería en cualquier juego unietápico (Aldous, 2015). Se dice que el juego es: Favorable si E[X] X0 > 0 Desfavorable si E[X] X0 < 0 Equitativo si E[X] X0= 0 Un juego equitativo es, por ejemplo, un partido de rugby, en donde las reglas son las mismas para los dos equipos contrincantes, por lo que el mejor equipo ganará. Para una unidad apostada al equipo B (esto es, una apuesta donde se ganan b unidades si gana B y se pierde la unidad apostada si pierde), se tiene que E[beneficio] = bp p) y p = P(Bgana) por lo que, para que la apuesta sea equitativa, se tiene que b = (1 p)/p (y un juego equitativo no se debe confundir con una distribución uniforme de las probabilidades). Si se apuesta en un juego equitativo comenzando con X0 unidades monetarias hasta que la fortuna desaparezca o se consiga una cantidad objetivo de B > X0, lo que se alcance antes, y suponiendo que el beneficio de ninguna apuesta exceda B, entonces la probabilidad de alcanzar B es exactamente X0/B, y el valor medio de la fortuna final es pB y, por el teorema de conservación, esto es igual a X0. A las probabilidades p y 1-p se las conoce como las probabilidades neutrales al riesgo y son los precios-estado de Arrow Debreu. Estas probabilidades p y 1-p son las probabilidades de un modelo binomial para valoración de opciones donde, tal y como se detalla en la Figura 1, se tiene un activo con valor S en el momento 0 y que toma valor Su, con probabilidad p, o valor Sd, con probabilidad 1-p, en el momento T, donde 0 < d < 1 < erT < u. Entonces, la probabilidad neutral al riesgo p de que el precio del activo aumente en u es: rTe dp u d (1.8) Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 21 Figura 1 Representación de un modelo binomial donde un activo tiene valor S en el momento 0 y valor Su, con probabilidad p, o probabilidad Sd, con probabilidad 1-p, en el momento T. El valor de la probabilidad neutral al riesgo en (1.8) se deriva del valor esperado en T del activo que tiene valor S en el momento inicial y con tasa de interés libre de riesgo r, tal y como se muestra en (1.9) y (1.10), según la nomenclatura utilizada en la Figura 1. 1rT rT TS S e pSu p Sd e pSu Sd pSd (1.9) Despejando p en (1.9) se tiene (1.10), donde 0 1rTe d u d dado que rTu e , luego p puede ser interpretado como una probabilidad. rT rTSe Sd e d pSu Sd u d (1.10) En este contexto de modelo binomial, el precio CT de una opción de compra europea, con precio de ejercicio ,K Sd Su y vencimiento T es 1 rT T Su kC e du d (1.11) Pasemos a valorar una opción de compra, que represente un precio equitativo para el comprador, donde el precio del subyacente no sigue un modelo binomial discreto, sino un proceso de Wiener o movimiento Browniano. Sean r, T y K la tasa de interés, el vencimiento y el precio de ejercicio, respectivamente, de una opción de compra. Para evaluar esta opción, se debe evaluar su precio equitativo que es: N rT P Te X K (1.12) Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 22 donde PN denota la probabilidad neutral al riesgo. El proceso estocástico Xt se dice que sigue un movimiento browniano geométrico si se satisface la ecuación diferencial estocástica en (1.13), donde µ es la variación de los cambios porcentuales, es la volatilidad de los cambios porcentuales y Wt es un proceso de Wiener. t t t tdX X dt X dW (1.13) Si una acción sigue un movimiento browniano y tiene cambios porcentuales con media µ y volatilidad entonces, 0 expt tX X t W y, bajo una medida de probabilidad neutral al riesgo, 2 0 exp 2 rt t te X X t W , donde X0 es el precio actual de la acción y Wt y tW son procesos de Wiener. El precio equitativo de la opción de compra, CT , con fecha de vencimiento T y precio de ejercicio K, donde r es la tasa de interés libre de riesgo, es la expresión en (1.14). Esto es lo que se llama, la fórmula de Black-Scholes-Merton. 2 2 0 0 0 log log2 2rT T X Xr T r TK KC X KeT T (1.14) La expresión (1.14) resulta del cálculo de la esperanza (1.12) para una probabilidad riesgo neutra perteneciente a la familia paramétrica logarítmico normal con la tasa µ sustituida por la tasa del interés libre de riesgo r. Con la igualdad paridad call-put podemos deducir el precio de la correspondiente opción de venta PT. 0 rT T TC P X Ke (1.15) Los modelos de valoración de opciones primitivos eran muy simples e incompletos y fue el modelo de Black-Scholes (Black & Scholes, 1973) el primero que permitió que el mercado de opciones creciera. Pero el llamado lunes negro, el 19 de octubre de 1987, hubo una Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 23 bajada abrupta en los valores de las principales bolsas del mundo. Las posibles causas de esta bajada de las bolsas mundiales incluyen los programas automáticos de negociación de opciones, la sobrevaloración, la falta de liquidez y la psicología del mercado. En cualquier caso, se comprobó que los mercados no cumplen la condición de volatilidad constante para diferentes precios de ejercicio que asume el modelo de Black-Scholes. Black y Scholes parten de una serie de supuestos que califican de condiciones ideales para los mercados y que son los siguientes (Lozano Arnica, 1993): Los mercados de acciones, bonos y opciones funcionan sin costes de transacción, o custodia, ni garantías o colaterales (margins), ni impuestos. Los valores que se negocian son infinitamente divisibles y se puede operar continuamente. El tipo de interés sin riesgo es conocido y constante a lo largo del tiempo. Los inversores pueden prestar y endeudarse al tipo de interés sin riesgo. No existe ninguna restricción para las ventas al descubierto. Los vendedores al descubierto pueden disponer plenamente de los ingresos de tales ventas y no están obligados a efectuar ningún depósito de garantía. La opción es de tipo europeo, es decir, sólo se puede ejercer en el momento del vencimiento. La acción subyacente no paga dividendos antes de la fecha de vencimiento de la opción. El precio de la acción sigue un proceso geométrico de Wiener con varianza constante y todos los inversores coinciden en el valor de la varianza. Muchas de estas hipótesis resultan artificiales en la aplicación al mundo real. A partir de los años 90, comenzaron a estar disponibles bases de datos con una gran cantidad de precios de opciones y surgieron unos artículos en los que se expuso el marco teórico necesario para la gran cantidad de artículos de investigación que siguieron para la recuperación de la distribución de probabilidad neutral al riesgo para la valoración de opciones. De entre estos métodos, se pueden diferenciar principalmente dos enfoques: los métodos paramétricos y los métodos no paramétricos (Jackwerth, 2004). Para resolver el problema de valoración en esta tesis, desarrollaremos, más adelante en esta memoria, un método no paramétrico de recuperación de la probabilidad neutral al riesgo por maximización de la entropía, con un método de programación lineal por metas. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 24 1.1.3 Volatilidad implícita El único parámetro de la fórmula de valoración de Black-Scholes que no se observa en el mercado directamente es la volatilidad del subyacente. Este parámetro podría ser estimado con información histórica, pero los traders de las mesas de tesorería normalmente trabajan con lo que se denomina volatilidad implícita. Esta volatilidad está implícita en el precio de la opción observado en el mercado y en el mercado se prefiere valorar los precios de las opciones en términos de volatilidad implícita porque esta volatilidad tiende a variar menos que el precio de la opción (Hull, 2009). La volatilidad implícita se utiliza para controlar la opinión del mercado sobre la volatilidad de un subyacente. Mientras que las volatilidades históricas son retrospectivas, las volatilidades implícitas son prospectivas. En los ejemplos realizados se muestran los precios en términos de volatilidad, para guardar homogeneidad con los datos que los traders financieros están acostumbrados a mostrar y estudiar. El modelo de valoración de opciones de (Black & Scholes, 1973) implica que la superficie de volatilidad implícita debe ser plana y estática (Marabel Romo & Crespo Espert, 2011), tal y como se describe en (1.16) y (1.17), respectivamente. 0t t t K (1.16) 0t t tt S (1.17) donde t denota la superficie de volatilidad implícita, t el tiempo, K el precio de ejercicio y St el precio del subyacente. Pero desde la caída de la bolsa en octubre de 1987, los mercados de opciones de renta variable se han caracterizado por la existencia de una dependencia negativa de la volatilidad implícita t con respecto al precio de ejercicio K, invalidando (1.16). Esta dependencia Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 25 negativa se conoce como skew de volatilidad5. En el caso del mercado de divisas, las opciones de compra y venta con precio fuera del dinero6 suelen presentar una mayor volatilidad implícita que las opciones dentro del dinero7. Esto resulta en una relación entre la volatilidad implícita t y el precio de ejercicio K conocido como smile8. El nuevo método de programación lineal en dos etapas que desarrollamos en el capítulo 3 respeta esta relación entre volatilidad y precio de ejercicio, que da lugar a la forma de sonrisa cuando esta relación se dibuja en un gráfico. En el apartado 4.2 se muestra un ejemplo. 1.2 Completitud de los mercados y réplica de la cartera Antes de la difusión de la teoría de valoración de derivados, se calculaba el valor de un derivado a partir del conocimiento de los pagos futuros (en términos de un subyacente) y, haciendo uso de un factor de descuento para traer a valor presente los flujos futuros, ajustando el resultado por riesgo, según preferencias del inversor. La metodología de Black-Scholes-Merton, publicada casi simultáneamente por (Black & Scholes, 1973) y (Merton, 1973), supuso un giro radical en la metodología de valoración de estos activos. Si se puede replicar un derivado, su valor debe ser igual al valor de la cartera replicante (si no, habría oportunidad de arbitraje). Esto permitió ignorar las preferencias de 5 La forma de skew en la volatilidad, se ha estudiado ampliamente en la literatura. Para más detalle, se puede consultar (Heynen, 1994), (Derman & Kani, 1994), (Dupire, 1994), (Rubinstein, 1994), (Dumas, Fleming, & Whaley, 1998), (Das & Sundaram, 1999) y (Derman, 2003), entre otros. 6 Se habla de una opción de compra fuera del dinero (en inglés out of the money) si el precio del valor subyacente St es menor al precio de ejercicio K. En este caso la opción de compra no tiene valor intrínseco. 7 Se habla de una opción de compra dentro del dinero (en inglés in of the money) si el precio del valor subyacente St es mayor al precio de ejercicio K. En esta caso la opción de compra sí tiene valor intrínseco. 8 La forma de smile en la volatilidad, se ha estudiado ampliamente en la literatura. Para más detalle, se puede consultar (Rebonato, 1999), (Jex, Henderson, & Wang, 1999), (Derman, 2003), (Hull, 2009) y (Daglish, Hull, & Suo, 2007), entre otros. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 26 los agentes en el mercado. Para valorar derivados sólo se necesita la función final de pago, la estructura de la tasa libre de riesgo y la estructura de la volatilidad del subyacente. Entonces, dos agentes muy distintos deben valorar idénticamente un derivado, porque ninguno de los dos puede admitir oportunidades de arbitraje. Así, las preferencias de riesgo, que cada agente pudiese tener, quedan eliminadas de la fórmula de valoración de opciones. Sin embargo, esa nueva metodología se basa fuertemente en axiomas o hipótesis que, como ya se ha visto en el apartado 1.1.2, presentan fundadas dudas respecto a que estén reflejando adecuadamente la realidad observable. Ejemplos de estos supuestos son la existencia de una tasa libre de riesgo accesible a todos los inversores, o que en el mercado no hay fricciones (costos de transacción, iliquidez, etc.) ni hay restricciones fuertes (i.e. es posible tener posiciones cortas en el subyacente). Otro supuesto fuerte de esta teoría es la asunción de que es posible encontrar siempre una cartera replicante, que es lo mismo que decir que los mercados son completos. Pero en la práctica los mercados no son completos, aunque es un supuesto que se toma en muchos modelos. Así pues, el método de valoración propuesto en este trabajo, tiene en cuenta que los mercados son incompletos, admitiendo que existen múltiples probabilidades neutrales al riesgo y eligiendo aquélla de máxima entropía. Esta existencia de varias distribuciones de probabilidad para valorar, se traduce en la determinación de un intervalo de precios, dentro del cual se asegura que éstos están libres de arbitraje, según la teoría presentada en el apartado 1.2.2. 1.2.1 Mercados completos Un mercado completo es aquél en el que todos los flujos de caja de los valores (acciones, opciones, etc.) del mercado pueden ser replicados con los activos existentes. Cada agente es capaz de intercambiar todos los bienes, directa o indirectamente, con cualquier otro agente sin costes de transacción. En los mercados completos hay tantos activos, con flujos de caja linealmente independientes, como futuros estados de la naturaleza. Si no existen oportunidades de arbitraje en un mercado completo, esto es, si se cumple la condición en (1.5), un inversor sólo puede obtener rentabilidad si toma algún riesgo y, si no toma ningún riesgo, no puede Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 27 obtener rentabilidad de las inversiones en dicho mercado mayor que la ofrecida por el activo libre de riesgo. Un mercado completo es tal que, para cualquier flujo de caja 1, , Me e e , existe la cartera de activos replicante 1( , , )Nw w w para cada estado j, donde 1 j M , con flujo je . Cada flujo de caja pertenece a una combinación lineal de los activos de referencia. 1 , 1N i ij j i wG e w g e j M , (1.18) En un mercado completo, la ecuación en (1.18) tiene una única solución ,N Mw e . Esto es, existe una cartera replicante para todos los activos de este mercado. Así pues, se sabe que rang G M , las columnas de la matriz G abarcan el espacio M . En el caso de un mercado completo, la existencia de la condición expresada en (1.5) se vuelve también única (Avellaneda & Lawrence, 2000). Además, sólo existe una única distribución de probabilidad neutral al riesgo para valorar. Posiblemente, los mercados completos sólo existen en el mundo teórico. En el mundo real existen muchos más estados posibles que valores en el mercado, por lo que raramente existen mercados completos. También, si se modela el precio del activo de forma continua, surge el problema de incompletitud de los mercados. Si los mercados no son completos, existen múltiples soluciones a los problemas de valoración, cada una de ellas con una probabilidad neutral al riesgo diferente. 1.2.2 Mercados incompletos A parte de lo mencionado anteriormente, las principales razones que generan que un mercado sea incompleto incluyen: asimetría de información; falta de incentivos; y costes de transacción. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 28 Los mercados incompletos existen por diversas razones. Algunos ejemplos que llevan a mercados incompletos son los límites a las posiciones que pueden tomar los agentes en el mercado, restricciones de ventas en corto y costes de negociación. En estos casos, el precio del activo puede estar determinado por factores estocásticos tales como la volatilidad estocástica, las tasas de interés estocásticas o saltos estocásticos que no están cotizados en el mercado. En estos casos, el agente no puede replicar exactamente la rentabilidad de una opción en todos los estados posibles. En un mercado incompleto, contrariamente a lo que sucede en mercados completos, no se puede asegurar la unicidad de una probabilidad neutral al riesgo para valorar los activos. El resultado serán diferentes vectores de precios-estado con sus correspondientes probabilidades neutrales al riesgo , resultando en un intervalo acotado por un límite inferior y un límite superior. En el caso de un mercado incompleto, no necesariamente se cumple (1.18) y rang G k M , por lo que no se puede extender completamente el espacio M con las columnas de la matriz G. En las aplicaciones reales, nos encontramos normalmente ante mercados incompletos y, por ello, tenemos más de una probabilidad neutral al riesgo que satisface las reglas de valoración obtenidas de la observación de los precios utilizados como referencia en la calibración. (Sampieri, 1997), (Luenberger, 2002) y (Jackwerth, 2004) estudian la valoración de opciones en mercados incompletos, cuando existen muchas probabilidades neutrales al riesgo y presentan la elección de aquella que maximiza la función de utilidad del agente. En sus artículos, los autores también discuten sobre la caracterización de dicha probabilidad neutral al riesgo por medio de unos intervalos deducidos de programas lineales duales que expresan la relación entre los precios-estado y las carteras replicantes de las opciones. Las carteras supra-replicante y la cartera infra-replicante son las carteras con valor más cercano al del activo, cuyos flujos se pueden replicar. Estas carteras coinciden, además, con los límites superior e inferior del intervalo libre de arbitraje, que se crea por la existencia de múltiples probabilidades neutrales al riesgo. Dado un nuevo activo con flujo de caja Me , es posible encontrar el intervalo min max,e ec c en el que se debe encontrar el precio ec para asegurar que se cumple la Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 29 condición de no arbitraje (Luenberger, 2002). Esto es, si se asume que no existe arbitraje, entonces existen un límite inferior min ec y un límite superior max ec tal que no hay arbitraje posible para el activo e si la valoración cumple que min max,e e ec c c . Estos límites que denotan el intervalo dentro del que los precios del activo cumplen la hipótesis de no arbitraje, vienen dados por los programas lineales expresados en (1.19) y (1.20). min max s.a. e wc cw wG e (1.19) max min s.a. e wc cw wG e (1.20) El programa lineal dual, nos da una versión del mismo problema, pero desde el punto de vista de la valoración (Luenberger, 2002). min min s.a. 0 e pc pe Gp c p (1.21) Para el límite superior del intervalo libre de arbitraje, tenemos que asumir que existe una cartera tal que 1wG . Esto se asegura con la existencia de un activo libre de riesgo. Entonces, según (Luenberger, 2002): max max s.a. 0 e pc pe Gp c p (1.22) Dado que hay diferentes precios posibles para un activo dentro del intervalo libre de arbitraje, uno de los objetivos de esta tesis es mostrar cómo se puede encontrar cada uno de los precios-estado por medio de la fórmula fundamental de valoración (1.7), con una probabilidad neutral al riesgo calculada mediante un método de valoración de programación lineal por máxima entropía, donde se minimiza la divergencia D entre una distribución a priori y la distribución neutral al riesgo utilizada para la valoración. En una segunda etapa, Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 30 si en el programa lineal se varía la divergencia D, se pueden explorar todos los valores dentro del intervalo libre de arbitraje y, a cada uno de ellos, le corresponde una entropía diferente. En el capítulo 4 se estudia el comportamiento del precio de los activos en función del nivel D de divergencia dentro de este intervalo libre de arbitraje. 1.2.3 Estrategias de réplica de carteras Una cartera autofinanciada se caracteriza porque el inversor no realiza aportaciones ni retira dinero en ningún momento (Carabias López, 2003). Esto es, tras su constitución inicial, el coste de los activos obtenidos se financia con los activos que se venden. Las estrategias de réplica se pueden dividir principalmente en: Estrategias estáticas: Los pesos de los elementos en la cartera súper-replicante se fijan en el momento inicial. Estrategias dinámicas: La composición de la cartera se ajusta continuamente y esta cartera sólo tiene un comportamiento similar al de la opción replicada en determinados puntos. Esto ocurre porque la cartera no tiene los mismos flujos que el instrumento para el que se ha creado la cobertura, pero sí las mismas griegas9. En los mercados completos, todos los activos se pueden replicar, siendo la cartera replicante 1( , , )Nw w w , la solución a la ecuación en (1.18). Si el mercado no es completo, esto es, si rang G k M , es posible que no todos los instrumentos puedan ser replicados. Dado que en el mundo real los mercados son incompletos, los pagos no siempre se pueden replicar con activos negociados en el mercado. Entonces, la teoría clásica de no arbitraje en mercados completos no es adecuada y no existe un único precio para una cartera replicante autofinanciada. Entonces, no se puede encontrar una cartera tal que wG e . Las carteras más próximas en valoración que 9 cambios en el mercado (cambios al precio del subyacente, cambios en la volatilidad, cambios al paso del tiempo, etc.). Estas sensibilidades son muy útiles en la gestión del riesgo (Hull, 2009). Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 31 se pueden replicar con los instrumentos negociados en el mercado vienen dadas por los programas lineales en (1.19) y (1.20). Cuando una cartera autofinanciada domina a una opción en términos de rentabilidad, es una cartera súper-replicante (Chen, Deelstra, Dhaene, Linders, & Vanmaele, 2014). Por el teorema fundamental de la dualidad (Bazaraa, Jarvis, & Sherali, 1984), los valores óptimos de (1.19) y (1.20) son respectivamente iguales a los programas en (1.21) y (1.22), aunque, en este segundo caso, los programas se han expresado en función de los precios- estado . Así pues, la dualidad transforma la idea enunciada en términos de cartera (cobertura) a su idea equivalente expresada en términos de precios-estado (valoración). Esto abre la posibilidad de valorar, o lo que es lo mismo, recobrar el vector de precios- estado utilizando el método en dos etapas de programación lineal y, simultáneamente, ser capaz de cubrir la posición, es decir, encontrar las carteras súper-replicantes. Esto da forma a la tercera etapa del método propuesto en este trabajo de tesis. 1.3 Valoración de activos ilíquidos La valoración de activos cobra especial relevancia cuando el activo no tiene precios observables en el mercado. Estos activos ilíquidos son clasificados en las Normas Internacionales de Información Financiera, por el nivel de datos de entrada para hacer la determinación del valor razonable, como nivel 3 y, especialmente para los supervisores, es crítica a su adecuada valoración pues, de ello, depende su correcta consideración del balance de las entidades financieras. Estos elementos de nivel 3 son derivados ilíquidos o exóticos, colocaciones privadas, titulizaciones hechas a medida, y otros activos, cuya valoración es difícil de determinar. Los activos con datos de entrada de nivel 310 son especial foco de atención de los supervisores por la complejidad de su adecuada contabilización. En el último ejercicio de 10 Más adelante, en el apartado 1.3.1 se explica en detalle este concepto. La NIIF 13 establece un criterio de clasificación de los activos dependiendo de la información de mercado que es input para Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 32 revisión de calidad de los activos que estableció el Banco Central Europeo en el año 2014, para evaluar la calidad del balance las principales entidades bancarias en Europa, verificó la correcta valoración de estos activos con datos de entrada de nivel 3 por parte de las entidades, mediante modelos de valoración de contraste y estableciendo unos límites a las desviaciones obtenidas en dichos valores. El método de valoración presentado en este trabajo de tesis pretende servir de ayuda para determinar el valor razonable de estos activos. Además de proporcionar el precio riesgo neutral de máxima entropía, se calculan los límites del intervalo libre de arbitraje, dentro del cual debe estar la valoración dada por la entidad. Estos límites se calculan según (1.19) y (1.20) y siguiendo el método detallado en el apartado 3.3. 1.3.1 Normas Internacionales de Información Financiara (NIIF 13) El nuevo método que se presenta en este trabajo de tesis tiene utilidad para la valoración de activos con poca liquidez en el mercado a partir de otros activos con un volumen de negociación mayor. Estos activos suelen ser difícilmente valorados para su contabilización en los balances de las entidades financieras y son objeto de un mayor control por los órganos supervisores. Para su localización y distinción en el balance, las normas contables establecen una clasificación de los activos en función de la información de entrada que existe para su valoración. En las Normas Internacionales de Información Financiara de la Fundación IFRS se define la medición del valor razonable, en concreto en la NIIF 13 en (International Accounting Standards Board, 2011), (International Accounting Standards Board, 2015) Parte A y (International Accounting Standards Board, 2015) Parte B. Según el resumen técnico, la NIIF 13: a) define valor razonable; el modelo. Si los datos de entrada son de nivel 3, estos activos son poco cotizados e informalmente Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 33 b) establece en una sola NIIF un marco para la medición del valor razonable; y c) requiere información a facilitar sobre las mediciones del valor razonable. Se entiende por valor razonable de un activo o pasivo financiero el importe por el que podría ser entregado o liquidado entre dos partes que actuasen libre y prudentemente, en condiciones de mercado. La referencia más objetiva y habitual del valor razonable de un activo o pasivo financiero es el precio que se pagaría por él en un mercado organizado, transparente y profundo. Cuando no existe precio de mercado para un determinado activo o pasivo financiero, se recurre para estimar su valor razonable al establecido en transacciones recientes de instrumentos análogos y, en su defecto, a modelos matemáticos de valoración. La NIIF 13 define valor razonable como el precio que sería recibido por vender un activo o pagado por transferir un pasivo en una transacción ordenada entre participantes del mercado en la fecha de la medición (es decir, un precio de salida). Esa definición de valor razonable enfatiza que el valor razonable es una medición basada en el mercado, no una medición específica de una entidad. Al medir el valor razonable, una entidad utiliza los supuestos que los participantes del mercado utilizarían al fijar el precio del activo o pasivo en las condiciones del mercado en el momento de la valoración, incluyendo supuestos sobre el riesgo. En consecuencia, la intención de una entidad de mantener un activo o liquidar o satisfacer de otra forma un pasivo no es relevante al medir el valor razonable. Según la jerarquía que se define en la NIIF 13 (párrafos 72 a 90), existen tres niveles de utilizadas para medir dicho valor razonable. Los datos de entrada de nivel 1 son precios cotizados (sin ajustar) en mercados activos, a los que la entidad puede acceder en la fecha de la medición, para realizar operaciones de compra-venta de los elementos de su balance. Los datos de entrada de nivel 2 son distintos de los precios cotizados referidos en el grupo anterior, que son observables para los activos o pasivos, directa o indirectamente. Los datos de entrada de nivel 3 son datos de entrada no observables para el activo o pasivo. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 34 NIIF 13 del nivel de datos de entrada para hacer la determinación del valor razonable. El problema de valoración aparece cuando no existe mercado activo para el instrumento financiero. Para los activos de nivel 2 de valor razonable, se requiere que la técnica empleada sea consistente y que sea aquella que obtenga las estimaciones más realistas de los precios. En este caso, cabe la posibilidad de que se pueda obtener el valor razonable del producto financiero mediante la aplicación de modelos y técnicas de valoración al existir transacciones comparables en el mercado. En el caso de los activos de nivel 3 de valor razonable, el problema de valoración se resuelve mediante la aplicación del coste amortizado, coste histórico o de producción, esto es, criterios de valoración que no tienen en consideración al mercado, pues no existe un mercado con transacciones comparables (Marabel Romo, Crespo Espert, & Guiral Contreras, 2011). Los activos de nivel 111 y nivel 212 de la jerarquía de valor razonable pueden ser valorados mediante técnicas de mark-to-market. Los activos de nivel 313 frecuentemente no cotizan, por lo que no hay muchos precios de mercado para ellos. La valoración de estos activos se suele basar en supuestos de gestión o expectativas de los precios, lo que se denomina mark- to-model (Mantilla Blanco, 2013). En este trabajo de tesis se propone un método para la valoración de opciones ilíquidas a partir de precios observados en el mercado, por lo que la aplicación del método en dos 11 Entre los activos de nivel 1, se encuentran los valores de renta variable, derivados cotizados y obligaciones de gobiernos, si éstas tienen liquidez en el mercado. 12 Entre los activos de nivel 2, se encuentran las acciones restringidas, bonos corporativos y municipales, que cotizan con poca frecuencia, la mayoría de derivados OTC (incluyendo IRS y los swaps de divisas) y ciertos activos relacionados con hipotecas residenciales y comerciales (incluyendo préstamos, valores y derivados). 13 Entre los activos de nivel 3, se encuentran ciertas inversiones de capital privado, ciertos activos relacionados con hipotecas residenciales y comerciales (incluyendo préstamos, valores y derivados) y derivados a largo plazo o complejos, que incluyen ciertas bolsas de valores extranjeras, opciones FX y las opciones a largo plazo en gas y electricidad. Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 35 etapas de programación lineal, puede dar respuesta a la valoración de opciones mark-to- model como modelo de contraste para comprobar la adecuación del modelo elegido. 1.3.2 Riesgo de modelo Cuando la ausencia de precios en el mercado lleva a la adopción de una técnica de valoración mark-to-model el riesgo de error en la especificación del modelo es elevado. La valoración que se puede obtener de instrumentos exóticos puede ser muy diferente, dependiendo los supuestos que se hayan tomado sobre la evolución del precio del subyacente y de su volatilidad (Marabel Romo, Guiral Contreras, Crespo Espert, Gonzalo, & Moon, 2014). Además, en estos casos es difícil medir el riesgo de modelo, pues no es sencilla la comparación de los precios teóricos del modelo y los de mercado por ser instrumentos que o bien no cotizan o que no tiene mucha liquidez. En (Hull & Suo, 2002) se propone la siguiente aproximación para testar la aplicabilidad de un modelo para valorar una opción exótica: 1. Asúmase que los precios en el mercado están gobernados por un modelo (el modelo testado. 2. representativos del mercado. 3. Compárese el precio y el desempeño de la cobertura del modelo testado con el exótica. Cuando se requieren precios de mercado de opciones vainilla para calibrar Si ambos precios y coberturas son similares, se puede concluir que el riesgo de modelo es pequeño. El nuevo método que se propone en este trabajo de tesis en el capitulo 3 no toma ningún supuesto paramétrico más que los observados en el mercado, por lo que el error de modelo Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 36 quedaría reducido al uso que se hace de los valores de mercado en la valoración del intrumento exótico no cotizado. 1.3.3 Revisión de la calidad de los activos (AQR 2014) En el año 2014, la Autoridad Bancaria Europea14 lanzó una serie de recomendaciones (European Banking Authority, 2013) para que los supervisores europeos realizaran una exhaustiva revisión de la calidad de los activos de los principales bancos europeos con motivo de los ejercicios de estrés a los que se sometió a estos para evaluar su solvencia y la calidad de su balance ante situaciones de tensión, antes de que el mecanismo único de supervisión15 tomase el relevo de la supervisión de las grandes entidades bancarias en Europa. Este ejercicio se denominó, por sus siglas en inglés, AQR (asset quality review) y se realizó siguiendo la metodología descrita en (European Central Bank, 2014). La revisión de la calidad de los activos se segmentó en 9 bloques de trabajo, según se puede ver en la Figura 2. En el bloque 8 de la evaluación, se volvió a determinar el valor razonable de los elementos cuya valoración se basaba en datos de entrada de nivel 3 (activos ilíquidos difíciles de valorar) más importantes de las entidades de crédito con exposiciones relevantes en su posición de balance no negociable (banking book) o en su cartera de negociación (trading book). La revisión se centró en la comprobación del valor razonable determinado por la entidad para los activos de nivel 3 y su correcta asignación jerárquica a las categorías de balance: activos financieros disponibles para la venta otros activos financieros a valor razonable con cambios en pérdidas y ganancias cartera de inversión a vencimiento Se revaluó la cartera de activos no derivados, para comprobar la adecuada valoración (tarea i del bloque 8 en la Figura 2). También se realizaron análisis cualitativos de los principales 14 EBA, por sus siglas en inglés (European Banking Authority). 15 SSM, por sus siglas en inglés (Single Supervisory Mechanism). Teoría de la probabilidad y valoración de opciones Olivia Peraita Ezcurra 37 procesos de las carteras de negociación más importantes (tarea ii del bloque 8 en la Figura 2) y análisis cuantitativos de los modelos de valoración de los derivados (tarea iii del bloque 8 en la Figura 2). 0 Selección de las carteras 1 Revisión de políticas, procesos y reglas contables 2 Creación de bases de datos y verificación de integridad de la información 3 Selección de las muestras 4 Revisión de expedientes de créditos 6 Proyección de conclusiones de la revisión de expedientes 9 Cálculo de CET1% ajustado por AQR para uso en los ejercicios de tensión (stress test) 7 Análisis de la provisión colectiva 5 Revisión de los colaterales y activos inmobiliarios 8 Revisión de activos de nivel 3 i. Revaloración de activos no derivados de nivel 3 ii. Revisión del proceso core iii. Revisión de los modelos de valoración de derivados 10 Control de calidad y seguimiento del progreso Figura 2 Esquema de los bloques de trabajo del ejercicio de AQR 2014 incluido en (European Central Bank, 2014). El bloque 8 es referente a la comprobación de la valoración de los activos de nivel 3 en el balance. El método en dos etapas de valoración con programación lineal propuesto en este trabajo de tesis podría utilizarse para contrastar el valor razonable que se ha dado a los activos de nivel 3 en el balance de los bancos. Dicho de otra manera, el método de valoración podría aplicarse como contraste en el bloque 8, sección i, del trabajo de AQR realizado por los supervisores, y que se muestra en la Figura 2. Además, en la etapa adicional del método, descrita en el apartado 3.3, se obtienen los límites inferior min ec y superior max ec que determinan el intervalo dentro del cual los precios están libres de arbitraje, calculados según los programas lineales en (1.19) y (1.20), respectivamente, tal y como se describe en el apartado 1.2.2. Luego el precio dado por los bancos debe, en cualquier caso, caer dentro de ese intervalo que, además, por las Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 38 características del método, es de fácil y rápido cálculo al resolverse con técnicas de programación lineal. Equation Chapter (Next) Section 1 Teoría de la información, medidas de divergencia y programación matemática Olivia Peraita Ezcurra 39 2 Teoría de la información, medidas de divergencia y programación matemática 2.1 Entropía surge en el campo de la termodinámica en el siglo XIX. Se remonta al año 1865, cuando el físico alemán Rudolf Clausius intentó dar un nombre a (Zhou, Cai, & Tong, 2013). Aunque al principio este concepto se ha utilizado principalmente en física, se ha adaptado a muchos campos de estudio, donde destaca su uso en el campo de la teoría de la información. En la teoría de la información, la entropía es la medida de información contenida en cada mensaje recibido, donde los mensajes representan a cada uno de los eventos que componen una distribución de datos. Así pues, la entropía caracteriza la incertidumbre sobre nuestra fuente de información, y esta fuente suele ser caracterizada por una distribución de probabilidad de las muestras obtenidas de ella. Cuanto menos probable es un evento, más información provee en caso de que ocurra. Esta medida cuantitativa acerca de la cantidad de información proporcionada por un experimento aleatorio fue propuesta por (Shannon, 1948) y está basada en la entropía clásica de (Boltzmann, 1896) en el campo de la física estadística. Provee la cantidad de información que contiene una variable aleatoria. La información se define como el negativo del logaritmo de la distribución de probabilidad, donde el logaritmo de la distribución de probabilidad es una medida útil de información por su aditividad. En (Jondeau, Poon, & Rockinger, 2007) se define la entropía como 0 logH x q x q x dx (2.1) donde q(x) la función de densidad. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 40 La entropía ha tenido uso en finanzas, principalmente, en la selección de carteras óptimas y en la valoración de opciones, que es el campo de aplicación de esta tesis. En (Gulko, 1997) se introduce la teoría de valoración por entropía, donde el autor deriva la fórmula de valoración de opciones de Black-Scholes-Merton donde la distribución log-normal se sustituye por una distribución gamma. En (Gulko, 1999) también se aplica la teoría de la valoración por entropía a la valoración de opciones sobre acciones. La formulación de este modelo de valoración hizo que la hipótesis de mercados eficientes fuera operacional. En este trabajo de tesis se utiliza la entropía como medida de la información que hay en el mercado sobre la valoración de los precios de un activo. Al admitir un mercado eficiente, se está asumiendo que los participantes en este mercado no tienen más información que la que ya reflejan los precios de los activos, por lo que hay incertidumbre máxima sobre el precio que tendrán esos activos en el futuro y, por tanto, del que tendrán las opciones que hay sobre estos activos subyacentes. En ese sentido, la entropía debe ser máxima. En su trabajo de tesis (Sampieri, 1997) destaca el uso de la maximización de la entropía y la minimización de la entropía relativa en resolución de problemas inversos mal planteados (infraespecificados) en ciencias, donde se utiliza optimización por entropía para rellenar la información que falta en este tipo de problemas. Dada la importancia que tienen las distribuciones de máxima entropía para la resolución de los problemas de valoración por métodos inversos donde, al igual que se plantea en el método propuesto en este trabajo de tesis, se infiere la probabilidad neutral al riesgo para la valoración a partir de la calibración a unos precios de referencia de una distribución a priori, es relevante la correcta identificación de cuáles son estas distribuciones de máxima entropía. Esta máxima entropía depende del soporte sobre el cuál se define el problema. Así pues, la familia a la que pertenece la distribución de probabilidad de máxima entropía, depende del soporte de esta distribución. La distribución normal maximiza la entropía entre todas las distribuciones con media µ y varianza conocidas, con soporte en todo el conjunto de números reales . En este caso la entropía se calcula como (Marsh, 2013): 21 log 22 e (2.2) Teoría de la información, medidas de divergencia y programación matemática Olivia Peraita Ezcurra 41 Entre las distribuciones de probabilidad continuas definidas en el intervalo 0, y con media µ, la distribución que tiene mayor entropía es la distribución exponencial con =1/µ. La entropía de la distribución exponencial tiene la siguiente expresión (Marsh, 2013): 1 log (2.3) La distribución de probabilidad de entropía máxima en un intervalo [a,b] es la distribución uniforme, cuya entropía se mide como (Marsh, 2013): log b a (2.4) Las funciones que maximizan la entropía, dependiendo del intervalo de su soporte, pueden verse en la Tabla 1 Intervalo Distribución de máxima entropía , normal , 0, exponencial ,a b uniforme Tabla 1 Distribuciones de máxima entropía, para soportes con diferentes intervalos en . 2.2 Medidas de divergencia Además de la entropía de Shannon, existen las medidas de divergencia que expresan la cantidad de información en los datos para determinar la divergencia entre dos distribuciones p y q. Uno de los primeros estudios de la divergencia entre dos distribuciones se debe a (Bhattacharya, 1943), pero la más conocida es la de (Kullback & Leibler, 1951), a partir de un trabajo de (Jeffreys, 1946), en el que aparecía la expresión de la divergencia al abordar el problema de encontrar una densidad invariante respecto de una probabilidad a priori. El concepto de divergencia fue introducido por (Csiszár & Komlos, 1968) y, simultáneamente, pero de manera independiente, fue introducida también por (Ali & Silvey, 1966). La familia de -divergencias incluye divergencias que se pueden entender como una media ponderada por la función del ratio entre las distribuciones p y q y es una Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 42 función que mide la distancia entre dos distribuciones de probabilidad p y q. Esta familia de divergencias incluye, entre otras, la distancia de variación-total16, la divergencia de Kullback-Leibler17, la 2-divergencia18 y la distancia de Matusita (Pardo Llorente, 1993). La fórmula genérica para determinar las -divergencias ( distancias que cumplen todas o algunas de las condiciones que se definen más adelante en el apartado 2.2.1) entre dos distribuciones discretas tiene la siguiente expresión (Avellaneda, et al., 2001): || j j j j p qp qD q (2.5) Donde x es una función convexa. En su trabajo (Ali & Silvey, 1966) estudian las -divergencias y sugieren varias medidas de divergencia de esta familia, entre las que se encuentran la medida información discriminatoria de Kullback-Leibler, también conocida como entropía relativa, y la medida de Kolmogorov de distancia de variación, que es la distancia de variación total. Estas dos medidas de divergencia van a ser objeto de comparación en el capítulo 4. En este capítulo, además de probar el nuevo método propuesto en este trabajo de tesis, y que hace uso, como se verá más adelante en el capítulo 3, de la distancia de variación-total para minimizar la distancia a la distribución de máxima entropía, se contrasta los resultados con los obtenidos de la minimización de la divergencia de Kullback-Leibler con respecto a la distribución a priori de máxima entropía. Si logx x x se obtiene la divergencia de Kullback-Leibler como se ve en el apartado 2.2.2. En cambio, si 1x x , se obtiene la denominada divergencia variacional o 16 Esta métrica se describe más ampliamente en el apartado 2.2.3. 17 Esta premétrica se describe más ampliamente en el apartado 2.2.1. 18 La 2 -divergencia fue utilizada por (Pearson, 1900) e introducida y estudiada en (Vajda, 1973). Teoría de la información, medidas de divergencia y programación matemática Olivia Peraita Ezcurra 43 distancia de variación-total, con importantes aplicaciones en análisis funcional y estadística matemática, como se ve en el apartado 2.2.3. 2.2.1 Métricas de probabilidad El desarrollo de las métricas de probabilidad, como una ampliación de la teoría de probabilidad, empezó en los años 1950, aunque las ideas básicas ya se habían utilizado antes. Generalmente, la teoría de métricas de probabilidad estudia las medidas para determinar las distancias entre distribuciones de probabilidad. Llamamos distancia o métrica d en X a la función matemática en (2.6), si se cumplen las condiciones en la Tabla 2 (Rachev, Stoyanov, & Fabozzi, 2008). : 0, , , d x y d x y (2.6) (i) No negatividad: , 0, ,d x y x y y (ii) Axioma de coincidencia: , 0 , ,d x y x y x y (iii) Simetría: , , , ,d x y d y x x y (iv) Desigualdad triangular19: , , , , , ,d x y d x z d z y x y z Tabla 2 Condiciones que debe cumplir la función d en X para ser considerada una distancia o métricas. Si no se cumple la condición (ii) de la Tabla 2, el concepto resultante es una pseudodistancia o pseudométrica. En ese caso , 0d x x pero podría existir , 0d x y para x y. Una quasimétrica es una función que satisface todas las condiciones de la Tabla 2, salvo la condición (iii) de simetría (Vickers, 2005). 19 La desigualdad triangular también es conocida como desigualdad de Cauchy-Bunyakovsky- Schwarz. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 44 Una semimétrica satisface las condiciones, menos la condición (iv) de la desigualdad triangular. Si se relajan los axiomas (ii), (iii) y (iv) se tiene una premétrica, que es una función en la que se cumple , 0d x y y , 0d x x . Según lo descrito anteriormente, se clasifica la distancia de variación total como una métrica y la divergencia de Kullback-Leibler como una premétrica, pues no cumple las condiciones de desigualdad triangular y simetría, pero sí está relacionada con la métrica de variación total, tal y como se describe en (2.14). 2.2.2 Entropía relativa La entropía relativa fue introducida por (Kullback & Leibler, 1951). Esta premétrica entre dos distribuciones de probabilidad es una medida útil de entropía. La entropía relativa de una distribución se define como la divergencia Kullback-Leibler de una distribución a otra de referencia. En el caso de distribuciones de probabilidad discretas p y q, (Avellaneda, et al., 2001) expresa la divergencia de Kullback-Leibler de p a q como: l g|| || o j K j j L j pD p q p qD p q (2.7) La divergencia de Kullback-Leibler en (2.7) se generaliza con la familia de -divergencia dada en la introducción del apartado. En el caso de la divergencia de Kullback-Leibler, la función x es: logx x x (2.8) En (2.9) se muestra la cota inferior a la divergencia de Kullback-Leibler por la aplicación de la desigualdad de Jensen, demostrando que se cumple la propiedad de no negatividad. Teoría de la información, medidas de divergencia y programación matemática Olivia Peraita Ezcurra 45 log log 0|| j j j j j j KL j j qp pp p qD p q (2.9) Además de no ser nunca negativa, la entropía relativa sólo es igual a 0 si p = q. Esto es, se cumple la desigualdad de información, también conocida como desigualdad de Gibbs20, que establece que la divergencia es siempre mayor o igual a cero y es nula si las dos distribuciones entre las que se mide la divergencia son iguales. Pero esta medida de divergencia no es una métrica, pues no cumple otras propiedades como la simetría y no satisface la desigualdad triangular. Los métodos de maximización de entropía se utilizan para la recuperación de la probabilidad neutral al riesgo que subyace en los precios observados en el mercado y cuya utilización implica el supuesto de la menor información relativa a una distribución a priori (Jackwerth, 2004). La entropía relativa suele ser el método utilizado para la solución de problemas de máxima entropía en la toma de decisiones bajo incertidumbre (Kumar & Sundaresan, 2015). La entropía relativa de Kullback-Leibler ha sido ampliamente utilizada para la minimización de la divergencia entre dos distribuciones. En el trabajo de (Zhou, Cai, & Tong, 2013) se repasan los principales hitos del uso de esta divergencia en los últimos años. Uno de los más relevantes ejemplos de la utilización de la minimización de la entropía relativa en la valoración de opciones se puede encontrar en (Buchen & Kelly, 1996). Unos años más tarde (Frittelli, 2000) proporciona una interpretación financiera de la medida de martingala como de entropía mínima. Esta medida se puede utilizar en la valoración de opciones gracias a (Benth & Groth, 2009) y es caracterizada por (Hunt & Devolder, 2011) para ser utilizada en mercados incompletos. (Grandits, 1999) conecta la entropía relativa con la medida de martingala de entropía mínima y (Branger, 2003) la utiliza para encontrar el factor de descuento estocástico, dado un factor de descuento estocástico de referencia, y para determinar los precios-estado de Arrow-Debreu dados los precios de unos activos de 20 || 0 || 0 D p q D p q p q Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 46 referencia (benchmarks), haciendo un uso similar al que se hace en este trabajo de tesis, en donde se busca una distribución neutral al riesgo a partir de una distribución a priori. En (Avellaneda, et al., 2001) se utiliza la minimización de la entropía relativa para encontrar la probabilidad neutral al riesgo. En este artículo, se utiliza la divergencia en (2.7) para resolver el problema de minimización no restringida de la función convexa W en (2.11), que no es más que el Langrangiano, de la función de entropía relativa en (2.7) restringida a los precios de mercado y a que el vector de probabilidades sume 1, tal y como se define en (2.10). 0 1 1 1 1 min log 1N M N N j j i j ij i jp j i j j p p p g c p (2.10) donde ci son los precios utilizados como activos de referencia21 para calibrar la probabilidad neutral al riesgo, gij son los flujos para cada activo en cada simulación, N es el número de activos de referencia, M son los diferentes caminos simulados, y i son los multiplicadores de Lagrange. 1 1 1 1 1log log expN M N N i i ij i i i i j i i W Z c g cM (2.11) La solución a este problema de minimización viene dada por 1 1 exp N j ij i i p gZ , donde 1 1 1 expM N ij i j i Z gM según (Avellaneda, et al., 2001). Este algoritmo resulta fácil de implementar y, tal y como indica (Avellaneda, et al., 2001), puede ser implementado como un ajuste exacto a los precios en el sentido de mínimos cuadrados. 21 En este ejemplo los precios de referencia son precios sintéticos, resultado de la valoración de los instrumentos con la formula teórica de Black-Scholes. Estos precios de referencia, en un ejemplo con datos reales son los precios observados de los instrumentos negociados en el mercado. Teoría de la información, medidas de divergencia y programación matemática Olivia Peraita Ezcurra 47 En el apartado 4.1 se describe más ampliamente la implementación práctica de este algoritmo y se comparan los resultados con los obtenidos de la aplicación del método en dos etapas de programación lineal por metas propuesto en este trabajo de tesis. 2.2.3 Distancia de variación total Supóngase, al igual que en apartado anterior, dos distribuciones de probabilidades 1 M j jq q y 1 M j jp p cuya distancia se quiere hallar. En la definición de (2.5) se utiliza la siguiente función de penalización: 1x x (2.12) Entonces, se obtiene la distancia de variación total: | 1| j j jj p pD qq q (2.13) Esta distancia de variación total sirve como medida de divergencia entre dos distribuciones de probabilidad. Además, esta función tiene la ventaja de que sí se trata de una métrica, pues se cumplen las cuatro propiedades que tienen las métricas, según se ha descrito en el apartado 2.2.1. Referencias a esta distancia pueden verse en (Halmos, 1964) y (Dunford & Schwartz, 1958). Además, esta distancia de variación-total tiene una gran importancia en estadística, donde se utiliza como distancia entre distribuciones de probabilidad, como puede verse en (Denuit, Dhaene, Goovaerts, & Kaas, 2005). La desigualdad de Pinsker detallada en (Pinsker, 1964) relaciona la distancia de variación total con la divergencia de Kullback-Leibler en cuanto a que se da una cota superior a la distancia de variación total en términos de la divergencia de Kullback-Leibler. Esta desigualdad dice si p y q son dos distribuciones definidas el mismo espacio muestral, entonces Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 48 1|| ||2VT KLD p q D p q (2.14) La desigualdad en (2.14) no es la original de Pinsker, sino la desarrollada por (Kullback, 1967), (Csiszár & Komlos, 1968) y (Kemperman, 1969), que estudian las relaciones que se dan entre la entropía relativa y la distancia de variación-total. La distancia de variación-total se propone en este trabajo de tesis para medir la distancia, que se quiere minimizar, entre la distribución a priori de máxima entropía en el intervalo y la probabilidad neutral al riesgo que se calibra a los precios de referencia en el modelo en dos etapas de programación lineal. 2.3 Programación matemática Si un sistema muestra una estructura que puede ser representada con un modelo matemático, y si el objetivo también puede ser cuantificado, entonces se puede encontrar algún método computacional para resolver un problema de decisión y encontrar la mejor solución entre varias alternativas. Este uso de modelos matemáticos se denomina programación matemática. Si además el problema se puede expresar mediante un sistema matemático de desigualdades e igualdades lineales, entonces se puede hablar de programación lineal (Dantzig, 1963). Se puede considerar que la programación lineal data de 1947. Aunque sus orígenes pudieron haber sido mucho anteriores, en el siglo XVIII, cuando Joseph Fourier desarrolló el método de eliminación de Fourier-Motzkin (Fourier, 1826), no fue hasta después de la segunda guerra mundial cuando esta teoría cobró forma. En el año 1947, Koopmans llamó la atención de economistas renombrados sobre la potencia de los modelos de programación lineal. Aquel año, Koopman organizó la conferencia de la Cowles Commission (hoy en día llamada Fundación Cowles) sobre programación lineal. A esta conferencia acudieron economistas de la talla de K. Arrow, R. Dorfman, N.Georgescu- Roegen, L. Hurwicz, A. Lerner, J. Marchlak, O. Morgenstern, S. Reiter, P. Samuelson y H. Simon, y matemáticos como G. W. Brown, M. M. Flood, D. Gale H. W. Kuhn, C.B. Tompkins, A. W. Tucker y G. B. Dantzig. Los artículos presentados se recogieron en el libro (Cowles Commission for Research in Economics, 1951) que muestra el interés Teoría de la información, medidas de divergencia y programación matemática Olivia Peraita Ezcurra 49 suscitado en los dos años desde que en 1947 George Dantzig publicase el algoritmo simplex y John von Neumann desarrollase la teoría de la dualidad. No obstante, el matemático ruso Leonid Vitalievich Kantorovich había estado antes interesado en la aplicación de las matemáticas a los problemas de programación y ya había publicado el trabajo (Kantorovich L. V., 1939). Por esta publicación en 1939, casi una década antes de la conferencia de la Comisión Cowles, Kantoróvich, debe ser reconocido como el primero en destacar que hay una clase amplia de problemas de producción que tienen una estructura matemática bien definida que él creía que eran susceptibles de ser evaluados numéricamente para ser resueltos. Unos años más tarde, publicó un artículo (Kantorovich & Gavurin, 1949) en el que establece las relaciones entre la resolución del problema primal y de su dual e incluye el uso de gráficos para la resolución de estos problemas. Durante la segunda mitad del siglo XX, y hasta ahora, se ha aplicado la programación lineal en un amplio espectro de industrias, entre otras, las finanzas. En este trabajo de tesis, una de las principales aportaciones es la simplificación de los cálculos derivaba del uso de este tipo de métodos. Equation Chapter (Next) Section 1 Valoración de activos por entropía relativa con programación lineal Olivia Peraita Ezcurra 51 3 Valoración de activos por entropía relativa con programación lineal En este capítulo se presenta el nuevo método de valoración y cobertura del riesgo que se propone en el presente trabajo de tesis. Este método de valoración es un modelo de programación lineal por metas en dos etapas, en el que, por medio de la minimización de la divergencia definida en términos de variación-total en (2.13), y calibrada a un conjunto de precios de referencia, se obtiene la probabilidad neutral al riesgo de máxima entropía, cuando la distribución a priori, respecto a la cual se minimiza la distancia, es la distribución uniforme, tal y como se explica en el apartado 2.1. Se presenta una tercera etapa para obtener las carteras súper-replicantes que permiten cubrir el riesgo de las posiciones y, además, se determinan los límites del intervalo, dentro del cual, el precio está libre de arbitraje. La descripción del nuevo método se divide en tres apartados. En cada uno de ellos, se describe una etapa de este nuevo método que, a modo introductorio, se resume a continuación. En la primera etapa, se obtiene la probabilidad neutral al riesgo de máxima entropía, calibrada a un conjunto seleccionado de precios de referencia. Además, se obtiene el nivel mínimo de divergencia, Dtot, entre la distribución a priori y la distribución de probabilidad neutral al riesgo resultado de esta etapa, que se corresponde con la máxima entropía cuando la distribución a priori es uniforme. En la segunda etapa, se valora el activo aplicando la regla de valoración (1.7), fijando la tasa libre de riesgo de (1.7) en r = 0. En esta etapa, si se fija la divergencia a un valor D = Dtot, se asegura la valoración del activo con la probabilidad neutral al riesgo de máxima entropía y calibrada a los precios de mercado, obtenida en la primera etapa del método. Este valor de divergencia D puede variarse, obteniéndose así diferentes valoraciones del activo, siempre dentro del intervalo en el que se asegura que el precio obtenido está libre de arbitraje, según (Luenberger, 2002). Finalmente, se define una tercera etapa en la que se halla la representación del activo en términos de una cartera súper-replicante, correspondiente al nivel D de divergencia, gracias al programa de optimización dual. Además, se obtienen los límites inferior y superior del Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 52 intervalo, dentro del cual, el precio estará libre de arbitraje, según las fórmulas en (1.19) y (1.20), respectivamente. 3.1 Primera etapa: calibración de la PNR a los precios de referencia Se propone la calibración de la PNR a los precios de referencia mediante un programa lineal por metas, donde la función objetivo es la minimización de las variables de desviación jy (exceso) e jy (defecto). Según (Romero, 2002), la variable de desviación negativa cuantifica la falta de logro de una meta con respecto a su nivel de aspiración, mientras que la variable de desviación positiva juega el papel opuesto; es decir, la medición del exceso de logro de una meta con respecto a su nivel de aspiración. En este caso, el nivel de aspiración es la distancia (2.13) entre la distribución de probabilidad a priori y la distribución de probabilidad neutral al riesgo objeto de la calibración de esta primera etapa. La elección de la distribución uniforme, como probabilidad a priori, depende del supuesto de que lo único que sabemos es que el soporte de la probabilidad neutral al riesgo es un intervalo acotado [a, b]. Por lo tanto, según lo visto en el apartado 2.1, la distribución, q(x), de máxima entropía en el intervalo es la distribución uniforme y es ésta la que se utiliza en la calibración de la probabilidad neutral al riesgo en (3.1). , , 1 1 1 min 0, 1,..., 0, 1,..., s.a. 0 , , 0, 1, , M j jx p y y j j j j j M j ij i j M j j j j j j y y p q y y j M p g c i N y y p y y j M (3.1) El objetivo del programa lineal por metas en (3.1), junto al primer conjunto de restricciones, asegura la minimización de la distancia de variación-total. La segunda restricción asegura la calibración de la probabilidad neutral al riesgo a los precios ci incluidos en la cartera de referencia. Estos precios, en una calibración del método con datos reales, son los precios observados en el mercado de los instrumentos de referencia. Valoración de activos por entropía relativa con programación lineal Olivia Peraita Ezcurra 53 La primera y la tercera restricción, junto con las restricciones de no negatividad, aseguran que el vector p sea una masa de probabilidad, dado que: 1 1 1,.., : 10 j j j j M M j jj j j j M p y y q py y (3.2) De esta manera, la primera etapa en (3.1), puede expresarse de la siguiente manera en notación matricial: 1 1 1, , 1 1 1 3 1 1 11 3 min 0 , 1 , 1 0 0 s.a. 0 1 1 0 , , 0 M M Mx p y y M M M M M M N M N M N M M M M M M NM N M p y y I I I p q G y c y p y y (3.3) El resultado de esta etapa es la probabilidad neutral al riesgo calibrada y el valor de divergencia 0totD mínimo: , , : tot j j j p x p y y y y D (3.4) 3.2 Segunda etapa: valoración de activos En la segunda etapa de este método, se valoran los activos mediante la probabilidad neutral al riesgo obtenida en la primera etapa. Además, se elige la divergencia totD D que se exige entre la distribución a priori y la probabilidad neutral al riesgo que se utiliza en la valoración. Si se elige la divergencia mínima Dtot, calculada en la primera etapa, entonces la valoración será de máxima entropía. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 54 Se considera un activo con flujos de caja 1, , M Me e e y una divergencia D, entre la distribución de probabilidad a priori y la distribución de probabilidad neutral al riesgo de máxima entropía calibrada a los precios de mercado. Entonces, considerando el programa lineal en (1.21), el problema de la segunda etapa es: , , 1 1 1 1 min , 1, , s.a. 0, 1,..., 0 , , 0, 1, , M j jx p y y j j j j j M j j j M j ij i j M j j j j j j p e p y y q j M y y D p g c i N y y p y y j M (3.5) Se podría haber partido del programa lineal de maximización en (1.22) y así obtenemos el resultado a partir del siguiente programa lineal de maximización: , , 1 1 1 1 max , 1, , s.a. 0, 1,..., 0 , , 0, 1, , M j jx p y y j j j j j M j j j M j ij i j M j j j j j j p e p y y q j M y y D p g c i N y y p y y j M (3.6) Mediante ambos programas lineales en (3.5) y (3.6), se obtiene el mismo resultado a la valoración del activo 1, , M Me e e , pues en ambos programas se calibra la distribución de probabilidad neutral al riesgo a los mismos precios de referencia y se Valoración de activos por entropía relativa con programación lineal Olivia Peraita Ezcurra 55 respeta la misma divergencia mínima D entre la distribución de probabilidad calibrada para la valoración y la distribución a priori de máxima entropía. En notación matricial el programa lineal en (3.5) puede expresarse como: 1 1 1, , 1 1 1 1 1 1 3 1 1 1 11 1 3 min , 0 , 0 0 1 1 0 0s.a. 0 1 1 0 , , 0 M M Mx p y y M M M M M M M M M N M N M N M M M M M M NM N M p pri x e y y I I I qp DyG cy p y y (3.7) Así pues, el resultado de la segunda etapa del método propuesto es el valor del activo, gracias a la regla de valoración en (1.7). El resultado obtenido depende de la elección de la distribución a priori, que puede ser o no de máxima entropía, y de la elección del valor de la divergencia igual a totD D , y que se corresponde con diferentes niveles de entropía. La valoración de máxima entropía se obtiene cuando: Se elige una distribución a priori de máxima entropía (si el soporte de la distribución es en un intervalo [a, b], entonces esta distribución ha de ser la uniforme). Se elige un nivel de divergencia mínimo respecto a la distribución a priori de máxima entropía (el parámetro de divergencia D en (3.7) debe ser igual a Dtot, que es la divergencia mínima obtenida de la primera etapa del método en (3.3)). En el capítulo 4 se estudian las diferentes valoraciones obtenidas cambiando estos supuestos. En el apartado 4.4, se estudia el cambio de distribución a priori. En todos los ejemplos, además de obtener la valoración de máxima entropía, se obtienen todas las valoraciones en el intervalo libre de arbitraje. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 56 El resultado de esta segunda etapa es, por tanto, el valor del activo ilíquido, cuyo precio se busca calcular. 1 1M Mpri x e p e (3.8) A lo largo del trabajo se hace referencia al método en dos etapas aludiendo a este resultado tras el que ya se tiene la valoración del activo. 3.3 Tercera etapa: súper-replicación e intervalo libre de arbitraje Una vez que ya se ha resuelto el problema de la valoración del activo, se pueden encontrar la cartera súper-replicante y la cartera infra-replicante y estudiar la sensibilidad del valor del activo a diferentes elementos del modelo. Así pues, se definen las variables duales correspondientes a la variación de las probabilidades a priori 1,...,p Mw w w , al nivel de entropía 1Mw , a los activos de referencia 1 1 1,...,B M M Nw w w y a la restricción que salvaguarda que la probabilidad neutral al riesgo obtenida sea una masa de probabilidad (segunda ecuación en (3.2)) 2M Nw : 1 1 1 1 1 2,..., , , ,..., , Bp M M M M N M N ww w w w w w w w (3.9) Se resuelve el programa dual de (3.5) (respectivamente, de (3.6)): Valoración de activos por entropía relativa con programación lineal Olivia Peraita Ezcurra 57 1 1 11 1 1 2 1 1 1 1 1 21 1 1 2 1 1 1 2 3 max(min) max(min) 0 0 0 1 1s.a. , , , 0 0 0 1 1 NM p M B N M Nw ww wM M M M M M M M M M p M B M N N M N M N M M N M M M M N M q Dd w w w q w D w c wc I I I w w w w G 1 1 1 1 3 1 3 , 0 , 0M M M M M e (3.10) Según el teorema de dualidad fuerte de programación lineal (Bazaraa, Jarvis, & Sherali, 1984), el valor de la función objetivo del problema primal evaluada en la solución óptima pri x será igual al valor de la función objetivo del problema dual evaluada en la solución dual óptima *d w . Así pues, el óptimo que se obtiene en el caso de valoración de opciones mediante la minimización de la divergencia a la distribución a priori de máxima entropía en el intervalo es igual a la solución del dual. * * * * 1 1 1 1 tot p M B M M Md w w q w D w c e p e pri x (3.11) La expresión (3.11) da una interpretación alternativa a la solución del primal obtenida la segunda etapa del método propuesto en (3.7), donde se detalla las sensibilidades a cada uno de los elementos considerados en las restricciones del problema. Así pues, se puede ver en (3.11) que * Bw da la sensibilidad del valor del activo respecto a las variaciones de los precios de referencia22, * pw da la sensibilidad a cambios en la distribución de probabilidad a priori y *' 1Mw recoge la sensibilidad con respecto a la entropía, por medio del parámetros 22 Estas sensibilidades se pueden interpretar también como la cantidad de cada activo que permite la composición de la cartera súper-replicante, que es la cartera de menor coste que domina la réplica de la opción en términos de rentabilidad, tal y como se describe en el apartado 1.2.3. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 58 de divergencia D que toma el valor Dtot, hallado en la primera etapa del método, cuando se considera la distancia mínima a la distribución a priori de máxima entropía. Dependiendo de si se calcula el problema de maximización o minimización en (3.10), se obtienen los límites, inferior y superior, del intervalo libre de arbitraje definido en el apartado 1.2.2 en (1.19) y (1.20). Las valoraciones obtenidas dentro de estos límites se estudian en el capítulo 4, variando el parámetros D en (3.10), que mide la divergencia entre las dos distribuciones de probabilidad. En resumen, acabamos de introducir un nuevo método de valoración y cobertura por máxima entropía, basado en la resolución de un programa matemático con programación lineal. Este nuevo método: Valora activos que pueden ser poco frecuentes en el mercado. Permite la cobertura de la posición en el activo. Permite recorrer todo el intervalo libre de arbitraje mediante la variación de la distribución a priori o de la distancia entre las distribuciones a priori y a posteriori. 3.4 El método y la función de utilidad de los agentes En el método presentado, la función de utilidad que tienen los agentes es, hasta cierto punto irrelevante. Tal y como se ha visto, variando el parámetro D en (3.7), se pueden alcanzar todos los valores del intervalo libre de arbitraje. Cada uno de los valores obtenidos, se derivan de una probabilidad neutral al riesgo que proviene de un supuesto de utilidad diferente (Avellaneda, et al., 2001), luego el método permite valorar también mediante probabilidades neutrales al riesgo, que se podrían ser obtenidas bajo el supuesto de una utilidad diferente de la lineal. Pues, tal y como se indica en (Avellaneda, et al., 2001), a cada función convexa en (2.5), le corresponde una función de utilidad diferente. No obstante, en este apartado se muestra, mediante la transformada de Legendre, para la función elegida en (2.12) determinante de la distancia de variación-total, que subyace una función de utilidad lineal, reflejando unas preferencias riesgo-neutrales de los agentes. * * * * * *f x f x x x f x x x f x (3.12) Valoración de activos por entropía relativa con programación lineal Olivia Peraita Ezcurra 59 Sean I intervalo, :f I función convexa en I. Su transformada de Legendre, para * * *: sup x I I x x x f x es la función f*: * * * * * : sup x I f I x f x x x f x (3.13) En la Figura 3 se puede ver la interpretación geométrica de la transformada de Legendre, donde f* es la transforma de Legendre de f. Figura 3 Interpretación geométrica de la transformada de Legendre. Entonces, si en la Figura 3 f y f* son una función y su transformada de Legendre, queda claro que: Esta transformación es reflexiva: I* intervalo, f* función convexa en I*. Entonces, * *,f f I I , donde I, I* pueden diferir en sus fronteras, a lo sumo. Sea xsup al punto donde se alcanza el supremo. Entonces sup * * * * * *:x x f x x x f x f x x x f x (3.14) Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 60 En (3.14) se interpreta x* como la pendiente de una recta-hiperplano tangente y su imagen por la transformada de Legendre f* (x*) es el valor máximo para el cual se sigue cumpliendo la propiedad de que toda gráfica de f queda por encima del hiperplano tangente *x x f x . En el caso particular de 1f x x , que es la distancia de variación total23 que se minimiza en (3.1), se tiene que: 1 , 11 1, 1 x xf x x x x (3.15) A continuación se muestra que la transformada de Legendre de la utilidad riesgo-neutra ,u x x x es la función 1 ,x x x . Sustituyendo (3.15) en la fórmula del hiperplano tangente, se tiene que * * * *1x x f x x x x f x , donde f(x*) es una función definida por trozos. * * * * * * 1 1 1, 1 1 1 1, 1 x x x x x xf x x x x x x x (3.16) Hallamos el máximo de la función f(x*) derivando cada tramo de la función. * * * *1: 1 0 1f xx x xx . La función es creciente y tiene máximo en x = 1. Si se evalúa (3.16) en este punto, el valor es * * * * *1 1 1 , 1f x x x x . 23 Para más detalles sobre las propiedades de esta distancia, consúltese el apartado 2.2.3. Valoración de activos por entropía relativa con programación lineal Olivia Peraita Ezcurra 61 * * * *1: 1 0 1f xx x xx . La función es decreciente y tiene máximo en x = 1. Si se evalúa (3.16) en este punto, el valor es * * * * *1 1 1 , 1f x x x x . Los resultados para 1x 1x se pueden combinar como *I y el valor de la transformada de Legendre es * * * * * * , 1 1,1 1,f x x x x x1 1 1 , donde A1 es la función indicatriz que toma el valor 1 si x está en A y 0 en caso contrario. Se estudia la transformada inversa , 1 1,1 1,f x x x x x1 1 1 . Para f(x) = x, se tiene que * * * 1x x f x x x x x x cuya derivada es * * 1x x f x xx . En el intervalo [-1,1] * *0 1x x f x xx máximo en x = 1 (creciente) y la expresión de la función es f*(x*) = x* - 1. Por otro lado, * *0 1x x f x xx máximo en x = -1 (decreciente) y la expresión de la función es f*(x*) = -(x* - 1) = 1 - x*. Por tanto, la transformada de Legendre en el intervalo [-1,1] es * * * * * * * 1 , 1 11, 1 x xf x xx x (3.17) Se comprueba que para el intervalo x > 1 se cumple * * * 1f x x y para x < 1 se cumple que * * *1f x x . Luego, efectivamente, * * * 1f x x y se cumple que f** = f. La transformada de Legendre de la utilidad riesgo-neutra ,u x x x es la función 1 ,x x x , lo cual daría una justificación para que se mida la distancia entre la probabilidad a priori y a posteriori mediante (2.13). Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 62 Como ya se ha indicado, esto no implica una pérdida de la generalidad del nuevo método, ya que podemos acceder a todos los valores del intervalo libre de arbitraje mediante la variación del parámetro D en la segunda etapa del programa lineal en (3.5) y cada uno de estos valores se correspondería con una función de utilidad diferente. Equation Chapter (Next) Section 1 Aplicaciones Olivia Peraita Ezcurra 63 4 Aplicaciones En este capítulo presentamos diferentes aplicaciones del método de valoración en dos etapas de programación lineal descritas en (3.3) y (3.7). Para cada uno de los ejemplos, el análisis consiste en los siguientes pasos: 1. Calibración de la probabilidad neutral al riesgo p de máxima entropía a los precios observados en el mercado o tomados como valores de referencia. 2. Valoración de instrumentos fuera de la muestra (interpolación y extrapolación) y comparación de éstos con los precios reales observados o con los valores teóricos de Black-Scholes. 3. Para un instrumento concreto, determinación del intervalo libre de arbitraje, delimitado por min ec y max ec según (1.19) y (1.20), respectivamente, y estudio de la variación del valor dentro del intervalo en función de cada entropía de la distribución neutral al riesgo calibrada en cada caso. Los ejemplos se presentan por orden de complejidad, desde el más simple, al que requiere más elaboración. Valoración de opciones de compra europeas con una probabilidad neutral al riesgo calibrada en un entorno sintético a unos precios de referencia teóricos calculados con la fórmula de valoración de Black-Scholes en (1.14) y (1.15), con el supuesto de volatilidad constante. Valoración de opciones de compra europeas con una probabilidad neutral al riesgo calibrada a unos precios de opciones sobre el índice STOXX50E24 observados en el mercado que muestran una superficie de volatilidad implícita en forma de smile. Valoración de opciones de compra asiáticas geométricas con una probabilidad neutral al riesgo calibrada en un entorno sintético a unos precios de referencia 24 El índice Euro Stoxx 50 es un índice bursátil del Dow Jones está compuesto por las 50 empresas más grandes, por capitalización de mercado, en 12 países de la eurozona. Fue creado el 26 de febrero de 1998 y está elaborado por STOXX Limited, una joint venture entre Deutsche Börse AG y SIX Group AG. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 64 teóricos calculados con la fórmula de valoración de Black-Scholes, con el supuesto de volatilidad constante. Valoración de opciones de compra europeas con una probabilidad neutral al riesgo calibrada en un entorno sintético a unos precios de referencia teóricos calculados con la fórmula de valoración de Black-Scholes en (1.14) y (1.15), con el supuesto de volatilidad constante, pero variando la distribución de probabilidad a priori respecto a la cual se minimiza la distancia y que es utilizada como información previa que se tiene sobre eventos futuros. En este caso, la entropía no es máxima, puesto que se supone que esta distribución a priori no es uniforme en el intervalo. 4.1 Aplicación en la valoración de opciones con volatilidad constante En este primer ejemplo de aplicación del nuevo método de programación lineal en dos etapas propuesto en este trabajo de tesis y desarrollado en el capítulo 0, vamos a calibrar un vector de probabilidad neutral al riesgo con un grupo de opciones europeas sintéticas, esto es, cuyo precio no es el de cotización en el mercado sino el obtenido de la aplicación de la fórmula de Black-Scholes y cuyo subyacente ha sido también simulado sintéticamente. Este vector lo vamos a utilizar, después, para valorar otro grupo de opciones fuera de la muestra, tanto en ejemplos de interpolación, como de extrapolación en un enrejado de opciones sobre un mismo subyacente con igual tipo de interés y volatilidad, pero diferentes vencimientos y precios de ejercicio. 4.1.1 Calibración de la probabilidad neutral al riesgo Para calibrar el vector de probabilidad neutral al riesgo hemos utilizado opciones europeas de compra (call option) y de venta (put option) simuladas sintéticamente con vencimientos en 30, 60 y 90 días y precio de ejercicio (strike) de 90, 100 y 110 unidades monetarias, así como contratos forward con vencimientos en 30, 45, 60, 75, 90 y 120 días. En total, calibramos el vector de probabilidad neutral al riesgo con 25 opciones de referencia (benchmarks). Simulamos 5.000 trayectorias diferentes de la acción subyacente con simulaciones de Monte Carlo asumiendo una distribución log-normal de los precios con volatilidad Aplicaciones Olivia Peraita Ezcurra 65 constante = 25%, donde el precio de mercado inicial es de 100 unidades monetarias y se supone ausencia de dividendos. Por simplicidad, además, la tasa de interés r se supone nula. El modelo estocástico utilizado para la simulación del subyacente es el siguiente: 2 0 exp 2tS S r t t (4.1) donde S0 es el precio inicial del subyacente, tS son los precios simulados en cada momento de vencimiento t , r es la tasa de interés libre de riesgo, es la volatilidad, y es ruido aleatorio con distribución N (0,1). Tras la simulación del subyacente en cada uno de los diferentes caminos o trayectorias, calculamos el cash-flow de cada opción en dicho camino, que es la matriz G del modelo en (3.3) y (3.7), que son el programa lineal de calibración de la probabilidad neutral al riesgo (primera etapa) y el programa lineal de valoración del activo (segunda etapa), respectivamente. El valor utilizado como precio de referencia c es el obtenido de la fórmula de Black-Scholes. De esta manera, el supuesto que hay en este ejercicio sintético es que en el mercado sólo se encuentran las opciones de compra europeas con vencimiento y precio de ejercicio considerados para la calibración del modelo con precio de referencia ci, según la notación utilizada en el planteamiento del modelo en (3.1). Cuando se utiliza una aproximación paramétrica de valoración, si se quiere valorar una opción de compra europea con un vencimiento o precio de ejercicio no observado, sólo se le puede dar precio utilizando la fórmula analítica calibrada para hallar su valor. En vez de hacerlo de esta manera, que implica además ajustar los datos a una función que resulte conveniente, tal y como explica (Sampieri, 1997), se propone hacerlo por este método inverso de valoración de opciones ilíquidas, en el que se utiliza una probabilidad neutral al riesgo de máxima entropía calibrada a los precios ci sin asumir ninguna forma paramétrica de la distribución de la probabilidad e infiriéndola a partir de la resolución del programa lineal. En el ejemplo que se muestra a continuación, utilizamos una probabilidad neutral al riesgo p, calibrada a los precios de referencia ci que, en este ejemplo, son los precios teóricos de Black-Scholes, y la utilizamos para valorar distintas opciones fuera de la muestra de Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 66 referencia a lo largo de un enrejado de opciones con vencimiento t entre 20 y 120 días y precio de ejercicio K entre 80 y 120. Comparamos los resultados obtenidos de la calibración del método de programación lineal en dos etapas en el que se minimiza la distancia de variación-total (2.13) con los resultados obtenidos de la valoración que se obtienen de la minimización de la entropía relativa de Kullback-Leibler (2.7), según la metodología descrita en (Avellaneda, 1998) y (Avellaneda, et al., 2001). El algoritmo propuesto por (Avellaneda, et al., 2001) para calcular las probabilidades neutrales al riesgo es el siguiente: i. Constrúyase un conjunto de caminos mediante el uso del modelo elegido para los precios y un generador de números pseudo-aleatorios. ii. Calcúlese la matriz de flujos de los instrumentos de referencia en cada uno de los caminos ; 1,..., ; 1,...,ijg i N j M . iii. Utilícese un método de optimización, minimizando la función 1 log N i i i W Z c , desarrollada en (2.11). iv. Calcúlense las probabilidades neutrales al riesgo , 1,...,jp j M para cada camino utilizando Z y los valores óptimos de los multiplicadores de Lagrange 1,..., N . Para la optimización en el paso iii, se ha utilizado el algoritmo propuesto por (Elices & Giménez, 2006). Este algoritmo es utilizado también en (Arrieta, 2013) y (Arrieta, 2015). El algoritmo es el siguiente: 1. Simúlense N caminos con diferentes vencimientos con un Monte Carlo. 2. Calcúlense los precios ci25 del conjunto de instrumentos utilizados para la calibración. 25 Estos precios se calculan sólo en el caso de ejercicios sintéticos en los que se calibra la probabilidad neutral al riesgo a unos valores teóricos. Si se calibra la probabilidad neutral al riesgo a Aplicaciones Olivia Peraita Ezcurra 67 3. Calcúlense los pagos descontados ijg de los instrumentos en cada uno de los caminos simulados. 4. Fíjense los valores iniciales de los multiplicadores de Lagrange i igual a cero (esto es igual a dar el mismo peso a todos los caminos). 5. Calcúlese el vector gradiente y la matriz Jacobiana. 6. Calcúlese el óptimo de la aproximación de Segundo orden resolviendo el problema cuadrático. 7. Váyase al paso 5 hasta que el gradiente esté suficientemente cerca de cero. A continuación se muestran los resultados obtenidos mediante el método de minimización de la divergencia de Kullback-Leibler y el método de programación lineal en dos etapas presentado en este trabajo de tesis. En ambos casos se comparan las desviaciones de las valoraciones obtenidas con el valor teórico de Black-Scholes, puesto que la distribución de probabilidad neutral al riesgo es calibrada a los precios teóricos arrojados por este modelo. En la Tabla 3 se muestra una tabla tipo, de visualización de los resultados, en la que se han coloreado las diferentes zonas, para ayudar a la comprensión de los resultados. Strike Vencimiento (días) 20 30 45 60 75 90 120 80 85 90 95 100 105 110 115 120 Tabla 3 Para mejor comprensión de la Tabla 4 y la Tabla 5, se describen las distintas zonas consideradas: instrumentos utilizados para la calibración en la muestra de referencia y con precios observados ci (rosa), zona de interpolación (gris) y zona de extrapolación (rallas oblicuas). unos precios de mercado, tal y como se hace en Aplicación en la valoración de opciones en un caso real, no es necesario este paso. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 68 Las desviaciones obtenidas entre la valoración obtenida tras la calibración de la probabilidad neutral al riesgo utilizando el método de Monte Carlo ponderado propuesto por (Avellaneda, et al., 2001), que se basa en maximizar la entropía minimizando la entropía relativa de Kullback-Leibler, y los precios observados en el mercado, que en este caso son los precios obtenidos de la fórmula teórica de Black-Scholes se muestran en la Tabla 4. Tal y como ya se demuestra en (Avellaneda, et al., 2001), este método de minimización de la divergencia de Kullback-Leibler valora correctamente las opciones utilizadas como referencia en la calibración del modelo. Se puede observar también que se obtienen desviaciones mayores en los casos de extrapolación (valoración de opciones con precio de ejercicio y vencimiento en la parte del enrejado fuera de las opciones de referencia) que en los de interpolación (valoración de opciones con precio de ejercicio y vencimiento dentro del enrejado de las opciones de referencia). Strike Vencimiento (días) 20 30 45 60 75 90 120 80 -0,01% -0,01% -0,06% 0,00% -1,13% -0,02% 1,73% 85 -0,02% -0,02% -0,14% -0,04% -1,46% -0,03% 2,05% 90 -0,10% 0,00% -0,25% 0,00% -1,87% 0,00% 2,29% 95 -0,33% -0,08% -0,30% 0,05% -2,66% -0,04% 2,60% 100 -0,56% 0,00% -0,39% 0,00% -3,75% 0,00% 2,75% 105 1,57% -0,62% -1,91% -0,26% -5,18% -0,27% 2,19% 110 8,51% 0,00% -4,78% 0,00% -6,64% 0,00% 0,66% 115 18,35% -2,90% -3,03% -1,44% -8,32% -0,45% -1,80% 120 77,11% -7,29% 4,72% -0,07% -8,25% -1,42% -5,04% Tabla 4 Valoración de las distintas opciones de compra (call) europeas tras la calibración de la RNP utilizando una minimización de la distancia de Kullback- Leibler como entropía relativa. Se muestra las desviaciones relativas respecto al precio teórico de Black-Scholes. Las opciones de referencia son las celdas sombreadas en color. En la Tabla 5 vemos las desviaciones obtenidas en la valoración de opciones de venta europeas tras la calibración de la probabilidad neutral al riesgo utilizando el nuevo método presentado en el capítulo 0 de este trabajo de tesis. Este modelo se ha calibrado utilizando la misma matriz de flujos de caja G que en la calibración del modelo de Monte Carlo ponderado y utilizando como opciones de referencia las mismas opciones valoradas con el precio teórico de Black-Scholes que se han utilizado en el ejercicio anterior de la Tabla 4. Aplicaciones Olivia Peraita Ezcurra 69 Strike Vencimiento (días) 20 30 45 60 75 90 120 80 0,00% 0,01% 0,02% 0,09% -0,05% -0,02% 0,03% 85 0,00% 0,03% 0,12% 0,07% -0,11% -0,01% -0,06% 90 0,06% 0,00% 0,16% 0,00% -0,07% 0,00% -0,10% 95 0,35% -0,05% 0,20% 0,18% 0,08% -0,04% -0,49% 100 2,28% 0,00% 0,20% 0,00% 0,76% 0,00% -1,12% 105 8,06% 0,97% -0,07% -0,33% 1,46% -0,20% -2,37% 110 15,54% 0,00% -2,51% 0,00% 2,50% 0,00% -4,57% 115 17,42% -0,94% -1,95% 0,88% 1,71% -2,26% -8,04% 120 85,00% -6,29% -3,53% 2,10% -1,60% -6,93% -12,6% Tabla 5 Valoración de las distintas opciones de compra (call) europeas tras la calibración de la RNP utilizando una minimización de la distancia de variación total, propuesta en este trabajo de tesis, como entropía relativa. Se muestra las desviaciones relativas respecto al precio teórico de Black-Scholes. Las opciones de referencia son las celdas sombreadas en color rojo. Las celdas sombreadas en verde muestran las opciones valoradas con una distancia menor al precio teórico de Black-Scholes con la metodología propuesta en este trabajo de tesis que la metodología que utiliza la distancia de Kullback-Leibler. Las valoraciones obtenidas, resultan del cálculo de la esperanza matemática de los flujos de caja respecto a una probabilidad neutral al riesgo. La forma que tienen estas distribuciones, calibradas a los precios de referencia minimizando la divergencia (distinta en cada caso del ejemplo) respecto a la distribución a priori de máxima entropía, es diferente, obteniéndose valores más extremos en el resultado obtenido de la minimización de la distancia de variación total frente a los valores obtenidos de la minimización de la divergencia de Kullback-Leibler que arroja valores centrados en la distribución uniforme y con una dispersión mucho menor. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 70 Figura 4 Probabilidades neutrales al riesgo calibradas mediante la minimización de la distancia de variación total (negro) y divergencia de Kullback-Leibler (gris). Podemos deducir de los datos considerados para dibujar la Figura 4 los dos primeros momentos de las distribuciones de probabilidades. El promedio de la distribución neutral al riesgo obtenida de la minimización de la entropía relativa de Kullback-Leibler en el ejemplo es µ = 0,00019995 y la obtenida de la minimización de la distancia de variación total es µ = 0,0002. La desviación típica de ambas distribuciones es = 0,0012% y = 0,0049%, respectivamente, tal y como puede intuirse de la mayor dispersión que se aprecia en el vector de probabilidad neutral al riesgo resultante del método en dos etapas de programación lineal (dibujada en negro en la Figura 4). 0.0000 0.0002 0.0004 0.0006 0.0008 0.0010 0.0012 0.0014 0.0016 0.0018 Aplicaciones Olivia Peraita Ezcurra 71 Figura 5 Distribución acumulada de probabilidades neutrales al riesgo calibradas mediante la minimización de la distancia de variación total (negro) y divergencia de Kullback-Leibler (gris). En la Figura 5, observamos que en el caso de la probabilidad neutral al riesgo obtenida del método de minimización de la entropía relativa, la mayoría de los caminos tienen probabilidad de ocurrencia entre 0,017% y 0,024% (en menor medida hay caminos que tiene probabilidad de ocurrencia hasta 0,029%). En cambio, en el caso de la probabilidad neutral al riesgo obtenida del método de dos etapas de programación lineal, hay caminos que tienen probabilidad nula de ocurrencia, la mayoría tienen una probabilidad de ocurrencia entre 0,019% y 0,02% y existen un número de menor de caminos con una probabilidad de ocurrencia de hasta 0,17%. Finalmente, comparamos la entropía de las dos distribuciones de probabilidad obtenidas. Calculamos la entropía de los vectores de probabilidad neutral al riesgo de los métodos de valoración comparados (el que utiliza la divergencia de Kullback-Leibler y el método de valoración en dos etapas con programación lineal), según la fórmula en (2.1). El resultado se puede ver en la Tabla 6. Se observa que, tal y como se comentaba al enunciar la desigualdad de Pinsker (2.14) en el apartado 2.2.3, ambos valores de entropía están muy próximos. Kullback-Leibler Variación total 8,52 8,50 Tabla 6 Entropía de las probabilidades neutrales al riesgo obtenidas de la calibración mediante la minimización de la divergencia de Kullback-Leibler o entropía relativa y la distancia de variación total (utilizando el método en dos etapas propuesto en el capítulo 0. 0.0 0.2 0.4 0.6 0.8 1.0 0.011% 0.013% 0.015% 0.017% 0.019% 0.021% 0.023% Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 72 4.1.2 Determinación del intervalo libre de arbitraje Una vez que hemos calibrado la probabilidad neutral al riesgo a los precios de mercado, procedemos a utilizar esta distribución de probabilidad para la valoración de opciones para las que no se tiene un precio de referencia, como pudieran ser los instrumentos de nivel 3 introducidos en el apartado 1.3. Para este ejemplo ilustrativo, se ha elegido una opción para valorar, cuyo flujo de caja no es una combinación lineal de las opciones de referencia utilizadas en la muestra de calibración. Esta opción tiene las siguientes características: S0 = 100, t = 60, K = 95, r = 0 y = 25%. El intervalo libre de arbitraje para el precio ec que satisfice la condición de no arbitraje, viene determinado por un límite inferior min ec , calculado según (1.19), y un límite superior max ec , calculado según (1.20), tal y como se ha visto en 1.2.2. Valoramos la opción elegida (S0 = 100, t = 60, K = 95, r = 0 y = 25%) con el método en dos etapas de programación lineal dado por (3.1) y (3.5) o, en su notación matricial, por (3.3) y (3.7). Además, calculamos los límites del intervalo libre de arbitraje. Los resultados se muestran en la Tabla 7. Valor de la opción Límite superior max ec 7,41 Entropía máxima *ec pri x 6,97 Black-Scholes 6,96 Límite inferior min ec 5,92 Tabla 7 Resultado del cálculo de los tres valores principales del intervalo libre de arbitraje (límite superior max ec , límite inferior min ec y precio obtenido de la valoración con el vector de probabilidad neutral al riesgo con máxima entropía min max,e e ec c c ) y el precio teórico de la valoración de opciones de Black- Scholes. Se ha considerado una opción de venta europea con S0 = 100, t = 60, K = 95, r = 0 y =25%. Una vez que hemos determinado los tres valores principales (el límite superior max ec del intervalo libre de arbitraje, el límite inferior min ec del intervalo de arbitraje y el precio Aplicaciones Olivia Peraita Ezcurra 73 obtenido de la valoración con el vector de probabilidad neutral al riesgo con máxima entropía *ec pri x ), podemos recorrer el intervalo libre de arbitraje de la siguiente manera: 1. Resolvemos la segunda etapa del programa lineal en (3.5), lo que permite recorrer el intervalo desde min ec hasta *ec pri x . Esto se hace incrementando el parámetro D, que denota la distancia entre la distribución a priori y la distribución neutral al riesgo, desde Dtot hasta alcanzar en la valoración el límite inferior del intervalo libre de arbitraje. 2. Resolvemos la segunda etapa del programa lineal en (3.6), lo que permite recorrer el intervalo desde *ec pri x hasta max ec . Esto se hace incrementando el parámetro D, que denota la distancia entre la distribución a priori y la distribución neutral al riesgo, desde Dtot hasta alcanzar en la valoración el límite superior del intervalo libre de arbitraje. En la Figura 6 se muestra el recorrido a lo largo del intervalo. Para entender con facilidad el gráfico, nos apoyamos en los resultados mostrados en la Tabla 7. El intervalo va de 5,92 a 7,41 (eje-y izquierdo). A cada valor de la opción (línea sólida negra) le corresponde un valor diferente de entropía. Cuando la entropía toma su máximo valor de 8,5 (eje-y derecho), que es el que vemos en la Tabla 6, se obtiene el valor que asigna al instrumento este método en dos etapas de programación lineal, que es de 6,97. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 74 Figura 6 Precio de la opción (línea negra sólida, eje-y izquierdo). El precio de la opción varía desde min 5,92ec hasta max 7,41ec , pasando por el valor óptimo (de máxima entropía) * 6,97ec pri x según los valores indicados en la Tabla 7. Entropía (línea discontinua, eje-y derecho). La distancia entre la distribución a priori, y la distribución neutral al riesgo óptima, denotada por D (eje-x) es el parámetro de la segunda etapa del programa lineal en (3.5) (respectivamente (3.6)) 4.2 Aplicación en la valoración de opciones en un caso real Si se representa la volatilidad implícita en función de los precios, se puede obtener dos tipos de figuras, smile y skew, dependiendo de la naturaleza del subyacente pero, en cualquier caso, se observa que se incumple el supuesto de volatilidad constante de la fórmula de Black-Scholes, tal y como se ha introducido en el apartado 1.1.3. En este ejemplo mostramos cómo el nuevo método de programación lineal en dos etapas desarrollado en el capítulo 3 respeta la relación no lineal entre la volatilidad y el precio de ejercicio. 4.2.1 Calibración de la probabilidad neutral al riesgo Para probar el funcionamiento del método propuesto en un entorno real en el que la volatilidad no es constante, hemos calibrado la distribución de probabilidad que utilizaremos en la valoración con datos reales como referencia. Para esto, se han utilizado precios opciones de venta sobre el índice STOXX50E a día 23 de marzo de 2015 (con un 4.5 5 5.5 6 6.5 7 7.5 8 8.5 5.9 6.1 6.3 6.5 6.7 6.9 7.1 7.3 7.5 12 10 8 6 4 2 0 2 4 6 ent rop ía pre cio de la opc ión D Aplicaciones Olivia Peraita Ezcurra 75 respectivamente) y precios de ejercicio (strike) Calibramos una probabilidad neutral al riesgo con 34 opciones de la muestra y el resto las dejamos fuera de la muestra para utilizarlas como contraste y así probar la validez de las valoraciones obtenidas con la probabilidad neutral al riesgo obtenida de la aplicación del programa lineal en dos etapas propuesto en este trabajo. El vector de probabilidad neutral al riesgo con mínima distancia de variación-total a la distribución a priori de máxima entropía (uniforme) y sujeto a la restricción de calibración a los precios de referencia observados en el mercado (las 34 opciones sobre el índice), lo utilizamos en este ejemplo para: 1. Valorar las 512 opciones negociadas sobre el índice STOXX50E a día 23 de marzo de 2015. 2. Valorar opciones para un vencimiento determinado y diferentes precios de ejercicio, para calcular precios de opciones no negociadas (o ilíquidas). La primera etapa del método de programación lineal consiste en la calibración de la probabilidad neutral al riesgo que, posteriormente, se utiliza para valorar. Tenemos todos los elementos del programa lineal en (3.1) menos la matriz de flujos G. Para calcularla, primero simulamos el subyacente utilizando la volatilidad implícita observada de los precios cotizados en el mercado y asumiendo un comportamiento log-normal del precio, con una tasa de interés en (4.1) del mercado. El subyacente para cada opción considerada lo simulamos de manera independiente, aunque todas estas opciones están referenciadas al mismo índice STOXX50E. Tal y como hemos hecho en el ejemplo anterior, del apartado 4.1, lanzamos M = 5.000 trayectorias del activo subyacente según (4.1) y calculamos la matriz de flujos G de las opciones sobre el subyacente. Tras calibrar la probabilidad neutral al riesgo, valoramos los activos con el programa lineal en (3.5) correspondiente a la segunda etapa del método. Tal y como se muestra en la Figura 7 y en la Figura 8 los valores obtenidos de la utilización de la probabilidad neutral al riesgo resultante del modelo propuesto de programación lineal en dos etapas es similar a los valores observados en el mercado. En las figuras, las valoraciones se comparan en términos de la volatilidad implícita derivada de la fórmula de Black-Scholes según se ha definido en el apartado 1.1.3. Así, podemos apreciar la forma de Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 76 sonrisa que se obtiene al considerar diferentes precios de ejercicio para opciones a un mismo vencimiento. La Figura 7 corresponde al ejemplo de valoración de opciones negociadas, donde comparamos los precios de mercado que habíamos dejado fuera de la muestra de calibración con las valoraciones obtenidas con el método de programación lineal. La Figura 8 corresponde al ejemplo de valoración de opciones no negociadas, en el que estudiamos el comportamiento de las valoraciones arrojadas por el método de programación lineal para interpolación y extrapolación de las valoraciones de precios de ejercicio no observados en el mercado. En las dos figuras se muestra que el método de programación lineal de valoración en dos etapas propuesto valora adecuadamente en los dos casos de opciones negociadas y no negociadas en el mercado. Figura 7 Sonrisa de volatilidad (vencimiento 15 de diciembre de 2017). Volatilidades implícitas de las opciones valoradas con la probabilidad neutral al riesgo obtenida del modelo propuesto de programación lineal en dos etapas (círculos) y los precios observados sobre las mismas opciones (cruces) en el mercado el 23 de marzo de 2015. 0.19 0.2 0.21 0.22 0.23 0.24 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 vol atil ida d im plíc ita log-moneyness (grado del dinero) Aplicaciones Olivia Peraita Ezcurra 77 Figura 8 Sonrisa de volatilidad (vencimiento 15 de diciembre de 2017). Volatilidades implícitas de las opciones, con precios de ejercicio no negociados en el mercado, valoradas con la probabilidad neutral al riesgo obtenida del modelo propuesto de programación lineal en dos etapas (círculos) y los precios observados de las opciones con precios de ejercicio negociados (cruces) en el mercado el 23 de marzo de 2015. En esta figura se puede observar el caso de interpolación (círculos entre las cruces) y extrapolación (círculos fuera de las cruces). 4.2.2 Determinación del intervalo libre de arbitraje Al igual que en el caso de volatilidad constante, calculamos los tres valores principales del programa lineal ( min ec , *ec pri x y max ec ) y la valoración que arroja el modelo de Black-Scholes. En la Tabla 8 se muestra un ejemplo de interpolación (opción sobre el índice STOXX50E a día 23 de marzo de 2015 y otro de extrapolación (opción sobre el índice STOXX50E a día 23 de marzo de 2015 con precio de la valoración de opciones con precios de ejercicio no negociados en el mercado. Al igual que antes, el límite inferior min ec lo calculamos resolviendo (1.19) y el límite superior max ec es la solución al programa (1.20). Después, valoramos cada opción con el método de programación lineal de valoración en dos etapas definido en (3.1) y (3.5) o, en su notación matricial, en (3.3) y (3.7). En ambos casos el precio resultante de la valoración con la distribución neutral al riesgo de máxima entropía calibrada a los precios de mercado es similar al resultante de la valoración de Black-Scholes, que se muestra como referencia. 0.18 0.19 0.2 0.21 0.22 0.23 0.24 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 vol atil ida d im plíc ita log-moneyness (grado del dinero) Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 78 Valor de la opción: interpolación Valor de la opción: extrapolación Límite superior max ec 1.856,41 1.730,71 Entropía máxima *ec pri x 1.848,80 1.719,26 Black-Scholes 1.848,82 1.719,29 Límite inferior min ec 1.848,61 1.718,96 Tabla 8 Resultado del cálculo de los tres valores principales del intervalo libre de arbitraje (límite superior max ec , límite inferior min ec y precio obtenido de la valoración con el vector de probabilidad neutral al riesgo con máxima entropía min max,e e ec c c ) y el precio teórico de la valoración de opciones de Black- Scholes. El caso de interpolación se corresponde con una opción sobre el índice vencimiento en 998 días, el caso de extrapolación se corresponde con una opción sobre el mismo índice y fecha, con pr998 días. En la Figura 9 y en la Figura 10 podemos ver el recorrido completo del intervalo para los caso de interpolación y extrapolación incluidos en ambas columnas de la Tabla 8. Figura 9 Precio de la opción (línea negra sólida, eje-y izquierdo). El precio de la opción varía desde min 1.848,61ec hasta max 1.856,41ec , pasando por el valor óptimo (de máxima entropía) * 1.848,80ec pri x según los valores indicados en la Tabla 8. Entropía (línea discontinua, eje-y derecho). La distancia entre la distribución a priori, y la distribución neutral al riesgo óptima, denotada por D (eje-x) es el parámetro de la segunda etapa del programa lineal en (3.5) (respectivamente (3.6)). 1 2 3 4 5 6 7 8 9 10 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 20 15 10 5 0 ent rop ía pre cio de la opc ión D Aplicaciones Olivia Peraita Ezcurra 79 Figura 10 Precio de la opción (línea negra sólida, eje-y izquierdo). El precio de la opción varía desde min 1.718,96ec hasta max 1.730,71ec , pasando por el valor óptimo (de máxima entropía) * 1.719, 26ec pri x según los valores indicados en la Tabla 8. Entropía (línea discontinua, eje-y derecho). La distancia entre la distribución a priori, y la distribución neutral al riesgo óptima, denotada por D (eje-x) es el parámetro de la segunda etapa del programa lineal en (3.5) (respectivamente (3.6)). 4.3 Aplicación en la valoración de opciones asiáticas En este apartado, se muestran los resultados obtenidos de la valoración de una opción exótica con el método propuesto de programación lineal por metas en dos etapas. Se ha elegido la opción de compra (call) asiática geométrica, por existir una fórmula analítica para valorarla (Kemna & Vorst, 1990). Con la cual podemos comparar nuestros resultados Una opción asiática es una opción cuyo pago depende del precio medio del subyacente durante un determinado periodo de tiempo (Hull, 2009). La opción de compra asiática geométrica se define como: max ,0mediaS K (4.2) donde Smedia es, según (4.3) la media geométrica del valor del subyacente S en un intervalo determinado de tiempo y K es el precio de ejercicio. 2 3 4 5 6 7 8 9 10 1717 1721 1725 1729 1733 20 15 10 5 0 ent rop ía pre cio de la opc ión D Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 80 1 1 1 0 1 2 0 nn nmedia n i i S S S S S S (4.3) Las opciones asiáticas de media geométrica no se suelen encontrar en el mercado, pero son útiles en ejemplos teóricos por tener una fórmula analítica. Estas opciones son matemáticamente convenientes porque la media geométrica de variables aleatorias lognormales es también lognormal (Glasserman, 2003). Asumiendo que el precio medio es lognormal, se puede utilizar el modelo de (Black & Scholes, 1973) 0 1 2 rT T TC e S e d K d (4.4) donde x es la función de densidad normal estándar, 20 1 1log 2 S TKd T , 20 2 1log 2 S TKd T , 2 21 1 2 2r y 2 1 6 1 n n . Se utiliza el método en dos etapas. Tras la primera etapa del modelo de programación lineal propuesto en (3.1) se obtiene la probabilidad neutral al riesgo de máxima entropía en el intervalo libre de arbitraje (que se obtiene en la tercera etapa) y calibrada a los 25 instrumentos de referencia de la Tabla 9. Tras haber calibrado la probabilidad neutral al riesgo con menor divergencia respecto a la distribución a priori de máxima entropía, pasamos a resolver la segunda etapa del método de programación lineal para obtener la valoración de un activo. En concreto: Valoramos todas las opciones de compra y de venta con vencimientos 20, 30, 45, 60, 75, 90 y 120 y precio de ejercicio entre 80 y 120 (con incrementos de 5) con resultados en la Tabla 10 y la Tabla 11. Estudiamos el comportamiento de una opción de compra asiática geométrica con S0 = 100, r = 0, = 25%, t = 60 y K = 95 mediante la variación de la divergencia D del problema de la segunda etapa en (3.5) dentro del intervalo libre de arbitraje Aplicaciones Olivia Peraita Ezcurra 81 determinado en la tercera etapa y cuyos límites se obtienen de la resolución de (1.19) y (1.20) (obteniendo min ec y max ec , respectivamente). 4.3.1 Calibración de la probabilidad neutral al riesgo En este caso, utilizamos una cartera de precios de referencia de opciones de compra y de venta asiáticas simuladas, con diferentes vencimientos y precios de ejercicio. Además, se han incluido contratos forward. En concreto suponemos un valor del subyacente en el momento inicial de S0 = 100, el tipo de interés r = 0, volatilidad constante = 25%, vencimientos 30, 60 y 90 y precios de ejercicio 90, 10 y 110. Para los contratos forward se han tomado los mismos supuestos para S0, r y . Los vencimientos considerados son 20, 30, 45, 60, 75, 90 y 120. En la Tabla 9 vemos el detalle de las características de estos instrumentos utilizados como cartera de referencia para la calibración de la probabilidad neutral al riesgo con el método de programación lineal. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 82 S0 r t K opción 100 0 0,25 20 0 contrato forward 100 0 0,25 30 0 contrato forward 100 0 0,25 45 0 contrato forward 100 0 0,25 60 0 contrato forward 100 0 0,25 75 0 contrato forward 100 0 0,25 90 0 contrato forward 100 0 0,25 120 0 contrato forward 100 0 0,25 30 90 opción de compra 100 0 0,25 60 90 opción de compra 100 0 0,25 90 90 opción de compra 100 0 0,25 30 100 opción de compra 100 0 0,25 60 100 opción de compra 100 0 0,25 90 100 opción de compra 100 0 0,25 30 110 opción de compra 100 0 0,25 60 110 opción de compra 100 0 0,25 90 110 opción de compra 100 0 0,25 30 90 opción de venta 100 0 0,25 60 90 opción de venta 100 0 0,25 90 90 opción de venta 100 0 0,25 30 100 opción de venta 100 0 0,25 60 100 opción de venta 100 0 0,25 90 100 opción de venta 100 0 0,25 30 110 opción de venta 100 0 0,25 60 110 opción de venta 100 0 0,25 90 110 opción de venta Tabla 9 Cartera de referencia utilizada para la calibración de la probabilidad neutral al riesgo utilizada para la valoración de opciones asiáticas geométricas con el método en dos etapas de programación lineal. A continuación se muestra una comparativa de los resultados de la valoración con la probabilidad neutral al riesgo de máxima entropía. Esta entropía máxima recordemos que se ha calculado mediante la minimización de la divergencia entre una probabilidad a priori que es la de máxima entropía en el intervalo y la probabilidad neutral al riesgo calibrada a los precios de mercado. En el primer ejemplo, medimos la divergencia en términos de la divergencia de Kullback-Leibler definida en (2.7). En el segundo ejemplo, medimos la divergencia mediante la distancia de variación-total en (2.13). En la Tabla 10 vemos la comparativa de la valoración mediante la minimización de la entropía relativa y el valor teórico de la opción obtenido de la fórmula analítica de Black- Scholes. Aplicaciones Olivia Peraita Ezcurra 83 Strike Vencimiento (días) 20 30 45 60 75 90 120 80 -0,35% 0,00% 0,02% 0,00% 0,00% 0,00% 0,02% 85 -0,47% 0,00% 0,02% 0,00% -0,02% -0,02% -0,02% 90 -0,70% 0,00% 0,02% 0,00% 0,01% 0,00% -0,07% 95 -1,27% -0,03% -0,02% -0,11% -0,12% -0,06% 0,05% 100 -2,66% 0,00% -0,09% 0,00% -0,08% 0,00% -0,13% 105 -4,73% -0,76% 0,07% 0,89% 1,24% 0,64% -0,16% 110 -0,41% 0,00% -1,91% 0,00% -1,49% 0,00% -1,76% 115 (*) (*) -64,68% -23,37% -2,34% -5,27% -4,06% 120 (*) (*) (*) -83,92% -31,22% -5,27% -13,37% Tabla 10 Valoración de las distintas opciones de compra (call) asiática geométrica tras la calibración de la RNP utilizando una minimización de la distancia de Kullback-Leibler como entropía relativa. Se muestra las desviaciones relativas respecto al precio teórico de Black-Scholes. Las opciones de referencia son las celdas sombreadas en color. (*) El método Monte Carlo con 5.000 simulaciones no ha permitido su valoración, por su baja probabilidad de ejercicio. En la Tabla 11 vemos el resultado de la valoración resultante de la minimización de la distancia de variación-total y la valoración de Black-Scholes. Además, se resaltan los casos en los que la valoración que da el método en dos etapas propuesto difiere en menor medida del de Black-Scholes que cuando se minimiza la entropía relativa de Kullback-Leibler. Strike Vencimiento (días) 20 30 45 60 75 90 120 80 -0,15% 0,00% 0,01% 0,00% 0,00% 0,00% 0,01% 85 -0,20% 0,00% 0,02% -0,01% -0,01% -0,03% -0,04% 90 -0,30% 0,00% 0,02% 0,00% 0,00% 0,00% -0,06% 95 -0,55% -0,05% -0,10% -0,13% -0,06% 0,00% 0,05% 100 0,16% 0,00% -0,19% 0,00% -0,01% 0,00% -0,37% 105 9,53% -0,36% 0,56% 0,92% 1,18% 0,50% -0,23% 110 72,20% 0,00% 3,07% 0,00% -1,15% 0,00% -1,70% 115 (*) (*) -77,96% -41,89% -8,52% -12,50% -6,56% 120 (*) (*) (*) -90,25% -51,19% -23,46% -24,25% Tabla 11 Valoración de las distintas opciones de compra (call) asiáticas geométricas tras la calibración de la RNP utilizando una minimización de la distancia de variación total, propuesta en este trabajo de tesis, como entropía relativa. Se muestra las desviaciones relativas respecto al precio teórico de Black-Scholes. Las opciones de referencia son las celdas sombreadas en color rojo. Las celdas sombreadas en verde muestran las opciones valoradas con una distancia menor al precio teórico de Black-Scholes con la metodología propuesta en este trabajo de tesis que la metodología que utiliza la distancia de Kullback- Leibler. (*) El método Monte Carlo con 5.000 simulaciones no ha permitido su valoración, por la baja probabilidad de ejercicio de la opción. En ambos casos, en la valoración de los instrumentos que se encuentran en la muestra de calibración, obtenemos el precio exacto. Además, observamos que el método de Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 84 programación lineal propuesto arroja precios muy similares a los obtenidos por el modelo teórico de Black-Scholes, sobre todo en los casos de interpolación. 4.3.2 Determinación del intervalo libre de arbitraje Con la resolución del dual, obtenemos los límites del intervalo libre de arbitraje min ec y max ec , resolviendo (1.19) y (1.20), respectivamente, que es lo mismo que la solución de la tercera etapa del modelo en (3.10). Se ha estudiado el comportamiento de una opción de compra asiática geométrica con S0 = 100, r = 0, = 25%, t = 60 y K = 95 mediante la variación de la divergencia D del problema en la segunda etapa en (3.5) dentro del intervalo libre de arbitraje determinado en la tercera etapa. Tanto el precio *ec pri x , obtenido de la valoración con la probabilidad neutral al riesgo de máxima entropía con (3.5) en la segunda etapa del modelo, como los límites del intervalo de arbitraje, resultados de la resolución de (3.10) en la tercera etapa del modelo de programación lineal, pueden verse en la Tabla 12. Valor de la opción Límite superior max ec 6,15 Entropía máxima *ec pri x 5,53 Black-Scholes 5,53 Límite inferior min ec 5,04 Tabla 12 Resultado del cálculo de los tres valores principales del intervalo libre de arbitraje (límite superior max ec , límite inferior min ec y precio obtenido de la valoración con el vector de probabilidad neutral al riesgo con máxima entropía min max,e e ec c c ) y el precio teórico de la valoración de opciones de Black- Scholes. Se ha considerado una opción de compra asiática geométrica con S0 = 100, t = 60, K = 95, r = 0 y = 25%. En la Figura 11 vemos el gráfico resultante de variar el parámetro de divergencia D en la segunda etapa del método de programación lineal, lo que permite obtener resultados para el valor de la opción con diferentes calibraciones de la probabilidad neutral al riesgo (línea negra sólida) con diferentes valores de entropía (línea discontinua). El valor de la opción Aplicaciones Olivia Peraita Ezcurra 85 correspondiente a la divergencia D entre la distribución a priori y la probabilidad neutral al riesgo buscada, corresponde al obtenido tras la utilización de la probabilidad neutral al riesgo de máxima entropía calibrada a los precios de referencia. Figura 11 Precio de la opción (línea negra sólida, eje-y izquierdo). El precio de la opción varía desde min 5,04ec hasta max 6,15ec , pasando por el valor óptimo (de máxima entropía) * 5,53ec pri x según los valores indicados en la Tabla 12. Entropía (línea discontinua, eje-y derecho). La distancia entre la distribución a priori, y la distribución neutral al riesgo óptima, denotada por D (eje-x) es el parámetro de la segunda etapa del programa lineal en (3.5) (respectivamente (3.6)). 4.4 Aplicación en la valoración con variación de la distribución a priori La distribución de máxima entropía en un intervalo cerrado es la uniforme, como se detalla en Entropía y dicha entropía tiene valor determinado por los límites del intervalo libre de arbitraje según se detalla en la fórmula en (2.4). Sin embargo, se podría suponer que se tiene cierta información sobre la probabilidad de ocurrencia de determinados eventos que podría llevarnos a concluir que no todos los caminos son equiprobables y, por lo tanto, se quisieran asignar diferentes probabilidades a cada uno de ellos. En este apartado presento un ejercicio sintético para mostrar la validez del método en un entorno en el que la distribución a priori no sea la uniforme. 5.5 6 6.5 7 7.5 8 8.5 5 5.2 5.4 5.6 5.8 6 6.2 10 5 0 5 ent rop ía pre cio de la opc ión D Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 86 4.4.1 Calibración de la probabilidad neutral al riesgo Al igual que en el caso sintético del apartado 4.1. Se han utilizado opciones europeas de compra (call option) y de venta (put option) simuladas sintéticamente con vencimientos en 30, 60 y 90 días y precio de ejercicio de 90, 100 y 110 unidades monetarias, así como contratos forward con vencimientos en 30, 45, 60, 75, 90 y 120 días. En total, se calibra el vector de probabilidad neutral al riesgo con 25 opciones de referencia (benchmarks). Se simulan 5000 trayectorias diferentes de la acción subyacente con simulaciones de Monte Carlo, tomando los mismos supuestos para simular (4.1) que en el ejercicio sintético en el apartado 4.1 (S0 = 100, r = 0 y = 25%). Como distribución a priori, se ha definido una función normal truncada fuera del intervalo y normalizada para que siga integrando a la unidad, con media µ = 0,0002 y = 0,0007%, tal y como se muestra en la Figura 12. Denominaremos, en adelante, a esta distribución e Figura 12 Función de distribución normal truncada utilizada como información a priori con media µ = 0,0002 y = 0,0007%. Los valores que toman ambas distribuciones de probabilidades, calibradas minimizando la distancia a una distribución a priori diferente, son, a primera vista, similares. Sin embargo, si se estudia más en detalle la distribución en torno a los valores que toman ambas distribuciones a priori, excluyendo los valores extremos, se observa que toman valores diferentes. 0.00018 0.00019 0.00020 0.00021 Aplicaciones Olivia Peraita Ezcurra 87 En la Figura 13, se ha incluido las gráficas de las dos probabilidades neutrales al riesgo obtenidas. La distribución dibujada en negro, se corresponde con la probabilidad neutral al riesgo obtenida de la calibración del método en dos etapas utilizando una distribución a priori uniforme, tal y como se describe en el apartado 4.1 y se muestra en la Figura 4. En gris, se muestra la probabilidad neutral al riesgo obtenida de la calibración del método en dos etapas, haciendo un supuesto diferente sobre la información a priori diferente del de máxima entropía. En la Figura 13, se muestra la probabilidad neutral al riesgo, que se parece a la distribución utilizada como información a priori, siendo completadas, estas distribuciones con unos valores extremos en algunos caminos. Figura 13 Excluyendo la visualización de los valores extremos de la Figura 12, se muestran las probabilidades neutrales al riesgo calibradas mediante la minimización de la distancia de variación total y utilización de una distribución a priori uniforme, tal y como también se muestra en la Figura 4 (negro) utilización de una distribución a priori normal truncada (gris). 4.4.2 Determinación del intervalo libre de arbitraje Utilizamos la probabilidad neutral al riesgo obtenida en el apartado anterior (la derivada de la utilización de una distribución a priori diferente de la de máxima entropía) para la valoración de una opción fuera de la cartera de referencia utilizada para la calibración y esta valoración se compara con la obtenida en el apartado 4.1.2, donde la valoración se ha hecho con una probabilidad neutral al riesgo, obtenida con la calibración de la misma cartera de referencia, pero para la que se ha supuesto una distribución a priori de máxima entropía. 0.00018 0.00019 0.00020 0.00021 Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 88 Además, obtenemos los límites inferior min ec y superior max ec que determinan el intervalo dentro del cual los precios están libres de arbitraje. Para poder comparar los resultados, se elige la misma opción (S0 = 100, t = 60, K = 95, r = 0 y = 25%) y se con el método en dos etapas dado por (3.1) y (3.5). Los resultados se muestran en la Tabla 13. Valor de la opción Límite superior max ec 7,41 *ec pri x 6,97 Black-Scholes 6,96 Límite inferior min ec 5,92 Tabla 13 Resultado del cálculo de los tres valores principales del intervalo libre de arbitraje (límite superior max ec , límite inferior min ec y precio obtenido de la valoración con el vector de probabilidad neutral al riesgo con mínima distancia a la distribución a priori min max,e e ec c c ) y el precio teórico de la valoración de opciones de Black-Scholes. Se ha considerado una opción de venta europea con S0 = 100, t = 60, K = 95, r = 0 y = 25%. Los resultados mostrados en la Tabla 13 son los mismos que los mostrados en la Tabla 7. Los resultados que obtenemos para los límites del intervalo tienen una diferencia menor de 10-8. El valor que se otorga a la opción resultante de la valoración con la probabilidad neutral al riesgo obtenida con los dos supuestos diferentes de distribución a priori tiene una diferencia menor que 10-2, es decir, difieren en el tercer decimal, siendo el resultado de la valoración con la distribución a priori de máxima entropía 6,9712 y el resultado de la valoración del ejemplo de este apartado de 6,9706. Se cumple que, tal y como se adelantaba en la Figura 6, el intervalo libre de arbitraje es único y es el mismo. En cambio, existen múltiples valores libres de arbitraje, cada uno de ellos obtenidos de la valoración del activo mediante una distribución de probabilidad neutral al riesgo diferente. Con el método de programación lineal en dos etapas podemos recorrer todos los valores del intervalo, definido por los límites obtenidos de la resolución de la tercera etapa del método en (3.10), mediante la variación de la divergencia D respecto la distribución a priori en la segunda etapa del método dada por (3.5), pero también podemos obtener valoraciones Aplicaciones Olivia Peraita Ezcurra 89 diferentes a la de máxima entropía variando el supuesto de la distribución de probabilidad a priori en la primera etapa del método dada por (3.1). Equation Chapter (Next) Section 1 Conclusiones y extensiones Olivia Peraita Ezcurra 91 5 Conclusiones y extensiones El principal objeto de este trabajo de tesis es la introducción de un nuevo método de valoración mediante programación lineal. Este nuevo método utiliza una técnica inversa de valoración, donde se recupera la probabilidad neutral al riesgo a partir de los precios observados en el mercado, disminuyendo al máximo el riesgo de modelo. Desde (Breeden & Litzenberg, 1978) muchas han sido las técnicas no paramétricas para la recuperación de la distribución de probabilidad neutral al riesgo para la valoración de opciones. Una rama muy importante es la de la maximización de la entropía, dentro de la cual se sitúa el nuevo método propuesto en esta tesis y que consiste en dos etapas, la primera de ellas para la calibración de una probabilidad neutral al riesgo y la segunda etapa para la valoración del activo, y una tercera etapa para la cobertura. Este nuevo método consiste en la calibración de una probabilidad neutral al riesgo de máxima entropía, minimizando la divergencia a la distribución a priori uniforme en un espacio finito. Esto se ha hecho con el uso de una función convexa alternativa (2.12) que deriva en el uso la distancia de variación total de Kolmogorov (2.13). Tradicionalmente se hace uso de la entropía relativa de Kullback-Leibler (2.7). Una ventaja del uso de la distancia de variación total es que ésta sí es una métrica y por lo tanto cumple con todas las condiciones que se le atribuyen en la Tabla 2. En cambio, la divergencia de Kullback-Leibler es una pre-métrica y, por lo tanto, no cumple las condiciones de simetría y la desigualdad triangular. Por otra parte, el uso de la distancia de variación total nos permite establecer un método que puede ser resuelto con programación lineal y, por lo tanto, de rápida resolución. La resolución del programa dual (3.10) nos suministra una representación del activo en términos de la cartera súper-replicante y abre la posibilidad de un análisis de sensibilidad (3.11) del valor del activo ilíquido con respecto a cambios en los precios de la cartera de referencia, a la divergencia y a las probabilidades a priori. Siguiendo (Luenberger, 2002) se puede determinar el intervalo de valores del activo dentro del cual se cumple la condición de no arbitraje, y que está determinado por un límite inferior min ec , calculado según (1.19), y un límite superior max ec , calculado según (1.20). En este trabajo se ha estudiado el valor del activo dentro de este intervalo, dependiendo del Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 92 valor de la entropía, mostrando que a cada punto se le puede asignar una probabilidad neutral al riesgo diferente. Se ha calibrado el modelo bajo diferentes condiciones: Primero se ha calibrado el método en dos etapas en un entorno sintético, en el que los precios observados de mercado ci no son precios observados sino el precio teórico resultante de la fórmula de Black-Scholes y utilizando opciones de compra y venta europeas. Se ha calibrado el método a precios observados en el mercado y que, por tanto, contienen implícitamente una smile en la forma de la volatilidad implícita. Se ha utilizado precios de opciones sobre el índice STOXX50E a 23 de marzo de 2015. El nuevo método en dos etapas de máxima entropía con programación lineal se ha probado con opciones asiáticas geométricas para evaluar su aplicabilidad a opciones más complejas. La elección de esta opción se debe a que se dispone de fórmula cerrada para su cálculo. Por último, se ha calibrado la probabilidad neutral al riesgo con el nuevo método en dos etapas de programación lineal utilizando una distancia de variación total a una distribución a priori que no es de máxima entropía, es decir, distinta de la uniforme. Como función a priori se ha elegido la distribución normal truncada. Además, en cada caso se han hecho comprobaciones adicionales: En el primer caso de la valoración de opciones europeas calibrando la probabilidad neutral al riesgo a unos precios teóricos de Black-Scholes, se han comparado los resultados de la valoración con los obtenidos de la valoración con una probabilidad neutral al riesgo calibrada minimizando la divergencia de Kullback-Leibler utilizando los mismos datos. Tal y como se muestra en la Tabla 4 y la Tabla 5, los dos métodos comparados arrojan valoraciones similares a las de Black-Scholes y el método de valoración en dos etapas con programación lineal arroja valores más ajustados a los de Black-Scholes en muchos casos. La calibración de la probabilidad neutral al riesgo a precios de mercado reales de opciones sobre el índice STOXX50E ha sido utilizada para valorar opciones reales fuera de la muestra de calibración, obteniendo valores con desviaciones muy pequeñas sobre el precio real y que reflejan también la smile de la volatilidad Conclusiones y extensiones Olivia Peraita Ezcurra 93 implícita que se observa en el mercado. Se ha probado la valoración tanto en casos de interpolación como de extrapolación, como pueden observarse en la Figura 7 y en la Figura 8. Al igual que en el primer ejemplo de valoración de opciones europeas con una probabilidad neutral al riesgo calibrada a precios teóricos de Black-Scholes, se ha evaluado el comportamiento de la valoración de opciones asiáticas geométricas donde la probabilidad neutral al riesgo también ha sido calibrada a los precios teóricos de Black-Scholes. El resultado de la valoración es el esperado, donde las opciones utilizadas en la muestra de calibración son valoradas exactamente y los precios interpolados y extrapolados por el método no difieren significativamente de los precios teóricos de Black-Scholes para las opciones con una probabilidad adecuada de ejercicio. Finalmente, se ha comparado la valoración obtenida de la calibración de una probabilidad neutral al riesgo a los valores teóricos de la fórmula de Black-Scholes para opciones europeas y minimizando la distancia a una distribución a priori de máxima entropía en un intervalo (la función uniforme) con la valoración obtenida de una calibración bajo iguales condiciones pero minimizando la distancia a una distribución a priori normal truncada. Se obtienen valoraciones similares, pero no iguales, pues en el intervalo libre de arbitraje, la valoración que se corresponde con la probabilidad neutral al riesgo de máxima entropía es única. Además, en la tercera etapa del método, se ha calculado las carteras súper e infra- replicantes que permiten, aun cuando el mercado es incompleto, cubrir la posición de la forma más aproximada posible. Fruto de esta etapa se obtienen también los límites inferior y superior del intervalo dentro del cual se asegura que el precio está libre de arbitraje. Para cada ejemplo se estudia el comportamiento del precio dentro de este intervalo y su relación con la entropía, siendo el precio arrojado por el método el que se corresponde con la máxima entropía. En las aplicaciones prácticas del método se comprueba que valora de manera adecuada y tiene la ventaja de su fácil implementación y rápido tiempo de calibración y valoración, siendo el uso de la programación lineal en la resolución de este tipo de problemas una de las principales aportaciones de este trabajo de tesis. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 94 Como continuación de este trabajo de tesis, se proponen algunas líneas de investigación futuras que surgen del método propuesto y el estudio de las aplicaciones prácticas. Sabido es que el conjunto dentro del cual varían los precios de los activos en el mercado queda mejor aproximado por el semi-eje real positivo que por un conjunto finito de posibles valores. La tesis se encuentra incluida dentro de este último caso. Resolver el problema de valoración por entropía máxima en este nuevo marco continuo consiste en ser capaces de calcular una distribución continua sobre de entropía máxima. Para ello sería necesario utilizar de nuevo un señuelo que juegue el mismo papel que el de la distribución uniforme sobre un intervalo acotado. Esta vez se trataría pues de minimizar la divergencia a la distribución exponencial de media dada, que es la de máxima entropía sobre el nuevo soporte . Todos los programas lineales utilizados en esta tesis para aplicar el nuevo método son fácilmente generalizables a programas lineales en dimensión infinita, cuya resolución nos daría una distribución de probabilidad riesgo neutra con las mismas aplicaciones y ventajas que las que han sido comentadas y explicadas a lo largo de esta tesis para el caso de un soporte finito. Trabajando entonces con distintos horizontes temporales, se podría dar una idea bastante aproximada de la dinámica de las probabilidades riesgo neutras (martingala) e incluso calcular probabilidades riesgo neu correspondientes a un intervalo futuro de tiempo. No es necesario explicar cuáles serían las ventajas de completar con éxito un tal programa de investigación, ya que serían las mismas que las que corresponden al caso del soporte finito, solo que esta vez en un caso de aplicación mucho más directa al mundo real, ya que menos dependiente de las elecciones del decisor referentes a la definición del soporte finito. Bibliografía Olivia Peraita Ezcurra 95 6 Bibliografía Aldous, D. (2015). On Chance and Unpredictability: lectures on the links between mathematical probability and the real world. Draft Lectures on Probability in the Real World. Ali, S., & Silvey, S. (1966). A General Class of Coefficients of Divergence of One Distribution from Another. Journal of the Royal Statistical Society. Series B (Methodological), 28(1), 131-142. Arrieta, D. (2013). Entropía Relativa y Cobertura de Derivados. Madrid: Tesis doctoral. Universidad Complutense de Madrid. Arrieta, D. (2015, July). Minimum Relative Entropy and Cliquet Hedging. Wilmott Magazine, 71 81. Arrow, K. J. (1964). The role of secutrities in the optimal allocation of risk bearing. The Review of Economic Studies, 31(2), 91-96. Avellaneda, M. (1998). Minimum-relative-entropy calibration of asset pricing models. International Journal of Theoretical and Applied Finance, 1(4), 447-472. Avellaneda, M., & Lawrence, P. (2000). Quantitative Modeling of Derivative Securities: From Theory to Practice. Chapman & Hall/CRC. Avellaneda, M., Buff, R., Friedman, C., Grandechamp, N., Kruk, L., & Newman, J. (2001). Weighted Monte Carlo: A new Technique for calibrating Asset-Pricing Models. International Journal of Theoretical and Applied Finance, 4(1), 91-119. Bazaraa, M., Jarvis, J., & Sherali, H. (1984). Programación lineal y flujo en redes. México: Limusa. Benth, F. E., & Groth, M. (2009). The minimal entropy martingale measure and numerical option pricing for the Barndorff-Nielsen-Shephard stochastic volatility model. Stochastic Analysis and Applications, 27, 875 896. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 96 Bhattacharya, A. K. (1943). On a measure of divergence between two statistical populations defined by their probability distributions. Bulletin of the Calcutta Mathematical Society, 35, 99-109. Black, F., & Scholes, M. (1973). Pricing of options and corporate liabilities. Journal of Political Economy, 81(3), 637-654. Black, F., & Scholes, M. (1973). Pricing of options and corporate liabilities. Journal of Political Economy, 81(3), 637-659. Boltzmann, L. (1896). Leipzig: J. A. Barth Verlag. Bondarenko, O. (September de 2000). Recovering Risk-Neutral Densities: A New Nonparametric Approach. Obtenido de http://ssrn.com/abstract=246063 Branger, N. (2003). Pricing Derivative Securities Using Cross-Entropy: An Economic Analysis. EFMA 2003 Helsinki Meetings. Breeden, D. T., & Litzenberg, R. H. (1978). Prices of state-contingent claims Implicit in option prices. Journal of Business, 51(4), 621-651. Buchen, P. W., & Kelly, M. (1996, March). The maximum entropy distribution of an asset inferred from option prices. Journal of finantial and Quantitative Analysis, 31(1), 143-159. Carabias López, S. (2003). Análisis Estocástico de los Procesos de Inversión. Tesis doctoral. Chang, E. J., & Tabak, B. M. (2002). Risk neutral probability densities. Banco do Brasil: Financial stability report. Chen, X., Deelstra, G., Dhaene, J., Linders, D., & Vanmaele, M. (2014). On an optimization problem related to static super-replicating strategies. Journal of Computational and Applied Mathematics, 213-230. Cheng, K. C. (2010). A new framework to estimate the risk neutral probability funstions embedded in option prices. IMF Working Paper. Bibliografía Olivia Peraita Ezcurra 97 Corrado, C. (2001). Option pricing based on the generalized Lambda distribution. Journal of Futures Markets, 21(3), 213-236. Cowles Commission for Research in Economics. (1951). Activity Analysis of Production and Allocation. (T. C. Koopmans, Ed.) Wiley. Csiszár, I., & Komlos, J. (1968). On the equivalence of two models of finite state noiseless. En A. Rényi (Ed.), Proceedings of the Colloquium on Information Theory. Budapest. Daglish, T., Hull, J., & Suo, W. (2007). Volatility Surfaces: Theory, Rules of Thumb, and Empirical Evidence. Quantitative Finance, 7(5), 507-524. Dantzig, G. B. (1963). Linear Programming and Extensions. Princeton University Press. Das, S. R., & Sundaram, R. K. (1999). Of Smiles and Smirks: a Term Structure Perspective. Journal of Financial and Quantitative Analysis, 34, 211-240 . de Jong C., Huisman R. (2000). From skews to a skewed-t: modelling option implied retruns by a skewed Student-t. Proceedings of the IEE/IAFE/INFORMS 2000 conference on Computational Intelligence for financial engineering. Debreu, G. (1959). Theory of Value: An Axiomatic Analysis of Economic Equilibrium. Yale University Press. Denuit, M., Dhaene, J., Goovaerts, M., & Kaas, R. (2005). Actuarial Theory for dependent risks: Measures, orders and models. Wiley. Derman, E. (2003). Laughter in the Dark - The Problem of the Volatility Smile. Derman, E., & Kani, I. (1994). The Volatility Smile and its Implied Tree. Quantitative Strategies Research Notes. Dineen, S. (2005). Probability theory in finance: a mathematical guide to the Black-Scholes formula. American Mathematical Society. Dumas, B., Fleming, J., & Whaley, R. E. (1998). Implied Volatility Functions: Empirical Tests. Journal of Finance, 53(6), 2059-2106. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 98 Dunford, N., & Schwartz, J. T. (1958). Linear operators, Part I. Wiley-Interscience. Dupire, B. (1994). Pricing with a Smile. Risk Magazine, 18-20. Dybvig, P., & Ross, S. A. (2003). Arbitrage, State Prices and Portfolio Theory. Handbook of the Economics of Finance. Elices, A., & Giménez, E. (2006). Weighted Monte Carlo: Calibrating the Smile. Risk Magazine, 19(5). European Banking Authority. (2013). Recommendations on asset quality reviews. European Central Bank. (2014). Asset Quality Review Phase 2 Manual. Frankfurt am Main. Fourier, J.-B. J. (1826). Solution d'une question particulière du calcul des inégalités. Nouveau Bulletin des Sciences par la Société philomathique de Paris, 99-100. Frittelli, M. (2000). The minimal entropy martingale measure and the valuation problem in incomplete markets. Mathematical Finance, 10, 39 52. Glasserman, P. (2003). Monte Carlo Methods in Financial Engineering. (B. Rozovskii, & M. Yor, Edits.) Springer. Grandits, P. (1999). The p-optimal martingale measure and its asymptotic relation with the minimal entropy martingale measure. Bernoulli, 5, 225 247. Gulko, L. (1997). Dart Boards and Asset Prices: Introducing the Entropy Pricing Theory. Advances in Econometrics, 12, 237-276. Gulko, L. (1999). The Entropy Theory of Stock Option Pricing. International Journal of Theoretical and Applied Finance, 2, 331-335. Halmos, P. R. (1964). Measure Theory. D. van Nostrand Company, Inc. Harrison, J. M., & Kreps, D. M. (1979). Martingales and Arbitrage in Multiperiod Securities Markets. Journal of Economic Theory, 20, 381-408. Bibliografía Olivia Peraita Ezcurra 99 Heynen, R. (1994). An Empirical Investigation of Observed Smile Patterns. Review of Futures Markets, 13, 317-353. Hull, J. (2009). Options, futures and other derivatives (Seventh ed.). Englewood Cliffs, New Jersey: Prentice Hall. Hull, J., & Suo, W. (2002). A Methodology for Assessing Model Risk and Its Application to the Implied Volatility Function Model. The Journal of Financial and Quantitative Analysis, 37(2), 297-318. Hunt, J., & Devolder, P. (2011). Semi-Markov regime switching interest rate models and minimal entropy measure. Physica A: Statistical Mechanics and its Application, 390, 3767 3781. International Accounting Standards Board. (2011). IFRS 13 Fair Value Measurement. Londres: IFRS Foundation. International Accounting Standards Board. (2015). Documentos del IASB publicados para acompañar a la Norma Internacional de Información Financiera 13. IFRS Foundation. International Accounting Standards Board. (2015). Norma Internacional de Información Financiera 13. IFRS Foundation. Jackwerth, J. C. (2004). Option-Implied Risk-Neutral Distributions and Risk Aversion. The URL: http://www.ub.uni- konstanz.de/kops/volltexte/2008/5288/: Konstanzer Online-Publikations-System (KOPS). Jeffreys, H. (1946, September 24). An Invariant Form for the Prior Probability in Estimation Problems. Proceedings of the Royal Society of London. Series A, Mathematical and Physical, 186(1007), 453-461. Jex, M., Henderson, R., & Wang, D. (1999). Pricing Exotics under the Smile. Derivatives Research. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 100 Jondeau, E., Poon, S.-H., & Rockinger, M. (2007). Financial Modeling Under Non- Gaussian Distributions. Londres: Springer-Verlag. Kantorovich, L. V. (1939). The Mathematical Method of Production Planning and Organization. Management Science (July 1960), 6(4), 363-422. Kantorovich, L. V., & Gavurin, M. K. (1949). The application of mathematical methods to freight flow analysis. Collection of Problems of Raising the Efficiency of Transport Performance, 110 138. Kemna, & Vorst. (1990, March). A pricing method for options based on average asset values. Journal of Banking and Finance, 14, 113-29. Kemperman, J. H. (1969). On the optimum rate of transmitting information. The Annale of Mathematical Statistics, 40(6), 2156-2177. Kullback, S. (1967). A lower bound for discrimination information in terms of variation. IEEE Transactions on Information Theory, 13, 126-127. Kullback, S., & Leibler, R. A. (1951, March). On information and sufficiency. The Annals of Mathematical Statistics, 22(1), 79-86. Kumar, A., & Sundaresan, R. (2015). Minimization Problems Based on Relative -Entropy I: Forward Projection. IEEE Transactions on Information Theory. Lozano Arnica, G. (1993). Reflexiones sobre la validez del modelo de Black-Scholes. Revista Española de Financiación y Contabilidad, XXIII(77), 919-936. Luenberger, D. (2002). Arbitrage and universal pricing. Journal of Economic Dynamics & Control, 26, 1613-1628. Mantilla Blanco, S. (2013). Estándares/Normas Internacionales de Información Financiera (IFRS/NIIF) (4ª ed.). ECOE. Marabel Romo, J., & Crespo Espert, J. (2011). Model risk in the pricing of exotic options. XII Iberian-Italian Congress of Financial and Actuarial Mathematics. Lisboa. Bibliografía Olivia Peraita Ezcurra 101 Marabel Romo, J., Crespo Espert, J., & Guiral Contreras, A. (2011). Flexibilidad contable en la valoración de instrumentos financieros híbridos. VIII Workshop de Investigación Empírica en Contabilidad Financiera. Sevilla. Marabel Romo, J., Guiral Contreras, A., Crespo Espert, J., Gonzalo, J. A., & Moon, D. (2014). Fair Value Measurement of Exotic Options: Volatility Assumptions and Model Misspecification Error. X Workshop de Investigación Empírica en Contabilidad Financiera. La Coruña. Marsh, C. (2013). Introduction to Continuous Entropy (Department of Computer Science Princeton University ed.). Melick, W. R., & Thomas, C. P. (1997). Recovering an asset's implied PDF from option prices: an application to crude oil during the gulf crisis. Journal of Financial and Cuantitative Analysis, 32(1), 91-115. Merton, R. C. (1973). Theory of Rational Option Pricing. The Bell Journal of Economics and Management Science, 4(1), 141-183. Monteiro A.M., Tütüncu R.H., Vicente L.N. (2008). Recovering risk-neutral probability density functions from options prices using cubic splines and ensuring nonnegativity. European Journal of Operations Research, 187, 525 542. Pardo Llorente, L. (1993). Teoría de la Información Estadística. Estadística Española, 35(133), 195-168. Pearson, K. (1900). On the criterion that a given system of deviations from the probable in the case of correlated system of variables in such that it can be reasonable supposed to have arisen from random sampling. Philosophical Magazine, 50, 157-175. Peraita Ezcurra, O., & Vilar Zanón, J. (2013 a). Risk neutral valuation by means of linear programming. An alternative to the minimum relative entropy methodology. XIV Iberian-Italian Congress of Financial and Actuarial Mathematics. Madrid. Peraita Ezcurra, O., & Vilar Zanón, J. (2013 b). Risk neutral valuation with linear programming. 5ª Reunión de Investigación en Seguros y Gestión del Riesgo. Gran Canaria. Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 102 Peraita Ezcurra, O., & Vilar Zanón, J. (2015). Valuing assets by an inverse method. XXIII Finance Forum. Madrid. Pinsker, M. S. (1964). Information and lnformation Stability of Random Varíables and Processes. (A. Feinstein, Ed.) Holden-Day. Rachev, S., Stoyanov, S., & Fabozzi, F. (2008). Advanced Stochastic Models, Risk Assessment, and Portfolio Optimization: The Ideal Risk, Uncertainty, and Performance Measures. John Wiley & Sons, Inc. Rebonato, R. (1999). Volatility and Correlation in the Pricing of Equity, FX and Interest Rate Options. New York: Wiley. Ritchey, R. (1990). Call option valuation for discrete normal mixtures. Journal of Financial Research, 13(4), 285-295. Rockinger M., Jondeau E. (2002). Entropy densities with an application to autoregressive conditional skewness and kurtosis. Journal of Econometrics, 106(1), 119 142. Futuro. (R. Caballero, & G. Fernández, Edits.) Revista Electrónica de Comunicaciones y Trabajos de ASEPUMA, 75-89. Rubinstein, M. (1994). Implied Binomial Trees. Journal of Finance, 49(3), 771-818. Rubinstein, M., & Jackerth, J. C. (1997). Recovering Probabilities and Risk Aversion from Options Prices and Realized Returns. University of California at Berkeley. http://www.lbs.ac.uk/faculty/jjackwerth. Sampieri, D. (1997). Inverse Problems, Model Selection and Entropy in Derivative Security Pricing. PhD Thesis, New York University. Shannon, C. E. (1948, July, October). A Mathematical Theory of Communication. The Bell System Technical Journal, 27, 379 423, 623 656. Shreve, S. E. (2004). Stochastic Calculus for Finance II: Continuous-Time Models. Springer. Bibliografía Olivia Peraita Ezcurra 103 Vajda, I. (1973). - Transactions of the 6th Prague Conferences on Information Theory, 873-886. Vickers, S. (2005). Localic Completion of Generalized Metric Spaces I. Theory and Applications of Categories, 14(15), 328 356. Yatchev A., Härdle W. (2006). Nonparametric state density estimation using constrained least squares and the bootstrap. Journal of Econometrics, 133, 579-599. Zhou, R., Cai, R., & Tong, G. (2013). Applications of Entropy in Finance: A Review. Entropy, 15, 4909-4931. Anexo: Códigos de programas Olivia Peraita Ezcurra 105 7 Anexo: códigos de programas 7.1 Código MATLAB: Opciones europeas sintéticas Generación de la matriz de flujos de caja G y valoración del problema con minimización de Kullback-Leibler. %PROGRAMA: variance_reduction_9.m %AUTOR: Olivia Peraita Ezcurra %FECHA: 28 de febrero de 2015 clear all; randn('seed',0); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Calibration to the benchmarks % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %DEFINICIONES %definición de las opciones a valorar t = ([20 30 45 60 75 90 120]./360)'; k = [80 85 90 95 100 105 110 115 120]'; s0 = 100; r = 0; sigma = 0.25; %definición de la simulación v = 5000; %number of paths sim = 1; %number of simulations % ==== A PARTIR DE AQUÍ NO MODIFICAR ==== % num_t = size(t,1); num_k = size(k,1); n = num_t*(1+num_k*2);% number of options c_mc = zeros(n,v); c_wmc = zeros(n,v); for jj=1:sim %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1. Simulate v paths at different maturities with regular Monte % Carlo that introduces the particular hypothesis for the % underlying process (for example, stochastic volatility). e = randn(num_t,v); tau = repmat(t,1,v); st = repmat(s0,num_t,v).*exp((r-0.5.*sigma.^2).*tau+e.*sigma.*sqrt(tau)); Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 106 %matrix s_mat contains the price of the underlying at the necessary %time-moments and is repited once for the forwards and so many %times as different strikes for the calls and the puts. s_mat = repmat(st,1+num_k*2,1); opt_mat = [ones(num_t,v);ones(num_t*num_k,v);... -1.*ones(num_t*num_k,v)]; %matrix k_mat contains zeros for the forwards and the strikes for %the calls and the puts. k_mat = zeros(num_t*(1+num_k*2),v); for i=1:num_k k_mat(i*num_t+1:(i+1)*num_t,:)=repmat(k(i),num_t,v); %strikes for the calls k_mat(num_t*(num_k+i)+1:num_t*(num_k+i+1),:)=... repmat(k(i),num_t,v); %strikes for the puts end t_mat = repmat(t,1+num_k*2,v); s0_mat = repmat(s0,n,v); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 2. Calculate prices c(k) of th call and put options of the smile % at different maturities using the market volatilities. d1 = (log(s0_mat./k_mat)+(r+0.5*sigma.^2).*t_mat)./... (sigma.*sqrt(t_mat)); d2 = d1 - sigma.*sqrt(t_mat); c_mat= opt_mat.*s0_mat.*normcdf(opt_mat.*d1,0,1)-opt_mat.*... exp(-r.*t_mat).*k_mat.*normcdf(opt_mat.*d2,0,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3. Calculate the discounted payouts of all these instruments for % each of the simulated paths (the matrix g(i,j). g_mat = exp(-r.*t_mat).*max(opt_mat.*(s_mat-k_mat),0); c_val = zeros(21,v); c_val(1,:)=c_mat(2,:); c_val(2,:)=c_mat(4,:); c_val(3,:)=c_mat(6,:); c_val(4,:)=c_mat(23,:); c_val(5,:)=c_mat(25,:); c_val(6,:)=c_mat(27,:); c_val(7,:)=c_mat(37,:); c_val(8,:)=c_mat(39,:); c_val(9,:)=c_mat(41,:); c_val(10,:)=c_mat(51,:); c_val(11,:)=c_mat(53,:); c_val(12,:)=c_mat(55,:); c_val(13,:)=c_mat(86,:); c_val(14,:)=c_mat(88,:); c_val(15,:)=c_mat(90,:); c_val(16,:)=c_mat(100,:); c_val(17,:)=c_mat(102,:); c_val(18,:)=c_mat(104,:); c_val(19,:)=c_mat(114,:); Anexo: Códigos de programas Olivia Peraita Ezcurra 107 c_val(20,:)=c_mat(116,:); c_val(21,:)=c_mat(118,:); g_val = zeros(21,v); g_val(1,:)=g_mat(2,:); g_val(2,:)=g_mat(4,:); g_val(3,:)=g_mat(6,:); g_val(4,:)=g_mat(23,:); g_val(5,:)=g_mat(25,:); g_val(6,:)=g_mat(27,:); g_val(7,:)=g_mat(37,:); g_val(8,:)=g_mat(39,:); g_val(9,:)=g_mat(41,:); g_val(10,:)=g_mat(51,:); g_val(11,:)=g_mat(53,:); g_val(12,:)=g_mat(55,:); g_val(13,:)=g_mat(86,:); g_val(14,:)=g_mat(88,:); g_val(15,:)=g_mat(90,:); g_val(16,:)=g_mat(100,:); g_val(17,:)=g_mat(102,:); g_val(18,:)=g_mat(104,:); g_val(19,:)=g_mat(114,:); g_val(20,:)=g_mat(116,:); g_val(21,:)=g_mat(118,:); n_val = size(c_val,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 4. Fix the initial value for the lagrange multipliers lambda0 % equal to zero. According to equation (9), this corresponds to % an initial posterior distribution with probabilities equal to % each other. lambda0 = zeros(1,size(c_val,1))'; alpha = 0.1; bucle = true; iter=0; % para controlar las iteraciones que hago while (bucle == true) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 5. Calculate the gradient vector and Jacobian according to % equations (13) and (14), where the probabilities have % previously been calculated with equation (9). z = sum(exp(g_val'*lambda0)); p = (1/z)*exp(g_val'*lambda0); J = zeros(n_val,n_val); for a=1:n_val for b=1:n_val J(a,b) = ((g_val(a,:).*g_val(b,:))*p)-.. (g_val(a,:)*p)*(g_val(b,:)*p); end end w_grad = zeros(n_val,1); Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 108 for a=1:n_val w_grad(a) = (1/z)*sum(g_val(a,:)*.. exp(g_val'*lambda0))-c_val(a); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 6. Calculate the optimum for the second order approximation using % equation (16). lambda = lambda0-alpha.*(J\w_grad); if (abs(det(diag(w_grad))) > 10^-100) lambda0 = lambda; if (alpha * 2) <= 1 if ((alpha * 2) / alpha) < 10 alpha = alpha * 2; else alpha = alpha * (2/5); end end iter=iter+1; else bucle = false; end end z = sum(exp(g_val'*lambda)); p = (1/z)*exp(g_val'*lambda); c_val_mc = (1/v)*(sum(g_val,2)); c_val_wmc = g_val*p; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Utilizo el vector de probabilidades para valorar opciones % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% c_mc(:,jj) = (1/v)*(sum(g_mat,2)); c_wmc(:,jj) = (g_mat*p); end var_mc = (1/(v-1)).*sum(((c_mat-c_mc).^2),2); var_wmc = (1/(v-1)).*sum(((c_mat-c_wmc).^2),2); var_improv = (var_mc./var_wmc).*100; 7.2 Código GAMS: Opciones europeas sintéticas 7.2.1 Principales valores * Olivia Peraita Ezcurra Anexo: Códigos de programas Olivia Peraita Ezcurra 109 * Facultad de Ciencias Económicas y Empresariables * Doctorado en Riesgos Financieros y Seguros * febrero 2015 ** Algoritmo de PROGRAMACIÓN LINEAL ** Vector de probabilidad de longitud 5000 ** Ejercicio sintético (7 forwards, 63 calls y 63 puts = 133 vanilla) ** Se tienen diferentes activos "e" para poner a prueba: ** 2.1 - Activo cuyo cashflow es comb lineal de los benchmarks "gb" ** 2.2.1 - Activo no combinación lineal - vanilla option ** 2.2.2 - Activo no combinación lineal - barrier option Sets i paths / path1*path5000 / j assets / instr00000001*instr00000025 / k new assets / instv00000001*instv00000133 / ; Parameter q(i) mid-market prices of benchmark instrument j in dollars / path1*path5000 0.0002 / ; Table data(j,*) intermediate variable for mid-market prices value instr00000001 0100.0000000000 instr00000002 0100.0000000000 instr00000003 0100.0000000000 instr00000004 0100.0000000000 instr00000005 0100.0000000000 instr00000006 0100.0000000000 instr00000007 0100.0000000000 instr00000008 0010.2196074000 instr00000009 0010.7576298600 instr00000010 0011.3193202700 instr00000011 0002.8784932260 instr00000012 0004.0699210640 instr00000013 0004.9835338060 instr00000014 0000.3295970310 instr00000015 0001.0091666230 instr00000016 0001.6809277350 instr00000017 0000.2196074030 instr00000018 0000.7576298560 instr00000019 0001.3193202670 instr00000020 0002.8784932260 instr00000021 0004.0699210640 instr00000022 0004.9835338060 instr00000023 0010.3295970300 instr00000024 0011.0091666200 instr00000025 0011.6809277300 ; Parameter c(j) mid-market prices of benchmark instrument j in dollars ; c(j) = data(j,'value') ; Parameter Dtot value of deviations in optimal solution ; Parameter Dprim value of the primal solution to the two-step problem ; Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 110 Parameter Sol_arriba solución de luenberger para problema de min ; Parameter Sol_abajo solución de luenberger para problema de max ; Parameter W_arriba(j) calibración de w para el problema de min ; Parameter W_abajo(j) calibración de w para el problema de max ; $include 150228_gb $include 150228_gv $include 150228_e Option optcr = 1E-009 ; Option LP = OSICplex; Option decimals = 8; Variables z1p variable objetivo fase1 del primal z2p variable objetivo fase2 del primal zpsdA variable objetivo del pseudodualA zpsdB variable objetivo del pseudodualB zluen variable objetivo del problema de Luenberger p(i) probability of taking path i t(k) mid-market prices of valued instrument k in dollars yip(i) variable de desviación positiva para pathw yin(i) variable de desviación negativa para pathw w1A(i) variable del pseudodualA w2A variable del pseudodualA w3A(j) variable del pseudodualA w4A variable del pseudodualA zzn variable del pseudodual zzp variable del pseudodual wB variable del pseudodualB wluen variable de composición de cartera del prob de Luen; Positive variables p(i), t(k), yip(i), yin(i), zzn, zzp ; Equations objetivo_aux objetivo_primal prob_parecidas(i) precios_coinciden(j) dif_desviaciones valoracion(k) desviaciones_minimas objetivo_psdualA restr1A(i) restr2A(i) restr3A(i) restr4A(i) restr5A objetivo_psdualB restr1B restr2B objetivo_luenberger restr_arriba restr_abajo ; objetivo_aux.. z1p =e= sum(i, yin(i)+yip(i)) ; objetivo_primal.. z2p =e= sum(i, p(i)*e(i)); Anexo: Códigos de programas Olivia Peraita Ezcurra 111 prob_parecidas(i).. p(i)-q(i)+yin(i)-yip(i) =e= 0.000000000 ; precios_coinciden(j).. sum(i, p(i)*gb(i,j)) =e= c(j) ; dif_desviaciones.. sum(i, yin(i)-yip(i)) =e= 0.00000000 ; valoracion(k).. sum(i, p(i)*gv(i,k)) =e= t(k); desviaciones_minimas.. sum(i, yin(i)+yip(i)) =e= Dtot ; objetivo_psdualA.. zpsdA =e= sum(i,w1A(i)*q(i))+w2A*Dtot+sum(j,w3A(j)*c(j))+w4A*0 ; restr1A(i).. w1A(i)+sum(j,w3A(j)*gb(i,j)) =l= e(i) ; restr2A(i).. w1A(i)+w2A+w4A =l= 0 ; restr3A(i).. -w1A(i)+w2A-w4A =l= 0 ; restr4A(i).. w1A(i) =e= 0; restr5A.. w2A =e= 0; objetivo_psdualB.. zpsdB =e= zzn+zzp ; restr1B(i).. sum(j,wB(j)*gb(i,j)) =l= e(i) ; restr2B.. sum(j,wB(j)*c(j))+zzn-zzp =e= Dprim; objetivo_luenberger.. zluen =e= sum(j,wluen(j)*c(j)) ; restr_arriba(i).. sum(j,wluen(j)*gb(i,j)) =g= e(i) ; restr_abajo(i).. sum(j,wluen(j)*gb(i,j)) =l= e(i) ; Model distr_primal1 /objetivo_aux ,prob_parecidas, precios_coinciden, dif_desviaciones, valoracion/ ; solve distr_primal1 using lp minimizing z1p ; Dtot = z1p.l ; Model distr_primal2 /objetivo_primal, prob_parecidas, precios_coinciden, dif_desviaciones, desviaciones_minimas/ ; solve distr_primal2 using lp minimizing z2p ; Dprim = z2p.l ; Model distr_psdualA /objetivo_psdualA, restr1A, restr2A, restr3A, restr4A, restr5A/ ; solve distr_psdualA using lp maximizing zpsdA ; Model distr_psdualB /objetivo_psdualB, restr1B, restr2B/ ; solve distr_psdualB using lp minimizing zpsdB ; Model luenberger_arriba /objetivo_luenberger, restr_arriba/ ; Model luenberger_abajo /objetivo_luenberger, restr_abajo/ ; solve luenberger_arriba using lp minimizing zluen ; Sol_arriba = zluen.l ; W_arriba(j) = wluen.l(j) ; solve luenberger_abajo using lp maximizing zluen ; Sol_abajo = zluen.l ; W_abajo(j) = wluen.l(j) ; display z1p.L; display z2p.L; display p.L; display yin.L; display yip.L; display t.L; display zpsdA.L; display w1A.L; display w2A.L; Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 112 display w3A.L; display w4A.L; display zpsdB.L; display zzn.L; display zzp.L; display wB.L; display Sol_arriba; display Sol_abajo; display W_arriba; display W_abajo; $ontext; execute_unload "150228_GAMSVal.gdx" z1p.L z2p.L p.L yin.L yip.L t.L zpsdA.L w1A.L w2A.L w3A.L w4A.L zpsdB.L wB.L Sol_arriba Sol_abajo W_arriba W_abajo execute 'gdxxrw.exe 150228_GAMSVal.gdx var=z1p.L rng=Hoja1!a1' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=z2p.L rng=Hoja1!a2' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=p.L rng=Hoja1!a3' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=yin.L rng=Hoja1!a5' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=yip.L rng=Hoja1!a7' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=t.L rng=Hoja1!a9' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=zpsdA.L rng=Hoja1!a11' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=w1A.L rng=Hoja1!a12' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=w2A.L rng=Hoja1!a13' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=w3A.L rng=Hoja1!a14' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=w4A.L rng=Hoja1!a16' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=zpsdB.L rng=Hoja1!a17' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=zzn.L rng=Hoja1!a18' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=zzp.L rng=Hoja1!a19' execute 'gdxxrw.exe 150228_GAMSVal.gdx var=wB.L rng=Hoja1!a20' execute 'gdxxrw.exe 150228_GAMSVal.gdx par=Sol_arriba rng=Hoja1!a22' execute 'gdxxrw.exe 150228_GAMSVal.gdx par=Sol_abajo rng=Hoja1!a23' execute 'gdxxrw.exe 150228_GAMSVal.gdx par=W_arriba rng=Hoja1!a24' execute 'gdxxrw.exe 150228_GAMSVal.gdx par=W_abajo rng=Hoja1!a26' $offtext; 7.2.2 Recorrido del intervalo libre de arbitraje * Olivia Peraita Ezcurra * Facultad de Ciencias Económicas y Empresariables * Doctorado en Riesgos Financieros y Seguros * febrero 2015 ** Algoritmo de PROGRAMACIÓN LINEAL ** Vector de probabilidad de longitud 5000 ** Ejercicio sintético (7 fwrds, 63 calls y 63 puts = 133 vanilla) ** Para la opción del punto 2.2, se va a recorrer el intervalo de ** Luenberger (desde Sol_abajo a Sol_arriba) y se va a estudiar el ** valor que toman las variables p, entropía, Dprim (valoración de ** la opción) y wB (W3A=W_abajo por lo que no varía según nos ** movamos en el intervalo) Sets Anexo: Códigos de programas Olivia Peraita Ezcurra 113 i paths / path1*path5000 / j assets / instr00000001*instr00000025 / k new assets / instv00000001*instv00000133 / x / x0*x200 / ; Scalar iter para control de las iteraciones /0/; Parameter q(i) mid-market prices of benchmark instrument j in dollars / path1*path5000 0.0002 / ; Table data(j,*) intermediate variable for mid-market prices value instr00000001 0100.0000000000 instr00000002 0100.0000000000 instr00000003 0100.0000000000 instr00000004 0100.0000000000 instr00000005 0100.0000000000 instr00000006 0100.0000000000 instr00000007 0100.0000000000 instr00000008 0010.2196074000 instr00000009 0010.7576298600 instr00000010 0011.3193202700 instr00000011 0002.8784932260 instr00000012 0004.0699210640 instr00000013 0004.9835338060 instr00000014 0000.3295970310 instr00000015 0001.0091666230 instr00000016 0001.6809277350 instr00000017 0000.2196074030 instr00000018 0000.7576298560 instr00000019 0001.3193202670 instr00000020 0002.8784932260 instr00000021 0004.0699210640 instr00000022 0004.9835338060 instr00000023 0010.3295970300 instr00000024 0011.0091666200 instr00000025 0011.6809277300 ; Parameter c(j) mid-market prices of benchmark instrument j in USD ; c(j) = data(j,'value') ; Parameter Dtot value of deviaions in optimal solution ; Parameter Dprim value of the primal solution to the two-step problem ; Parameter Dtot_aux(x) value of Dtot in each iteration ; Parameter DprimV(x) value of primal solution to the two-step problem ; Parameter DdualV(x) value of the dual solution ; Parameter Entropia(x) value of all entropias in the iteration ; Parameter Psim(i,x) all ps in the simulation ; Parameter Tsim(k,x) all ts in the simulation ; Parameter Wsim(j,x) all ws in the simulation ; Parameter Z1(x) ; Parameter Z2(x) ; Parameter Sol_arriba solución de luenberger para problema de min ; Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 114 Parameter Sol_abajo solución de luenberger para problema de max ; Parameter W_arriba(j) calibración de w para el problema de min ; Parameter W_abajo(j) calibración de w para el problema de max ; $include 150228_gb $include 150228_gv $include 150228_e Option optcr = 1E-009 ; Option LP = OSICplex; Option decimals = 8; Variables z1p variable objetivo fase1 del primal z2p variable objetivo fase2 del primal zpsdA variable objetivo del pseudodualA zpsdB variable objetivo del pseudodualB zluen variable objetivo del problema de Luenberger p(i) probability of taking path i t(k) mid-market prices of valued instrument k in dollars yip(i) variable de desviación positiva para pathw yin(i) variable de desviación negativa para pathw w1A(i) variable del pseudodualA w2A variable del pseudodualA w3A(j) variable del pseudodualA w4A variable del pseudodualA zzn variable del pseudodual zzp variable del pseudodual wB variable del pseudodualB wluen variable de composición de cartera del prob de Luen; Positive variables p(i), t(k), yip(i), yin(i), zzn, zzp ; Equations objetivo_aux objetivo_primal prob_parecidas(i) precios_coinciden(j) dif_desviaciones valoracion(k) desviaciones_minimas_iter objetivo_psdualA restr1A(i) restr2A(i) restr3A(i) restr4A(i) restr5A objetivo_psdualB restr1B restr2B objetivo_luenberger restr_arriba restr_abajo ; objetivo_aux.. z1p =e= sum(i, yin(i)+yip(i)) ; objetivo_primal.. z2p =e= sum(i, p(i)*e(i)); prob_parecidas(i).. p(i)-q(i)+yin(i)-yip(i) =e= 0.000000000 ; precios_coinciden(j).. sum(i, p(i)*gb(i,j)) =e= c(j) ; Anexo: Códigos de programas Olivia Peraita Ezcurra 115 dif_desviaciones.. sum(i, yin(i)-yip(i)) =e= 0.00000000 ; valoracion(k).. sum(i, p(i)*gv(i,k)) =e= t(k); desviaciones_minimas_iter.. sum(i, yin(i)+yip(i)) =e= Dtot+iter/100 ; objetivo_psdualA.. zpsdA =e= sum(i,w1A(i)*q(i))+w2A*Dtot+sum(j,w3A(j)*c(j))+w4A*0 ; restr1A(i).. w1A(i)+sum(j,w3A(j)*gb(i,j)) =l= e(i) ; restr2A(i).. w1A(i)+w2A+w4A =l= 0 ; restr3A(i).. -w1A(i)+w2A-w4A =l= 0 ; restr4A(i).. w1A(i) =e= 0; restr5A.. w2A =e= 0; objetivo_psdualB.. zpsdB =e= zzn+zzp ; restr1B(i).. sum(j,wB(j)*gb(i,j)) =l= e(i) ; restr2B.. sum(j,wB(j)*c(j))+zzn-zzp =e= Dprim; objetivo_luenberger.. zluen =e= sum(j,wluen(j)*c(j)) ; restr_arriba(i).. sum(j,wluen(j)*gb(i,j)) =g= e(i) ; restr_abajo(i).. sum(j,wluen(j)*gb(i,j)) =l= e(i) ; Model distr_primal1 /objetivo_aux ,prob_parecidas, precios_coinciden, dif_desviaciones, valoracion/ ; Model distr_primal2_iter /objetivo_primal, prob_parecidas, precios_coinciden, dif_desviaciones, desviaciones_minimas_iter/ ; Model distr_psdualB /objetivo_psdualB, restr1B, restr2B/ ; solve distr_primal1 using lp minimizing z1p ; Dtot = z1p.L ; iter=0 ; loop (x, Dtot_aux(x)=Dtot+iter/10 ; solve distr_primal2_iter using lp minimizing z2p ; * solve distr_primal2_iter using lp maximizing z2p ; DprimV(x)=z2p.L; Dprim=z2p.L; Psim(i,x)=p.L(i); Tsim(k,x)=t.L(k); Entropia(x)=0 ; loop(i, if (p.l(i)<=0, Entropia(x)=Entropia(x) ; else Entropia(x)=Entropia(x)-p.L(i)*log(p.L(i)) ; ); ); solve distr_psdualB using lp minimizing zpsdB ; DdualV(x)=zpsdB.L; Z1(x)=zzn.L; Z2(x)=zzp.L; Wsim(j,x) = wB.L(j); iter=iter+1; ); *Model distr_psdualA /objetivo_psdualA, restr1A, restr2A, restr3A, restr4A, restr5A/ ; Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 116 *solve distr_psdualA using lp maximizing zpsdA ; *Model luenberger_arriba /objetivo_luenberger, restr_arriba/ ; *Model luenberger_abajo /objetivo_luenberger, restr_abajo/ ; *solve luenberger_arriba using lp minimizing zluen ; *Sol_arriba = zluen.l ; *W_arriba(j) = wluen.l(j) ; *solve luenberger_abajo using lp maximizing zluen ; *Sol_abajo = zluen.l ; *W_abajo(j) = wluen.l(j) ; display Dtot_aux; display DprimV; display DdualV; display Entropia; display Z1; display Z2; display Wsim; display Tsim; display Psim; *$ontext; execute_unload "150228_GAMSInt.gdx" Dtot_aux DprimV DdualV Entropia Z1 Z2 Wsim Tsim Psim execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Dtot_aux rng=Hoja1!a1' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=DprimV rng=Hoja1!a3' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=DdualV rng=Hoja1!a5' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Entropia rng=Hoja1!a7' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Z1 rng=Hoja1!a9' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Z2 rng=Hoja1!a11' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Wsim rng=Hoja1!a13' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Tsim rng=Hoja1!a38' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Psim rng=Hoja1!a171' *$offtext; 7.3 Código MATLAB: Ejemplo real %PROGRAMA: vanilla_real_3.m %AUTOR: Olivia Peraita Ezcurra %FECHA: 4 de junio de 2015 clear all; randn('seed',0); % Leo los datos de opciones [C_head1,C_data1] = read_real_data('MarketData20150323_orden.csv'); % Leo la fecha de valoración del subyacente y de vencimiento de la opción. date = C_data1{1,1}; maturity = C_data1{1,2}; strike = C_data1{1,3}; vol = C_data1{1,4}; spot = C_data1{1,5}; Anexo: Códigos de programas Olivia Peraita Ezcurra 117 forward = C_data1{1,6}; capFact = C_data1{1,7}; rate = C_data1{1,8}; dt = 1/360; t_vec = (datenum(maturity,'dd/mm/yyyy')-datenum(date,'dd/mm/yyyy'))*dt; max_days = round(max(t_vec)/dt); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Calibration to the benchmarks % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %DEFINICIONES %num_t = 3; %num_k = 3; max_steps = 90; %definición de la simulación v = 5000; %número de simluaciones sim = 1; %number of simulations % ==== A PARTIR DE AQUÍ NO MODIFICAR ==== % n = size(spot,1);% number of options %forward volatility vol_fwd=zeros(n,1); for i=1:n if i==1 vol_fwd(i)=vol(i); else if (strike(i)==strike(i-1)) vol_fwd(i)=sqrt((t_vec(i)*vol(i)^2-t_vec(i-1)*vol(i-1)^2)/(t_vec(i)-t_vec(i-1))); else vol_fwd(i)=vol(i); end end end %matrices s0 = repmat(spot,1,v); r = repmat(rate,1,v); sigma = repmat(vol_fwd,1,v); t = repmat(t_vec,1,v); k = repmat(strike,1,v); opt = ones(n,v); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1. Simulate v paths at different maturities with regular Monte % Carlo that introduces the particular hypothesis for the % underlying process (for example, stochastic volatility). %matriz de ruido aleatorio Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 118 e = randn(max_days,v); ee = zeros(size(t,1),v); for i=1:size(t,1) ee(i,:)=e(round(t(i)/dt),:); end %simulación de Monte Carlo del spot_price st = s0.*exp((r-0.5.*sigma.^2).*t+ee.*sigma.*sqrt(t)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 2. Calculate prices c(k) of th call and put options of the smile % at different maturities using the market volatilities. d1 = (log(s0./k)+(r+0.5*sigma.^2).*t)./(sigma.*sqrt(t)); d2 = d1 - sigma.*sqrt(t); c = opt(:,1).*s0(:,1).*normcdf(opt(:,1).*d1(:,1),0,1)... -opt(:,1).*exp(-r(:,1).*t(:,1)).*k(:,1).*... normcdf(opt(:,1).*d2(:,1),0,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3. Calculate the discounted payouts of all these instruments for % each of the simulated paths (the matrix g(i,j). g_mat = exp(-r.*t).*max(opt.*(st-k),0); g = mean(g_mat,2); %para comparar con c xlswrite('datos_g_mat_volfwd.xlsx',g_mat','Hoja1','A1'); 7.4 Código GAMS: Ejemplo real 7.4.1 Principales valores * Olivia Peraita Ezcurra * Facultad de Ciencias Económicas y Empresariables * Doctorado en Riesgos Financieros y Seguros * mayo 2015 ** Algoritmo de PROGRAMACIÓN LINEAL ** Vector de probabilidad de longitud 5000 ** Ejercicio real (vanilla options) Sets i paths / path1*path5000 / j assets / instr00000001*instr00000034 / k new assets / instv000000001*instv000000073 / ; Parameter q(i) mid-market prices of benchmark instrument j in dollars / path1*path5000 0.0002 / ; Table data(j,*) intermediate variable for mid-market prices value Anexo: Códigos de programas Olivia Peraita Ezcurra 119 instr00000001 0899.1237000565 instr00000002 0800.1214071424 instr00000003 1053.0911641386 instr00000004 0962.7860583501 instr00000005 1438.6658529997 instr00000006 1358.9114080413 instr00000007 1281.2911283624 instr00000008 1880.8868114353 instr00000009 1816.1937755288 instr00000010 1751.3481430198 instr00000011 2434.0506504400 instr00000012 2387.9814826665 instr00000013 2342.1389741078 instr00000014 2922.3791594682 instr00000015 2894.1121097198 instr00000016 2865.8512530543 instr00000017 3286.8316511313 instr00000018 3272.0294893735 instr00000019 3257.2269249704 instr00000020 3500.7712488350 instr00000021 3493.8920367337 instr00000022 3487.0128268840 instr00000023 0927.8134932238 instr00000024 0830.7543051493 instr00000025 1288.0183709323 instr00000026 1204.2349449683 instr00000027 1119.4499163721 instr00000028 1626.0978180917 instr00000029 1553.8539299646 instr00000030 1481.2011955131 instr00000031 0910.6832175950 instr00000032 0812.2747252142 instr00000033 0984.6329849988 instr00000034 0891.9846120827 ; Parameter c(j) mid-market prices of benchmark instrument j in USD ; c(j) = data(j,'value') ; Parameter Dtot value of deviaions in optimal solution ; Parameter Dprim value of the primal solution to the two-step problem ; Parameter Sol_arriba solución de luenberger para problema de min ; Parameter Sol_abajo solución de luenberger para problema de max ; Parameter W_arriba(j) calibración de w para el problema de min ; Parameter W_abajo(j) calibración de w para el problema de max ; $include 150425_gb_real $include 150525_gv_real $include 150425_e_real_dentro Option optcr = 1E-009 ; Option LP = OSICplex; Option decimals = 8; Variables z1p variable objetivo fase1 del primal z2p variable objetivo fase2 del primal Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 120 zpsdA variable objetivo del pseudodualA zpsdB variable objetivo del pseudodualB zluen variable objetivo del problema de Luenberger p(i) probability of taking path i t(k) mid-market prices of valued instrument k in dollars yip(i) variable de desviación positiva para pathw yin(i) variable de desviación negativa para pathw w1A(i) variable del pseudodualA w2A variable del pseudodualA w3A(j) variable del pseudodualA w4A variable del pseudodualA zzn variable del pseudodual zzp variable del pseudodual wB variable del pseudodualB wluen variable de composición de cartera del prob de Luen; Positive variables p(i), t(k), yip(i), yin(i), zzn, zzp ; Equations objetivo_aux objetivo_primal prob_parecidas(i) precios_coinciden(j) dif_desviaciones valoracion(k) desviaciones_minimas objetivo_psdualA restr1A(i) restr2A(i) restr3A(i) restr4A(i) restr5A objetivo_psdualB restr1B restr2B objetivo_luenberger restr_arriba restr_abajo ; objetivo_aux.. z1p =e= sum(i, yin(i)+yip(i)) ; objetivo_primal.. z2p =e= sum(i, p(i)*e(i)); prob_parecidas(i).. p(i)-q(i)+yin(i)-yip(i) =e= 0.000000000 ; precios_coinciden(j).. sum(i, p(i)*gb(i,j)) =e= c(j) ; dif_desviaciones.. sum(i, yin(i)-yip(i)) =e= 0.00000000 ; valoracion(k).. sum(i, p(i)*gv(i,k)) =e= t(k); desviaciones_minimas.. sum(i, yin(i)+yip(i)) =e= Dtot ; objetivo_psdualA.. zpsdA =e= sum(i,w1A(i)*q(i))+w2A*Dtot+sum(j,w3A(j)*c(j))+w4A*0 ; restr1A(i).. w1A(i)+sum(j,w3A(j)*gb(i,j)) =l= e(i) ; restr2A(i).. w1A(i)+w2A+w4A =l= 0 ; restr3A(i).. -w1A(i)+w2A-w4A =l= 0 ; restr4A(i).. w1A(i) =e= 0; restr5A.. w2A =e= 0; objetivo_psdualB.. zpsdB =e= zzn+zzp ; restr1B(i).. sum(j,wB(j)*gb(i,j)) =l= e(i) ; restr2B.. sum(j,wB(j)*c(j))+zzn-zzp =e= Dprim; Anexo: Códigos de programas Olivia Peraita Ezcurra 121 objetivo_luenberger.. zluen =e= sum(j,wluen(j)*c(j)) ; restr_arriba(i).. sum(j,wluen(j)*gb(i,j)) =g= e(i) ; restr_abajo(i).. sum(j,wluen(j)*gb(i,j)) =l= e(i) ; Model distr_primal1 /objetivo_aux ,prob_parecidas, precios_coinciden, dif_desviaciones, valoracion/ ; solve distr_primal1 using lp minimizing z1p ; Dtot = z1p.l ; Model distr_primal2 /objetivo_primal, prob_parecidas, precios_coinciden, dif_desviaciones, desviaciones_minimas/ ; solve distr_primal2 using lp minimizing z2p ; Dprim = z2p.l ; Model distr_psdualA /objetivo_psdualA, restr1A, restr2A, restr3A, restr4A, restr5A/ ; solve distr_psdualA using lp maximizing zpsdA ; Model distr_psdualB /objetivo_psdualB, restr1B, restr2B/ ; solve distr_psdualB using lp minimizing zpsdB ; Model luenberger_arriba /objetivo_luenberger, restr_arriba/ ; Model luenberger_abajo /objetivo_luenberger, restr_abajo/ ; solve luenberger_arriba using lp minimizing zluen ; Sol_arriba = zluen.l ; W_arriba(j) = wluen.l(j) ; solve luenberger_abajo using lp maximizing zluen ; Sol_abajo = zluen.l ; W_abajo(j) = wluen.l(j) ; display z1p.L; display z2p.L; display p.L; display yin.L; display yip.L; display t.L; display zpsdA.L; display w1A.L; display w2A.L; display w3A.L; display w4A.L; display zpsdB.L; display zzn.L; display zzp.L; display wB.L; display Sol_arriba; display Sol_abajo; display W_arriba; display W_abajo; *$ontext; execute_unload "150525_GAMSVal_real.gdx" z1p.L z2p.L p.L yin.L yip.L t.L zpsdA.L w1A.L w2A.L w3A.L w4A.L zpsdB.L zzn.L zzp.L wB.L Sol_arriba Sol_abajo W_arriba W_abajo execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=z1p.L rng=Hoja1!a1' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=z2p.L rng=Hoja1!a2' Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 122 execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=p.L rng=Hoja1!a3' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=yin.L rng=Hoja1!a5' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=yip.L rng=Hoja1!a7' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=t.L rng=Hoja1!a9' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=zpsdA.L rng=Hoja1!a11' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=w1A.L rng=Hoja1!a12' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=w2A.L rng=Hoja1!a13' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=w3A.L rng=Hoja1!a14' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=w4A.L rng=Hoja1!a16' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=zpsdB.L rng=Hoja1!a17' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=zzn.L rng=Hoja1!a18' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=zzp.L rng=Hoja1!a19' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx var=wB.L rng=Hoja1!a20' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx par=Sol_arriba rng=Hoja1!a22' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx par=Sol_abajo rng=Hoja1!a23' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx par=W_arriba rng=Hoja1!a24' execute 'gdxxrw.exe 150525_GAMSVal_real.gdx par=W_abajo rng=Hoja1!a26' *$offtext; 7.4.2 Recorrido del intervalo libre de arbitraje * Olivia Peraita Ezcurra * Facultad de Ciencias Económicas y Empresariables * Doctorado en Riesgos Financieros y Seguros * mayo 2015 ** Algoritmo de PROGRAMACIÓN LINEAL ** Vector de probabilidad de longitud 5000 ** Ejercicio real (vanilla options) ** Se va a recorrer el intervalo de Luenberger (desde Sol_abajo a ** Sol_arriba) y se va a estudiar el valor que toman las variables ** p, entropía, Dprim (valoración de la opción) y wB (W3A=W_abajo ** por lo que no varía según nos movamos en el intervalo) Sets i paths / path1*path5000 / j assets / instr000000001*instr000000024 / k new assets / instv000000001*instv000000512 / x / x0*x200 / ; Scalar iter para control de las iteraciones /0/; Anexo: Códigos de programas Olivia Peraita Ezcurra 123 Parameter q(i) mid-market prices of benchmark instrument j in dollars / path1*path5000 0.0002 / ; Table data(j,*) intermediate variable for mid-market prices value instr000000001 1438.6658529997 instr000000002 1398.5924348674 instr000000003 1358.9114080413 instr000000004 1319.7417031201 instr000000005 1281.2911283624 instr000000006 1880.8868114353 instr000000007 1848.8172977210 instr000000008 1816.1937755288 instr000000009 1783.6215183586 instr000000010 1751.3481430198 instr000000011 2434.0506504400 instr000000012 2387.9814826665 instr000000013 2342.1389741078 instr000000014 2922.3791594682 instr000000015 2894.1121097198 instr000000016 2865.8512530543 instr000000017 3286.8316511313 instr000000018 3279.4306732856 instr000000019 3272.0294893735 instr000000020 3264.6281743992 instr000000021 3257.2269249704 instr000000022 1626.0978180917 instr000000023 1553.8539299646 instr000000024 1481.2011955131 ; Parameter c(j) mid-market prices of benchmark instrument j in dollars ; c(j) = data(j,'value') ; Parameter Dtot value of deviaions of goal programing in optimal soluion ; Parameter Dprim value of the primal solution to the two-step problem ; Parameter Dtot_aux(x) value of Dtot in each iteration ; Parameter DprimV(x) value of primal solution to the two-step problem ; Parameter DdualV(x) value of the dual solution ; Parameter Entropia(x) value of all entropias in the iteration ; Parameter Psim(i,x) all ps in the simulation ; Parameter Tsim(k,x) all ts in the simulation ; Parameter Wsim(j,x) all ws in the simulation ; Parameter Z1(x) ; Parameter Z2(x) ; Parameter Sol_arriba solución de luenberger para problema de min ; Parameter Sol_abajo solución de luenberger para problema de max ; Parameter W_arriba(j) calibración de w para el problema de min ; Parameter W_abajo(j) calibración de w para el problema de max ; $include 150502_gb_real $include 150425_gv_real Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 124 $include 150502_e_real_dentro *$include 150502_e_real_fuera Option optcr = 1E-009 ; Option LP = OSICplex; Option decimals = 8; Variables z1p variable objetivo fase1 del primal z2p variable objetivo fase2 del primal zpsdA variable objetivo del pseudodualA zpsdB variable objetivo del pseudodualB zluen variable objetivo del problema de Luenberger p(i) probability of taking path i t(k) mid-market prices of valued instrument k in dollars yip(i) variable de desviación positiva para pathw yin(i) variable de desviación negativa para pathw w1A(i) variable del pseudodualA w2A variable del pseudodualA w3A(j) variable del pseudodualA w4A variable del pseudodualA zzn variable del pseudodual zzp variable del pseudodual wB variable del pseudodualB wluen variable de composición de cartera del prob de Luen; Positive variables p(i), t(k), yip(i), yin(i), zzn, zzp ; Equations objetivo_aux objetivo_primal prob_parecidas(i) precios_coinciden(j) dif_desviaciones valoracion(k) desviaciones_minimas_iter objetivo_psdualA restr1A(i) restr2A(i) restr3A(i) restr4A(i) restr5A objetivo_psdualB restr1B restr2B objetivo_luenberger restr_arriba restr_abajo ; objetivo_aux.. z1p =e= sum(i, yin(i)+yip(i)) ; objetivo_primal.. z2p =e= sum(i, p(i)*e(i)); prob_parecidas(i).. p(i)-q(i)+yin(i)-yip(i) =e= 0.000000000 ; precios_coinciden(j).. sum(i, p(i)*gb(i,j)) =e= c(j) ; dif_desviaciones.. sum(i, yin(i)-yip(i)) =e= 0.00000000 ; valoracion(k).. sum(i, p(i)*gv(i,k)) =e= t(k); desviaciones_minimas_iter.. sum(i, yin(i)+yip(i)) =e= Dtot+iter/100 ; Anexo: Códigos de programas Olivia Peraita Ezcurra 125 objetivo_psdualA.. zpsdA =e= sum(i,w1A(i)*q(i))+w2A*Dtot+sum(j,w3A(j)*c(j))+w4A*0 ; restr1A(i).. w1A(i)+sum(j,w3A(j)*gb(i,j)) =l= e(i) ; restr2A(i).. w1A(i)+w2A+w4A =l= 0 ; restr3A(i).. -w1A(i)+w2A-w4A =l= 0 ; restr4A(i).. w1A(i) =e= 0; restr5A.. w2A =e= 0; objetivo_psdualB.. zpsdB =e= zzn+zzp ; restr1B(i).. sum(j,wB(j)*gb(i,j)) =l= e(i) ; restr2B.. sum(j,wB(j)*c(j))+zzn-zzp =e= Dprim; objetivo_luenberger.. zluen =e= sum(j,wluen(j)*c(j)) ; restr_arriba(i).. sum(j,wluen(j)*gb(i,j)) =g= e(i) ; restr_abajo(i).. sum(j,wluen(j)*gb(i,j)) =l= e(i) ; Model distr_primal1 /objetivo_aux ,prob_parecidas, precios_coinciden, dif_desviaciones, valoracion/ ; Model distr_primal2_iter /objetivo_primal, prob_parecidas, precios_coinciden, dif_desviaciones, desviaciones_minimas_iter/ ; Model distr_psdualB /objetivo_psdualB, restr1B, restr2B/ ; solve distr_primal1 using lp minimizing z1p ; Dtot = z1p.L ; iter=0 ; loop (x, Dtot_aux(x)=Dtot+iter/10 ; solve distr_primal2_iter using lp minimizing z2p ; * solve distr_primal2_iter using lp maximizing z2p ; DprimV(x)=z2p.L; Dprim=z2p.L; Psim(i,x)=p.L(i); Tsim(k,x)=t.L(k); Entropia(x)=0 ; loop(i, if (p.l(i)<=0, Entropia(x)=Entropia(x) ; else Entropia(x)=Entropia(x)-p.L(i)*log(p.L(i)) ; ); ); solve distr_psdualB using lp minimizing zpsdB ; DdualV(x)=zpsdB.L; Z1(x)=zzn.L; Z2(x)=zzp.L; Wsim(j,x) = wB.L(j); iter=iter+1; ); *Model distr_psdualA /objetivo_psdualA, restr1A, restr2A, restr3A, restr4A, restr5A/ ; *solve distr_psdualA using lp maximizing zpsdA ; *Model luenberger_arriba /objetivo_luenberger, restr_arriba/ ; *Model luenberger_abajo /objetivo_luenberger, restr_abajo/ ; Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 126 *solve luenberger_arriba using lp minimizing zluen ; *Sol_arriba = zluen.l ; *W_arriba(j) = wluen.l(j) ; *solve luenberger_abajo using lp maximizing zluen ; *Sol_abajo = zluen.l ; *W_abajo(j) = wluen.l(j) ; display Dtot_aux; display DprimV; display DdualV; display Entropia; display Z1; display Z2; display Wsim; display Tsim; display Psim; *$ontext; execute_unload "150502_GAMSInt_real.gdx" Dtot_aux DprimV DdualV Entropia Z1 Z2 Wsim Tsim Psim execute 'gdxxrw.exe 150502_GAMSInt_real.gdx par=Dtot_aux rng=Hoja1!a1' execute 'gdxxrw.exe 150502_GAMSInt_real.gdx par=DprimV rng=Hoja1!a3' execute 'gdxxrw.exe 150502_GAMSInt_real.gdx par=DdualV rng=Hoja1!a5' execute 'gdxxrw.exe 150502_GAMSInt_real.gdx par=Entropia rng=Hoja1!a7' execute 'gdxxrw.exe 150502_GAMSInt_real.gdx par=Z1 rng=Hoja1!a9' execute 'gdxxrw.exe 150502_GAMSInt_real.gdx par=Z2 rng=Hoja1!a11' execute 'gdxxrw.exe 150502_GAMSInt_real.gdx par=Wsim rng=Hoja1!a13' execute 'gdxxrw.exe 150502_GAMSInt_real.gdx par=Tsim rng=Hoja1!a38' execute 'gdxxrw.exe 150502_GAMSInt_real.gdx par=Psim rng=Hoja1!a171' *$offtext; 7.5 Código MATLAB: Opciones asiáticas geométricas clear all; randn('seed',0); %DEFINICIONES %definición de las opciones a valorar n_jumps=100; %saltos por día dt = 1/360; t = ([20 30 45 60 75 90 120]*dt)'; k = [80 85 90 95 100 105 110 115 120]'; s0 = 100; b = 110; r = 0; sigma = 0.25; %definición de la simulación Anexo: Códigos de programas Olivia Peraita Ezcurra 127 v = 5000; %número de simulaciones % ==== A PARTIR DE AQUÍ NO MODIFICAR ==== % num_t = size(t,1); num_k = size(k,1); max_days = round(max(t)/dt); max_steps = n_jumps*max_days; n = num_t*num_k; % número de opciones %matriz de saltos temporales tau = (1:max_steps)*dt; tau_mat = repmat(tau',1,v); t_vec = repmat(t,num_k,1); t_steps = round(t/dt*n_jumps); %el vector k_vec contiene los precios de ejercicio k para las calls k_vec = zeros(n,1); for i=1:num_k k_vec(i*num_t-(num_t-1):i*num_t,:) = repmat(k(i),num_t,1); end %matriz de ruido aleatorio e = randn(max_steps,v); %simulación de Monte Carlo del spot_price st = s0*exp((r-0.5*sigma^2).*(tau_mat/n_jumps)... +sigma.*cumsum(e.*sqrt(dt/n_jumps),1));% fórmula en Jäckel pág 140. %cálculo de los precios de la asiática con la fórmula analítica. adj_sigma = repmat(sigma*sqrt((2*n_jumps+1)./(6*(n_jumps+1))),n,1); rho = 0.5*(r-(sigma^2)*0.5+adj_sigma.^2); d1 = (log(s0./k_vec)+(rho+0.5.*adj_sigma.^2).*t_vec)... ./(adj_sigma.*sqrt(t_vec)); d2 = (log(s0./k_vec)+(rho-0.5.*adj_sigma.^2).*t_vec)... ./(adj_sigma.*sqrt(t_vec)); price_forw = exp(-r.*t).*s0; price_call = exp(-r.*t_vec).*(s0.*exp(rho.*t_vec).*normcdf(d1)-k_vec.*normcdf(d2)); price_put = exp(-r.*t_vec)... .*(k_vec.*normcdf(-d2)-s0.*exp(rho.*t_vec).*normcdf(-d1)); c_mat = [price_forw;price_call;price_put]; %cálculo de los pagos de los instrumentos en cada camino simulado. st_log = log(st); st_geo = zeros(num_t,v); for j=1:num_t tiempo = t_steps(j); st_cum = cumsum(st_log(1:tiempo,:),1); st_geo(j,:) = (1/(1+tiempo))*st_cum(end,:); end spot = repmat(exp(st_geo),num_k,1); strike = repmat(k_vec,1,v); Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 128 t1_mat = repmat(t_vec,1,v); forw = repmat(exp(-r*t),1,v).*st(t_steps,:); call = exp(-r.*t1_mat).*max(spot-strike,0); put = exp(-r.*t1_mat).*max(strike-spot,0); g_mat = [forw;call;put]; 7.6 Código GAMS: Opciones asiáticas geométricas 7.6.1 Principales valores * Olivia Peraita Ezcurra * Facultad de Ciencias Económicas y Empresariables * Doctorado en Riesgos Financieros y Seguros * marzo 2015 ** Algoritmo de PROGRAMACIÓN LINEAL ** Vector de probabilidad de longitud 5000 ** Ejercicio sintético (7 forwards, 63 calls y 63 puts = 4+126 ** geometric asian options) ** Se tienen diferentes matrices de benchmarks para valorar: ** 1 - benchmarks son asian options ** 2 - benchmarks son vanilla options Sets i paths / path1*path5000 / j assets / instr00000001*instr00000025 / k new assets / instv00000001*instv00000133 / ; Parameter q(i) mid-market prices of benchmark instrument j in dollars / path1*path5000 0.0002 / ; Table data(j,*) intermediate variable for mid-market prices value instr00000001 0100.0000000000 instr00000002 0100.0000000000 instr00000003 0100.0000000000 instr00000004 0100.0000000000 instr00000005 0100.0000000000 instr00000006 0100.0000000000 instr00000007 0100.0000000000 instr00000008 0010.2196074000 instr00000009 0010.7576298600 instr00000010 0011.3193202700 instr00000011 0002.8784932260 instr00000012 0004.0699210640 instr00000013 0004.9835338060 instr00000014 0000.3295970310 instr00000015 0001.0091666230 instr00000016 0001.6809277350 instr00000017 0000.2196074030 Anexo: Códigos de programas Olivia Peraita Ezcurra 129 instr00000018 0000.7576298560 instr00000019 0001.3193202670 instr00000020 0002.8784932260 instr00000021 0004.0699210640 instr00000022 0004.9835338060 instr00000023 0010.3295970300 instr00000024 0011.0091666200 instr00000025 0011.6809277300 ; Parameter c(j) mid-market prices of benchmark instrument j in USD ; c(j) = data(j,'value') ; Parameter Dtot value of deviaions in optimal solution ; Parameter Dprim value of the primal solution to the two-step problem ; Parameter Sol_arriba solución de luenberger para problema de min ; Parameter Sol_abajo solución de luenberger para problema de max ; Parameter W_arriba(j) calibración de w para el problema de min ; Parameter W_abajo(j) calibración de w para el problema de max ; $include 150328_gb_vanilla $include 150328_gv $include 150328_e Option optcr = 1E-009 ; Option LP = OSICplex; Option decimals = 8; Variables z1p variable objetivo fase1 del primal z2p variable objetivo fase2 del primal zpsdA variable objetivo del pseudodualA zpsdB variable objetivo del pseudodualB zluen variable objetivo del problema de Luenberger p(i) probability of taking path i t(k) mid-market prices of valued instrument k in dollars yip(i) variable de desviación positiva para pathw yin(i) variable de desviación negativa para pathw w1A(i) variable del pseudodualA w2A variable del pseudodualA w3A(j) variable del pseudodualA w4A variable del pseudodualA zzn variable del pseudodual zzp variable del pseudodual wB variable del pseudodualB wluen variable de composición de cartera del problema de Luenberger ; Positive variables p(i), t(k), yip(i), yin(i), zzn, zzp ; Equations objetivo_aux objetivo_primal prob_parecidas(i) precios_coinciden(j) dif_desviaciones valoracion(k) Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 130 desviaciones_minimas objetivo_psdualA restr1A(i) restr2A(i) restr3A(i) restr4A(i) restr5A objetivo_psdualB restr1B restr2B objetivo_luenberger restr_arriba restr_abajo ; objetivo_aux.. z1p =e= sum(i, yin(i)+yip(i)) ; objetivo_primal.. z2p =e= sum(i, p(i)*e(i)); prob_parecidas(i).. p(i)-q(i)+yin(i)-yip(i) =e= 0.000000000 ; precios_coinciden(j).. sum(i, p(i)*gb(i,j)) =e= c(j) ; dif_desviaciones.. sum(i, yin(i)-yip(i)) =e= 0.00000000 ; valoracion(k).. sum(i, p(i)*gv(i,k)) =e= t(k); desviaciones_minimas.. sum(i, yin(i)+yip(i)) =e= Dtot ; objetivo_psdualA.. zpsdA =e= sum(i,w1A(i)*q(i))+w2A*Dtot+sum(j,w3A(j)*c(j))+w4A*0 ; restr1A(i).. w1A(i)+sum(j,w3A(j)*gb(i,j)) =l= e(i) ; restr2A(i).. w1A(i)+w2A+w4A =l= 0 ; restr3A(i).. -w1A(i)+w2A-w4A =l= 0 ; restr4A(i).. w1A(i) =e= 0; restr5A.. w2A =e= 0; objetivo_psdualB.. zpsdB =e= zzn+zzp ; restr1B(i).. sum(j,wB(j)*gb(i,j)) =l= e(i) ; restr2B.. sum(j,wB(j)*c(j))+zzn-zzp =e= Dprim; objetivo_luenberger.. zluen =e= sum(j,wluen(j)*c(j)) ; restr_arriba(i).. sum(j,wluen(j)*gb(i,j)) =g= e(i) ; restr_abajo(i).. sum(j,wluen(j)*gb(i,j)) =l= e(i) ; Model distr_primal1 /objetivo_aux ,prob_parecidas, precios_coinciden, dif_desviaciones, valoracion/ ; solve distr_primal1 using lp minimizing z1p ; Dtot = z1p.l ; Model distr_primal2 /objetivo_primal, prob_parecidas, precios_coinciden, dif_desviaciones, desviaciones_minimas/ ; solve distr_primal2 using lp minimizing z2p ; Dprim = z2p.l ; Model distr_psdualA /objetivo_psdualA, restr1A, restr2A, restr3A, restr4A, restr5A/ ; solve distr_psdualA using lp maximizing zpsdA ; Model distr_psdualB /objetivo_psdualB, restr1B, restr2B/ ; solve distr_psdualB using lp minimizing zpsdB ; Model luenberger_arriba /objetivo_luenberger, restr_arriba/ ; Model luenberger_abajo /objetivo_luenberger, restr_abajo/ ; Anexo: Códigos de programas Olivia Peraita Ezcurra 131 solve luenberger_arriba using lp minimizing zluen ; Sol_arriba = zluen.l ; W_arriba(j) = wluen.l(j) ; solve luenberger_abajo using lp maximizing zluen ; Sol_abajo = zluen.l ; W_abajo(j) = wluen.l(j) ; display z1p.L; display z2p.L; display p.L; display yin.L; display yip.L; display t.L; display zpsdA.L; display w1A.L; display w2A.L; display w3A.L; display w4A.L; display zpsdB.L; display zzn.L; display zzp.L; display wB.L; display Sol_arriba; display Sol_abajo; display W_arriba; display W_abajo; *$ontext; execute_unload "150328_GAMSVal_asian.gdx" z1p.L z2p.L p.L yin.L yip.L t.L zpsdA.L w1A.L w2A.L w3A.L w4A.L zpsdB.L zzn.L zzp.L wB.L Sol_arriba Sol_abajo W_arriba W_abajo execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=z1p.L rng=Hoja1!a1' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=z2p.L rng=Hoja1!a2' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=p.L rng=Hoja1!a3' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=yin.L rng=Hoja1!a5' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=yip.L rng=Hoja1!a7' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=t.L rng=Hoja1!a9' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=zpsdA.L rng=Hoja1!a11' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=w1A.L rng=Hoja1!a12' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=w2A.L rng=Hoja1!a13' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=w3A.L rng=Hoja1!a14' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=w4A.L rng=Hoja1!a16' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=zpsdB.L rng=Hoja1!a17' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=zzn.L rng=Hoja1!a18' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=zzp.L rng=Hoja1!a19' Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 132 execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx var=wB.L rng=Hoja1!a20' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx par=Sol_arriba rng=Hoja1!a22' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx par=Sol_abajo rng=Hoja1!a23' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx par=W_arriba rng=Hoja1!a24' execute 'gdxxrw.exe 150328_GAMSVal_asian.gdx par=W_abajo rng=Hoja1!a26' *$offtext; 7.6.2 Recorrido del intervalo libre de arbitraje * Olivia Peraita Ezcurra * Facultad de Ciencias Económicas y Empresariables * Doctorado en Riesgos Financieros y Seguros * febrero 2015 ** Algoritmo de PROGRAMACIÓN LINEAL ** Vector de probabilidad de longitud 5000 ** Ejercicio sintético (7 fwrds, 63 calls y 63 puts = 133 vanilla) ** Para la opción del punto 2.2, se va a recorrer el intervalo de ** Luenberger (desde Sol_abajo a Sol_arriba) y se va a estudiar el ** valor que toman las variables p, entropía, Dprim (valoración de ** la opción) y wB (W3A=W_abajo por lo que no varía según nos ** movamos en el intervalo) Sets i paths / path1*path5000 / j assets / instr00000001*instr00000025 / k new assets / instv00000001*instv00000133 / x / x0*x200 / ; Scalar iter para control de las iteraciones /0/; Parameter q(i) mid-market prices of benchmark instrument j in dollars / path1*path5000 0.0002 / ; Table data(j,*) intermediate variable for mid-market prices value instr00000001 0100.0000000000 instr00000002 0100.0000000000 instr00000003 0100.0000000000 instr00000004 0100.0000000000 instr00000005 0100.0000000000 instr00000006 0100.0000000000 instr00000007 0100.0000000000 instr00000008 0010.2196074000 instr00000009 0010.7576298600 instr00000010 0011.3193202700 instr00000011 0002.8784932260 instr00000012 0004.0699210640 Anexo: Códigos de programas Olivia Peraita Ezcurra 133 instr00000013 0004.9835338060 instr00000014 0000.3295970310 instr00000015 0001.0091666230 instr00000016 0001.6809277350 instr00000017 0000.2196074030 instr00000018 0000.7576298560 instr00000019 0001.3193202670 instr00000020 0002.8784932260 instr00000021 0004.0699210640 instr00000022 0004.9835338060 instr00000023 0010.3295970300 instr00000024 0011.0091666200 instr00000025 0011.6809277300 ; Parameter c(j) mid-market prices of benchmark instrument j in dollars ; c(j) = data(j,'value') ; Parameter Dtot value of deviaions in optimal soluion ; Parameter Dprim value of the primal solution to the two-step problem ; Parameter Dtot_aux(x) value of Dtot in each iteration ; Parameter DprimV(x) value of primal solution to the two-step problem ; Parameter DdualV(x) value of the dual solution ; Parameter Entropia(x) value of all entropias in the iteration ; Parameter Psim(i,x) all ps in the simulation ; Parameter Tsim(k,x) all ts in the simulation ; Parameter Wsim(j,x) all ws in the simulation ; Parameter Z1(x) ; Parameter Z2(x) ; Parameter Sol_arriba solución de luenberger para problema de min ; Parameter Sol_abajo solución de luenberger para problema de max ; Parameter W_arriba(j) calibración de w para el problema de min ; Parameter W_abajo(j) calibración de w para el problema de max ; $include 150228_gb $include 150228_gv $include 150228_e Option optcr = 1E-009 ; Option LP = OSICplex; Option decimals = 8; Variables z1p variable objetivo fase1 del primal z2p variable objetivo fase2 del primal zpsdA variable objetivo del pseudodualA zpsdB variable objetivo del pseudodualB zluen variable objetivo del problema de Luenberger p(i) probability of taking path i t(k) mid-market prices of valued instrument k in dollars yip(i) variable de desviación positiva para pathw yin(i) variable de desviación negativa para pathw w1A(i) variable del pseudodualA w2A variable del pseudodualA Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 134 w3A(j) variable del pseudodualA w4A variable del pseudodualA zzn variable del pseudodual zzp variable del pseudodual wB variable del pseudodualB wluen variable de composición de cartera del prob de Luen; Positive variables p(i), t(k), yip(i), yin(i), zzn, zzp ; Equations objetivo_aux objetivo_primal prob_parecidas(i) precios_coinciden(j) dif_desviaciones valoracion(k) desviaciones_minimas_iter objetivo_psdualA restr1A(i) restr2A(i) restr3A(i) restr4A(i) restr5A objetivo_psdualB restr1B restr2B objetivo_luenberger restr_arriba restr_abajo ; objetivo_aux.. z1p =e= sum(i, yin(i)+yip(i)) ; objetivo_primal.. z2p =e= sum(i, p(i)*e(i)); prob_parecidas(i).. p(i)-q(i)+yin(i)-yip(i) =e= 0.000000000 ; precios_coinciden(j).. sum(i, p(i)*gb(i,j)) =e= c(j) ; dif_desviaciones.. sum(i, yin(i)-yip(i)) =e= 0.00000000 ; valoracion(k).. sum(i, p(i)*gv(i,k)) =e= t(k); desviaciones_minimas_iter.. sum(i, yin(i)+yip(i)) =e= Dtot+iter/100 ; objetivo_psdualA.. zpsdA =e= sum(i,w1A(i)*q(i))+w2A*Dtot+sum(j,w3A(j)*c(j))+w4A*0 ; restr1A(i).. w1A(i)+sum(j,w3A(j)*gb(i,j)) =l= e(i) ; restr2A(i).. w1A(i)+w2A+w4A =l= 0 ; restr3A(i).. -w1A(i)+w2A-w4A =l= 0 ; restr4A(i).. w1A(i) =e= 0; restr5A.. w2A =e= 0; objetivo_psdualB.. zpsdB =e= zzn+zzp ; restr1B(i).. sum(j,wB(j)*gb(i,j)) =l= e(i) ; restr2B.. sum(j,wB(j)*c(j))+zzn-zzp =e= Dprim; objetivo_luenberger.. zluen =e= sum(j,wluen(j)*c(j)) ; restr_arriba(i).. sum(j,wluen(j)*gb(i,j)) =g= e(i) ; restr_abajo(i).. sum(j,wluen(j)*gb(i,j)) =l= e(i) ; Model distr_primal1 /objetivo_aux ,prob_parecidas, precios_coinciden, dif_desviaciones, valoracion/ ; Anexo: Códigos de programas Olivia Peraita Ezcurra 135 Model distr_primal2_iter /objetivo_primal, prob_parecidas, precios_coinciden, dif_desviaciones, desviaciones_minimas_iter/ ; Model distr_psdualB /objetivo_psdualB, restr1B, restr2B/ ; solve distr_primal1 using lp minimizing z1p ; Dtot = z1p.L ; iter=0 ; loop (x, Dtot_aux(x)=Dtot+iter/10 ; solve distr_primal2_iter using lp minimizing z2p ; * solve distr_primal2_iter using lp maximizing z2p ; DprimV(x)=z2p.L; Dprim=z2p.L; Psim(i,x)=p.L(i); Tsim(k,x)=t.L(k); Entropia(x)=0 ; loop(i, if (p.l(i)<=0, Entropia(x)=Entropia(x) ; else Entropia(x)=Entropia(x)-p.L(i)*log(p.L(i)) ; ); ); solve distr_psdualB using lp minimizing zpsdB ; DdualV(x)=zpsdB.L; Z1(x)=zzn.L; Z2(x)=zzp.L; Wsim(j,x) = wB.L(j); iter=iter+1; ); *Model distr_psdualA /objetivo_psdualA, restr1A, restr2A, restr3A, restr4A, restr5A/ ; *solve distr_psdualA using lp maximizing zpsdA ; *Model luenberger_arriba /objetivo_luenberger, restr_arriba/ ; *Model luenberger_abajo /objetivo_luenberger, restr_abajo/ ; *solve luenberger_arriba using lp minimizing zluen ; *Sol_arriba = zluen.l ; *W_arriba(j) = wluen.l(j) ; *solve luenberger_abajo using lp maximizing zluen ; *Sol_abajo = zluen.l ; *W_abajo(j) = wluen.l(j) ; display Dtot_aux; display DprimV; display DdualV; display Entropia; display Z1; display Z2; display Wsim; display Tsim; display Psim; *$ontext; Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 136 execute_unload "150228_GAMSInt.gdx" Dtot_aux DprimV DdualV Entropia Z1 Z2 Wsim Tsim Psim execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Dtot_aux rng=Hoja1!a1' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=DprimV rng=Hoja1!a3' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=DdualV rng=Hoja1!a5' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Entropia rng=Hoja1!a7' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Z1 rng=Hoja1!a9' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Z2 rng=Hoja1!a11' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Wsim rng=Hoja1!a13' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Tsim rng=Hoja1!a38' execute 'gdxxrw.exe 150228_GAMSInt.gdx par=Psim rng=Hoja1!a171' *$offtext; 7.7 Código GAMS: Variación de la distribución a priori 7.7.1 Principales valores * Olivia Peraita Ezcurra * Facultad de Ciencias Económicas y Empresariables * Doctorado en Riesgos Financieros y Seguros * agosto 2015 ** Algoritmo de PROGRAMACIÓN LINEAL ** Vector de probabilidad de longitud 5000, a priori normal ** Ejercicio sintético (7 fwrds, 63 calls y 63 puts = 133 vanilla) Sets i paths / path1*path5000 / j assets / instr00000001*instr00000025 / k new assets / instv00000001*instv00000133 / ; Table data(j,*) intermediate variable for mid-market prices value instr00000001 0100.0000000000 instr00000002 0100.0000000000 instr00000003 0100.0000000000 instr00000004 0100.0000000000 instr00000005 0100.0000000000 instr00000006 0100.0000000000 instr00000007 0100.0000000000 instr00000008 0010.2196074000 instr00000009 0010.7576298600 instr00000010 0011.3193202700 instr00000011 0002.8784932260 instr00000012 0004.0699210640 instr00000013 0004.9835338060 instr00000014 0000.3295970310 instr00000015 0001.0091666230 instr00000016 0001.6809277350 instr00000017 0000.2196074030 instr00000018 0000.7576298560 instr00000019 0001.3193202670 Anexo: Códigos de programas Olivia Peraita Ezcurra 137 instr00000020 0002.8784932260 instr00000021 0004.0699210640 instr00000022 0004.9835338060 instr00000023 0010.3295970300 instr00000024 0011.0091666200 instr00000025 0011.6809277300 ; Parameter c(j) mid-market prices of benchmark instrument j in USD ; c(j) = data(j,'value') ; Parameter Dtot value of deviaions in optimal solution ; Parameter Dprim value of the primal solution to the two-step problem ; Parameter Sol_arriba solución de luenberger para problema de min ; Parameter Sol_abajo solución de luenberger para problema de max ; Parameter W_arriba(j) calibración de w para el problema de min ; Parameter W_abajo(j) calibración de w para el problema de max ; $include 150809_q $include 150228_gb $include 150228_gv $include 150228_e Option optcr = 1E-009 ; Option LP = OSICplex; Option decimals = 8; Variables z1p variable objetivo fase1 del primal z2p variable objetivo fase2 del primal zpsdA variable objetivo del pseudodualA zpsdB variable objetivo del pseudodualB zluen variable objetivo del problema de Luenberger p(i) probability of taking path i t(k) mid-market prices of valued instrument k in dollars yip(i) variable de desviación positiva para pathw yin(i) variable de desviación negativa para pathw w1A(i) variable del pseudodualA w2A variable del pseudodualA w3A(j) variable del pseudodualA w4A variable del pseudodualA zzn variable del pseudodual zzp variable del pseudodual wB variable del pseudodualB wluen variable de composición de cartera del prob de Luen; Positive variables p(i), t(k), yip(i), yin(i), zzn, zzp ; Equations objetivo_aux objetivo_primal prob_parecidas(i) precios_coinciden(j) dif_desviaciones valoracion(k) desviaciones_minimas objetivo_psdualA Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 138 restr1A(i) restr2A(i) restr3A(i) restr4A(i) restr5A objetivo_psdualB restr1B restr2B objetivo_luenberger restr_arriba restr_abajo ; objetivo_aux.. z1p =e= sum(i, yin(i)+yip(i)) ; objetivo_primal.. z2p =e= sum(i, p(i)*e(i)); prob_parecidas(i).. p(i)-q(i)+yin(i)-yip(i) =e= 0.000000000 ; precios_coinciden(j).. sum(i, p(i)*gb(i,j)) =e= c(j) ; dif_desviaciones.. sum(i, yin(i)-yip(i)) =e= 0.00000000 ; valoracion(k).. sum(i, p(i)*gv(i,k)) =e= t(k); desviaciones_minimas.. sum(i, yin(i)+yip(i)) =e= Dtot ; objetivo_psdualA.. zpsdA =e= sum(i,w1A(i)*q(i))+w2A*Dtot+sum(j,w3A(j)*c(j))+w4A*0 ; restr1A(i).. w1A(i)+sum(j,w3A(j)*gb(i,j)) =l= e(i) ; restr2A(i).. w1A(i)+w2A+w4A =l= 0 ; restr3A(i).. -w1A(i)+w2A-w4A =l= 0 ; restr4A(i).. w1A(i) =e= 0; restr5A.. w2A =e= 0; objetivo_psdualB.. zpsdB =e= zzn+zzp ; restr1B(i).. sum(j,wB(j)*gb(i,j)) =l= e(i) ; restr2B.. sum(j,wB(j)*c(j))+zzn-zzp =e= Dprim; objetivo_luenberger.. zluen =e= sum(j,wluen(j)*c(j)) ; restr_arriba(i).. sum(j,wluen(j)*gb(i,j)) =g= e(i) ; restr_abajo(i).. sum(j,wluen(j)*gb(i,j)) =l= e(i) ; Model distr_primal1 /objetivo_aux ,prob_parecidas, precios_coinciden, dif_desviaciones, valoracion/ ; solve distr_primal1 using lp minimizing z1p ; Dtot = z1p.l ; Model distr_primal2 /objetivo_primal, prob_parecidas, precios_coinciden, dif_desviaciones, desviaciones_minimas/ ; solve distr_primal2 using lp minimizing z2p ; Dprim = z2p.l ; Model distr_psdualA /objetivo_psdualA, restr1A, restr2A, restr3A, restr4A, restr5A/ ; solve distr_psdualA using lp maximizing zpsdA ; Model distr_psdualB /objetivo_psdualB, restr1B, restr2B/ ; solve distr_psdualB using lp minimizing zpsdB ; Model luenberger_arriba /objetivo_luenberger, restr_arriba/ ; Model luenberger_abajo /objetivo_luenberger, restr_abajo/ ; solve luenberger_arriba using lp minimizing zluen ; Sol_arriba = zluen.l ; Anexo: Códigos de programas Olivia Peraita Ezcurra 139 W_arriba(j) = wluen.l(j) ; solve luenberger_abajo using lp maximizing zluen ; Sol_abajo = zluen.l ; W_abajo(j) = wluen.l(j) ; display z1p.L; display z2p.L; display p.L; display yin.L; display yip.L; display t.L; display zpsdA.L; display w1A.L; display w2A.L; display w3A.L; display w4A.L; display zpsdB.L; display zzn.L; display zzp.L; display wB.L; display Sol_arriba; display Sol_abajo; display W_arriba; display W_abajo; *$ontext; execute_unload "150809_GAMSVal.gdx" z1p.L z2p.L p.L yin.L yip.L t.L zpsdA.L w1A.L w2A.L w3A.L w4A.L zpsdB.L wB.L Sol_arriba Sol_abajo W_arriba W_abajo execute 'gdxxrw.exe 150809_GAMSVal.gdx var=z1p.L rng=Hoja1!a1' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=z2p.L rng=Hoja1!a2' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=p.L rng=Hoja1!a3' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=yin.L rng=Hoja1!a5' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=yip.L rng=Hoja1!a7' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=t.L rng=Hoja1!a9' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=zpsdA.L rng=Hoja1!a11' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=w1A.L rng=Hoja1!a12' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=w2A.L rng=Hoja1!a13' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=w3A.L rng=Hoja1!a14' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=w4A.L rng=Hoja1!a16' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=zpsdB.L rng=Hoja1!a17' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=zzn.L rng=Hoja1!a18' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=zzp.L rng=Hoja1!a19' execute 'gdxxrw.exe 150809_GAMSVal.gdx var=wB.L rng=Hoja1!a20' execute 'gdxxrw.exe 150809_GAMSVal.gdx par=Sol_arriba rng=Hoja1!a22' execute 'gdxxrw.exe 150809_GAMSVal.gdx par=Sol_abajo rng=Hoja1!a23' execute 'gdxxrw.exe 150809_GAMSVal.gdx par=W_arriba rng=Hoja1!a24' execute 'gdxxrw.exe 150809_GAMSVal.gdx par=W_abajo rng=Hoja1!a26' *$offtext; 7.7.2 Recorrido del intervalo libre de arbitraje * Olivia Peraita Ezcurra * Facultad de Ciencias Económicas y Empresariables Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 140 * Doctorado en Riesgos Financieros y Seguros * agosto 2015 ** Algoritmo de PROGRAMACIÓN LINEAL ** Vector de probabilidad de longitud 5000, a priori normal ** Ejercicio sintético (7 fwrds, 63 calls y 63 puts = 133 vanilla) Sets i paths / path1*path5000 / j assets / instr00000001*instr00000025 / k new assets / instv00000001*instv00000133 / x / x0*x200 / ; Scalar iter para control de las iteraciones /0/; Table data(j,*) intermediate variable for mid-market prices value instr00000001 0100.0000000000 instr00000002 0100.0000000000 instr00000003 0100.0000000000 instr00000004 0100.0000000000 instr00000005 0100.0000000000 instr00000006 0100.0000000000 instr00000007 0100.0000000000 instr00000008 0010.2196074000 instr00000009 0010.7576298600 instr00000010 0011.3193202700 instr00000011 0002.8784932260 instr00000012 0004.0699210640 instr00000013 0004.9835338060 instr00000014 0000.3295970310 instr00000015 0001.0091666230 instr00000016 0001.6809277350 instr00000017 0000.2196074030 instr00000018 0000.7576298560 instr00000019 0001.3193202670 instr00000020 0002.8784932260 instr00000021 0004.0699210640 instr00000022 0004.9835338060 instr00000023 0010.3295970300 instr00000024 0011.0091666200 instr00000025 0011.6809277300 ; Parameter c(j) mid-market prices of benchmark instrument j in dollars ; c(j) = data(j,'value') ; Parameter Dtot value of deviaions in optimal solution ; Parameter Dprim value of the primal solution to the two-step problem ; Parameter Dtot_aux(x) value of Dtot in each iteration ; Parameter DprimV(x) value of primal solution to the two-step problem ; Parameter DdualV(x) value of the dual solution ; Parameter Entropia(x) value of all entropias in the iteration ; Parameter Psim(i,x) all ps in the simulation ; Parameter Tsim(k,x) all ts in the simulation ; Anexo: Códigos de programas Olivia Peraita Ezcurra 141 Parameter Wsim(j,x) all ws in the simulation ; Parameter Z1(x) ; Parameter Z2(x) ; Parameter Sol_arriba solución de luenberger para problema de min ; Parameter Sol_abajo solución de luenberger para problema de max ; Parameter W_arriba(j) calibración de w para el problema de min ; Parameter W_abajo(j) calibración de w para el problema de max ; $include 150809_q $include 150228_gb $include 150228_gv $include 150228_e Option optcr = 1E-009 ; Option LP = OSICplex; Option decimals = 8; Variables z1p variable objetivo fase1 del primal z2p variable objetivo fase2 del primal zpsdA variable objetivo del pseudodualA zpsdB variable objetivo del pseudodualB zluen variable objetivo del problema de Luenberger p(i) probability of taking path i t(k) mid-market prices of valued instrument k in dollars yip(i) variable de desviación positiva para pathw yin(i) variable de desviación negativa para pathw w1A(i) variable del pseudodualA w2A variable del pseudodualA w3A(j) variable del pseudodualA w4A variable del pseudodualA zzn variable del pseudodual zzp variable del pseudodual wB variable del pseudodualB wluen variable de composición de cartera del prob de Luen; Positive variables p(i), t(k), yip(i), yin(i), zzn, zzp ; Equations objetivo_aux objetivo_primal prob_parecidas(i) precios_coinciden(j) dif_desviaciones valoracion(k) desviaciones_minimas_iter objetivo_psdualA restr1A(i) restr2A(i) restr3A(i) restr4A(i) restr5A objetivo_psdualB restr1B restr2B objetivo_luenberger restr_arriba Valoración de activos financieros por entropía máxima con programación lineal Olivia Peraita Ezcurra 142 restr_abajo ; objetivo_aux.. z1p =e= sum(i, yin(i)+yip(i)) ; objetivo_primal.. z2p =e= sum(i, p(i)*e(i)); prob_parecidas(i).. p(i)-q(i)+yin(i)-yip(i) =e= 0.000000000 ; precios_coinciden(j).. sum(i, p(i)*gb(i,j)) =e= c(j) ; dif_desviaciones.. sum(i, yin(i)-yip(i)) =e= 0.00000000 ; valoracion(k).. sum(i, p(i)*gv(i,k)) =e= t(k); desviaciones_minimas_iter.. sum(i, yin(i)+yip(i)) =e= Dtot+iter/100 ; objetivo_psdualA.. zpsdA =e= sum(i,w1A(i)*q(i))+w2A*Dtot+sum(j,w3A(j)*c(j))+w4A*0 ; restr1A(i).. w1A(i)+sum(j,w3A(j)*gb(i,j)) =l= e(i) ; restr2A(i).. w1A(i)+w2A+w4A =l= 0 ; restr3A(i).. -w1A(i)+w2A-w4A =l= 0 ; restr4A(i).. w1A(i) =e= 0; restr5A.. w2A =e= 0; objetivo_psdualB.. zpsdB =e= zzn+zzp ; restr1B(i).. sum(j,wB(j)*gb(i,j)) =l= e(i) ; restr2B.. sum(j,wB(j)*c(j))+zzn-zzp =e= Dprim; objetivo_luenberger.. zluen =e= sum(j,wluen(j)*c(j)) ; restr_arriba(i).. sum(j,wluen(j)*gb(i,j)) =g= e(i) ; restr_abajo(i).. sum(j,wluen(j)*gb(i,j)) =l= e(i) ; Model distr_primal1 /objetivo_aux ,prob_parecidas, precios_coinciden, dif_desviaciones, valoracion/ ; Model distr_primal2_iter /objetivo_primal, prob_parecidas, precios_coinciden, dif_desviaciones, desviaciones_minimas_iter/ ; Model distr_psdualB /objetivo_psdualB, restr1B, restr2B/ ; solve distr_primal1 using lp minimizing z1p ; Dtot = z1p.L ; iter=0 ; loop (x, Dtot_aux(x)=Dtot+iter/10 ; * solve distr_primal2_iter using lp minimizing z2p ; solve distr_primal2_iter using lp maximizing z2p ; DprimV(x)=z2p.L; Dprim=z2p.L; Psim(i,x)=p.L(i); Tsim(k,x)=t.L(k); Entropia(x)=0 ; loop(i, if (p.l(i)<=0, Entropia(x)=Entropia(x) ; else Entropia(x)=Entropia(x)-p.L(i)*log(p.L(i)) ; ); ); solve distr_psdualB using lp minimizing zpsdB ; DdualV(x)=zpsdB.L; Z1(x)=zzn.L; Z2(x)=zzp.L; Wsim(j,x) = wB.L(j); Anexo: Códigos de programas Olivia Peraita Ezcurra 143 iter=iter+1; ); *Model distr_psdualA /objetivo_psdualA, restr1A, restr2A, restr3A, restr4A, restr5A/ ; *solve distr_psdualA using lp maximizing zpsdA ; *Model luenberger_arriba /objetivo_luenberger, restr_arriba/ ; *Model luenberger_abajo /objetivo_luenberger, restr_abajo/ ; *solve luenberger_arriba using lp minimizing zluen ; *Sol_arriba = zluen.l ; *W_arriba(j) = wluen.l(j) ; *solve luenberger_abajo using lp maximizing zluen ; *Sol_abajo = zluen.l ; *W_abajo(j) = wluen.l(j) ; display Dtot_aux; display DprimV; display DdualV; display Entropia; display Z1; display Z2; display Wsim; display Tsim; display Psim; *$ontext; execute_unload "150809_GAMSInt.gdx" Dtot_aux DprimV DdualV Entropia Z1 Z2 Wsim Tsim Psim execute 'gdxxrw.exe 150809_GAMSInt.gdx par=Dtot_aux rng=Hoja1!a1' execute 'gdxxrw.exe 150809_GAMSInt.gdx par=DprimV rng=Hoja1!a3' execute 'gdxxrw.exe 150809_GAMSInt.gdx par=DdualV rng=Hoja1!a5' execute 'gdxxrw.exe 150809_GAMSInt.gdx par=Entropia rng=Hoja1!a7' execute 'gdxxrw.exe 150809_GAMSInt.gdx par=Z1 rng=Hoja1!a9' execute 'gdxxrw.exe 150809_GAMSInt.gdx par=Z2 rng=Hoja1!a11' execute 'gdxxrw.exe 150809_GAMSInt.gdx par=Wsim rng=Hoja1!a13' execute 'gdxxrw.exe 150809_GAMSInt.gdx par=Tsim rng=Hoja1!a38' execute 'gdxxrw.exe 150809_GAMSInt.gdx par=Psim rng=Hoja1!a171' *$offtext; Tesis Olivia Peraita Ezcurra Agradecimientos Índice Resumen en Español English Abstract Introducción 1 Teoría de la probabilidad y valoración de opciones 2 Teoría de la información, medidas de divergencia y programación matemática 3 Valoración de activos por entropía relativa con programación lineal 4 Aplicaciones 5 Conclusiones y extensiones 6 Bibliografía 7 Anexo: códigos de programas