Abstract
Una de las tareas principales de los analistas cuantitativos (quants) es valorar los distintos productos financieros derivados de las carteras de las entidades financieras. Sin embargo, la mayor parte del tiempo de computación no se emplea en calcular el precio de dichos productos, sino que se gasta en obtener unas magnitudes muy importantes llamadas griegos o sensibilidades. Estas magnitudes se obtienen calculando la derivada del precio de los productos con respecto a los distintos factores de riesgo de mercado. El creciente nivel de sofisticación de los instrumentos derivados y de los mercados financieros ha reducido los modelos con fórmulas analíticas de forma cerrada a un pequeño porcentaje del inventario general de modelos de instituciones financieras. Consecuentemente, la mayor parte de los motores de fijación de precios se basan en métodos Monte Carlo, para los cuales los tiempos de computación de las griegas empleando métodos tradicionales son muy altos. Estos métodos están basados principalmente en el método de diferencias finitas, ampliamente utilizado en los equipos cuantitativos de las empresas financieras de todo el mundo debido principalmente a su sencillez y a su facilidad de implementación. Sin embargo, el coste computacional de calcular el precio y las derivadas asociados se multiplica aproximadamente por el número de derivadas más uno, con respecto al coste computacional de calcular el precio únicamente, algo que para productos con varios subyacentes puede ser una limitación importante. Además, los esquemas de diferencias finitas llevan asociado un error de truncamiento y exigen de antemano establecer un valor de bump, una decisión que puede ser trascendental en el cálculo de griegas. La diferenciación algorítmica es un conjunto de técnicas para evaluar numéricamente la derivada de una función especificada mediante un programa de ordenador. Esta técnica tiene en cuenta que, cada software, ejecuta una secuencia de operaciones aritméticas elementales (suma, resta, multiplicación, división, etc.) y funciones elementales (exp, log, sin, cos, etc.). Al aplicar la regla de la cadena repetidamente a estas operaciones, las derivadas de cualquier orden se pueden calcular con precisión de máquina y no exigen definir un valor de bump. Además, empleando el método backward y diferenciación automática, se puede reducir el coste computacional de calcular el precio y las derivadas a menos de cuatro veces el coste computacional de calcular el precio únicamente. Para analizar la idoneidad del empleo de las técnicas de diferenciación algorítmica para el cálculo de griegas, se han seguido diferentes caminos para finalmente diseñar una librería de valoración de productos derivados financieros y calcular así estas sensibilidades empleando la herramienta Autograd. En lineas generales, el presente Trabajo de Fin de Máster titulado `Diferenciación algorítmica para el cálculo de sensibilidades de productos derivados financieros mediante métodos Monte Carlo', intenta sentar las bases para la aplicación de las técnicas de diferenciación algorítmica en las librerías del departamento de Validación Interna de Banco Santander. De este modo se evitaría el uso de las técnicas clásicas empleadas tradicionalmente en la industria bancaria basadas en el método de diferencias finitas las cuales llevan asociado un error de truncamiento, pueden aumentar considerablemente el tiempo de computación y exigen de antemano establecer un valor de bump que puede ser trascendental.