Finanzas cuantitativas

Finanzas cuantitativas

Las finanzas cuantitativas son un área que está tomando cada vez mayor importancia dentro de las instituciones financieras y los profesionales en este campo son uno de los perfiles cada vez más demandados.

¿Qué son las finanzas cuantitativas?

Acorde al Corporate Finance Institute (CFI), finanzas cuantitativas es un término que hace referencia al uso de modelos matemáticos y grandes datasets para analizar mercados financieros y activos, como por ejemplo la valoración de derivados financieros y la gestión del riesgo.

Así que finanzas cuantitativas no es más que que el uso de modelos o métodos estadísticos y matemáticos aplicado a las finanzas.

Comúnmente, los profesionales que trabajan en este área se llaman «Quants» y se suelen especializar en:

  • Gestión de riesgos
  • Gestión de carteras
  • Valoración de derivados financieros
  • Trading algorítmico
  • Arbitraje estadístico

Por lo tanto, los analistas cuantitativos o quantitative analysts en inglés usan modelos matemáticos aplicados a los mercados financieros para apoyar por ejemplo los departamentos de trading y gestión del riesgo en las entidades bancarias e instituciones financieras.

En este sentido, los analistas cuantitativos necesitan conocer sobre:

  • Algoritmos
  • C++ / Python / R
  • Ecuaciones diferenciales
  • Álgebra lineal
  • Calculo multivariante
  • Probabilidad
  • Análisis estadístico

Sí, todo eso…

via GIPHY

Lo anterior queda muy bien ilustrado en la siguiente imagen tomada del artículo de Medium «What is Quantitative Finance?» escrito por Abdulaziz Al Ghannami, donde se muestra que las finanzas cuantitativas es una mezcla o intersección entre distintas disciplinas matemáticas, estadística, computación y finanzas.

Actualmente, las finanzas cuantitativas utilizan la ciencia de datos o data science, extendiendo en la industria el uso de lenguajes de programación como R y Python y la aplicación de modelos de machine learning (aprendizaje automático) y deep learning. Por consiguiente, los analistas cuantitativos o quants requieren tener grandes habilidades computaciones en programación, especialmente en esos dos lenguajes cuyo uso se ha popularizado en los últimos años.

Según el índice de popularidad de lenguajes de programación (PYPL PopularitY of Programming Language) a octubre de 2020, el lenguaje de programación más usado en el mundo es Python, el cual tuvo una tasa de crecimiento de 19.4% en los últimos cinco (5) años, mientras que R se encuentra en la séptima posición, tal y como se observa en la siguiente tabla tomada de https://pypl.github.io.

Lenguajes de programación más usados
Python vs R

Por todo lo anterior, he decido crear una serie de posts sobre programación en R y programación en Python para finanzas.

Programación en R

