Lo reconozco: hace unos 8 años que conozco R y nunca me había entusiasmado demasiado (en sus comienzos me parecía algo inestable), siempre he sido más de Matlab (es algo así como ser del Atleti o del Real Madrid) pero al final no he podido resistirme y he caído en las redes de este potente proyecto de software libre. Y es que en los últimos años han aparecido multitud de paquetes para este programa con los que podemos tratar datos de mercados financieros con suma facilidad y realizar análisis complejos. Pero vayamos por partes: en este artículo os voy a contar qué es R, cómo instalarlo y cómo dar los primeros pasos con el programa, pensando en todo momento en trabajar con series de cotizaciones.

Qué Es R
R es un lenguaje y entorno de computación y gráficos estadísticos, desarrollado en los Laboratorios Bell por John Chambers y su equipo. Se trata de un lenguaje y entorno similares a S, si bien R parte de la filosofía GNU y el software libre. Curiosamente en el desarrollo de S también estuvo involucrado el propio Chambers, existiendo un conocido paquete de análisis estadístico basado en ese lenguaje, S-PLUS.

R puede ejecutarse en una amplia variedad de plataformas UNIX y similares (incluyendo FreeBSD y Linux), así como en Windows y MacOS. Con R podemos utilizar una amplia variedad de técnicas estadísticas de todo tipo (modelos lineales y no lineales, pruebas estadísticas, análisis de series temporales, análisis multivariante, etc.) pero su gran ventaja es, sin duda, es que es posible ampliar sus funcionalidades mediante los conocidos como packages o paquetes de los cuales existen ya… ¡más de 9.000! (podéis encontrar el listado completo en este enlace: https://cran.rediris.es/web/packages/available_packages_by_name.html).

En resumidas cuentas, se trata de un entorno muy potente de programación con funciones tan avanzadas como deseemos y con el que es posible hacer casi cualquier cosa que imaginemos… incluyendo el tratamiento de bases de datos financieras.


Instalar y Configurar R
Bien, si os he picado la curiosidad seguramente estéis deseando instalaros el programa. Muy sencillo: basta con acudir a cualquiera de los mirrors (por ejemplo desde el mirror de Madrid, https://cran.rediris.es/) que tiene el Comprehensive R Archive Network (CRAN) a lo largo y ancho del mundo y descargar la versión correspondiente a nuestro sistema operativo.

Una vez descargado e instalado, lo primero que veréis al abrirlo es una ventana espartana con un mensaje de bienvenido y poco más. Decepcionados, ¿verdad? No os preocupéis, aquí se hace todo con código, en breve sacaremos algunos gráficos con colores. Precisamente gracias a esta ligereza en la interface podremos hacer cálculos a toda velocidad.

Una cosa que os recomiendo que hagáis antes de empezar a trabajar con R es que configuréis la carpeta donde tendréis vuestras bases de datos. Normalmente este es un motivo por el que muchas veces no nos funcionan los scripts que hacemos, ya que el sistema es incapaz de cargar los datos. Para ello, basta con ir al menú Archivo -> Cambiar dir… y seleccionar la carpeta desde la que trabajaremos.



El Paquete Quantmod
Como os comentaba anteriormente, una de las grandes ventajas de R es que dispone de múltiples paquetes que nos permiten ampliar sus funcionalidades (de hecho, con R recién instalado no podremos hacer demasiadas cosas) pero antes debemos instalarlos. Uno de ellos, mi favorito para iniciarse con R en finanzas, es el paquete Quantmod.

Para instalarlo, vamos al menú Paquetes -> Instalar paquete…, seleccionamos el mirror más cercano y en la siguiente lista seleccionamos ‘quantmod’ y le damos a instalar.

Una vez instalado, para que funcione debemos cargarlo. Para ello nos dirigimos al menú Paquetes -> Cargar paquete… (Alternativamente también podríamos usar el comando library(quantmod) directamente en la consola).


Bien, ahora ya estamos en condiciones de poder empezar a hacer unas cuantas cosas interesantes. Empecemos por descargar algunos datos. Con Quantmod podemos descargar de forma automática bases de datos de Yahoo! Finance, Google Finance, Oanda, The Currency Site y la base de datos de series económicas FRED de la Reserva Federal de St. Louis. Por supuesto, también podemos trabajar con nuestros propios datos en formatos CSV, MySQL y binario de R (.RData y .rda).

Vamos a descargar algunos datos usando el comando getSymbol de Quantmod. Para ello podemos ejecutar las siguientes líneas:

getSymbols("AAPL",src="google")
getSymbols("TSLA",src="yahoo")
getSymbols("GDP",src="FRED")
getSymbols("EUR/GBP",src="oanda")

Con estos comandos descargaremos, respectivamente, los datos históricos diarios de la cotización de Apple desde Google Finance, la cotización de Tesla desde Yahoo! Finance, la serie trimestral del PIB estadounidense desde la base FRED y el histórico diario del par EURGBP desde Oanda.

Si no se lo creen, verán que R ha creado un objeto con el nombre del ticker para cada uno de ellos. Si tecleamos, por ejemplo, EURGBP y damos Enter nos mostrará el listado completo de cotizaciones diarias, y si tecleamos TSLA veremos el histórico completo en formato OHLC de Tesla.

Bien, pasamos ahora a dibujar unos gráficos. Aprovechando que tenemos los datos de Tesla, primero vamos a hacerles un poco de zoom cogiendo los datos del último año y generando su gráfico de velas:

chartSeries(TSLA, subset='2016::2016-10')


Debemos obtener el siguiente gráfico de velas:

También podemos representar los últimos 3 meses en barras en lugar de velas, poner el fondo en blanco y quitar el volumen con el siguiente comando:

chartSeries(TSLA, subset='last 3 months',type=c("bars"),theme=chartTheme('white'), TA=NULL)

Nos quedará algo así:


Vamos a meterle algunos indicadores al gráfico anterior; por ejemplo, unas bandas de Bollinger con media exponencial y parámetros (25, 1.5) y un RSI de período n=30). Para ello utilizamos el siguiente comando:

chartSeries(TSLA, subset='last 3 months',type=c("bars"),theme=chartTheme('white'),
TA= c(addBBands(n = 21, sd = 1.5, ma = "EMA"),addRSI(n = 30)))

Nos saldrá algo como esto:


Y si se nos ha olvidado el MACD no pasa nada, lo añadimos con sus parámetros por defecto tecleando:

addMACD() 

y pulsando Enter. El gráfico se actualizará obteniendo esto:



¿Preparados para más?

Espero que este artículo les haya servido para familiarizarse con el manejo de R y para hacer sus primeros gráficos. En los siguientes artículos veremos cómo gestionar bases de datos usando algunas funciones de este paquete, para posteriormente generar modelos cuantitativos con los que podremos analizar nuestros datos. Mientras tanto, si ya conocen R y les apetece trastear un poco con las funciones incluidas en Quantmod, pueden encontrar la referencia completa del paquete en http://www.quantmod.com/documentation/00Index.html


Saludos,
X-Trader