Algunos de los temas o conceptos que explico y desarrollo con R son:

  • Valor en Riesgo (VaR), aplicando la función VaR de la librería PerfomanceAnalytics.
  • Análisis y optimización de portafolios de inversión, análisis que realizo con las librerías tseries y fPortfolio.
  • Análisis para el calculo de la frontera eficiente, cartera eficiente y cartera tangente, lo cual realizo con las funciones portfolioSpec, portfolioFrontier, frontierPlot, efficientPortfolio del paquete fPortfolio.
  • Descargar datos económicos y financieros con R, presento y utilizo algunas librerías como:
    • quantmod, para descargar datos desde Yahoo Finance, Oanda, Google Finance o FRED (Banco de la Reserva Federal de St.Louis).
    • fImport, para importar datos desde Yahoo Finance, Oanda o FRED.
    • wbstats y WDI, para buscar y descargar datos desde el Banco Mundial.
  • Análisis PIB a precios constantes, mediante el uso de la librería quantmod para descargar datos desde la web de la FRED.
  • Análisis del precio de commodities, a través de la librería quantmod, la cual empleo para descargar desde Oanda el precio tanto del oro (XAU) como de la plata (XAG) expresados en dólares norteamericanos. Asimismo, se grafican con la función chartSeries.
  • Matriz de correlación de los principales pares de divisas, para lo cual se utilizan los siguientes paquetes:
    • Quantmod, para descargar los pares de divisas.
    • Lubridate, para el manejo de fechas.
    • Corrplot, para representar gráficamente la matriz de correlaciones.
  • Filtro Hodrick Prescott (HP), analizando el PIB per cápita y el consumo privado en la economía española, aquí utilizo las siguientes librerías:
    • ggplot2 para graficar.
    • mFilter, para aplicar el Filtro Hodrick Prescott (HP).
  • Análisis del IBEX 35, utilizando las siguientes funciones y librerías:
    • Función get.hist.quote de la librería tseries para descargar los datos desde Yahoo Finance.
    • Función chart.TimeSeries de la librería PerformanceAnalytics para graficar.
    • Función CalculateReturns de la librería PerformanceAnalytics para el calculo de los retornos o rendimientos.
    • Función chart.CumReturns también de la librería PerformanceAnalytics para graficar los rendimientos.
    • Librería ggplot2 y latticeExtra para realizar distintos gráficos.
  • Descargar y graficar datos del Banco Internacional de Pagos (BIS) , aquí aplico las librerías que listo a continuación:
    • Para instalar el paquete BIS, se puede usar la librería devtools para instalar desde Github expersso/BIS o desde CRAN directamente.
    • La función get_bis para acceder a la url que se desee y poder descargar los datos.
    • Librerías tidyverse y zoo.
  • Análisis de series temporales, en esta entrada desarrollo un poco concepto y utilizo funciones que vienen por defecto con R para realizar los cálculos, como como por ejemplo, mean, median, plot, log, diff. Asimismo, el análisis lo realizo sobre uno de los datasets más famosos de series temporales – AirPassengers-, el cual contiene el total de pasajeros mensuales de aerolíneas internacionales entre 1949 y 1960, el cual se accede mediante la función data de R.
  • Estacionariedad y raíces unitarias, aquí descompongo la serie temporal con plot(decompose()). Para las raíces unitarias aplico los test de Dickey-Fuller Aumentado (Augmented Dickey-Fuller Test (ADF) y Phillips–Perron (PP) con las funciones adf.test y pp.test respectivamente del paquete tseries.
  • Autocorrelación, aplico las funciones acf y pacf para calcular la función de autocorrelación (ACF) y la función de autocorrelación parcial (PACF).
  • Desestacionalizar series temporales, a través del paquete seasonal y para descargar los datos mediante quantmod.
  • Rentabilidades con R, aquí explico la rentabilidad simple y rentabilidad logarítmica realizando un análisis de la acción de Netflix, Inci (NFLX), descargando los datos desde Yahoo Finance con quatmod, graficando con la función chart.TimeSeries de la librería PerformanceAnalytics. El calculo de rentbilidades lo realizo aplicando una formula y a tráves de la función Return.calculate.

Programación en Python

Próximamente.


Valor en Riesgo (VaR) con R

[latexpage] En esta entrada comentaré sobre una de las medidas más utilizadas para medir la exposición al riesgo de mercado ...
Leer Más

Análisis y optimización de portafolios con R (II)

[latexpage] Siguiendo con la entrada anterior sobre portafolios de inversión con R, ahora calcularé la frontera eficiente, portafolio eficiente y ...
Leer Más

Análisis y optimización de portafolios con R (I)

Esta entrada será la primera que publicaré sobre análisis y optimización de portafolios con R. Comentaré sobre la conformación de ...
Leer Más

Cálculo de rentabilidades con R: Rentabilidad aritmética Vs Rentabilidad logarítmica

[latexpage] Parar cualquier inversionista es muy importante diferenciar y saber calcular la rentabilidad o rendimiento de una inversión u activo ...
Leer Más

Análisis de series temporales con R (III): Autocorrelación

Siguiendo con el tema de series temporales y el análisis de estacionariedad y raíces unitarias, en esta entrada vamos a ...
Leer Más

Análisis de series temporales con R (II): Estacionariedad y raíces unitarias

En esta entrada vamos a retomar el concepto de estacionariedad de una serie temporal. ¿Qué es la estacionariedad? Como mencionamos ...
Leer Más

Análisis de series temporales con R (I)

Aquí publicaré una serie de entradas para analizar series temporales con el lenguaje de programación R. Para empezar, ¿Qué son ...
Leer Más

Desestacionalizar series temporales con R

En la entrada de hoy comentaré sobre desestacionalizar series temporales o ajustes estacionales, qué son y cómo realizarlos con el ...
Leer Más

Descargar y graficar datos del Banco Internacional de Pagos (BIS) con R

En la entrada de hoy les quiero compartir este nuevo paquete de R, se trata de BIS, paquete creado el ...
Leer Más