miércoles, 9 de enero de 2013

El Lenguaje R para Trading Cuantitativo


La plataforma Entropycs está desarrollada utilizando multitud de tecnologías de software libre (Qt, Nvidia CUDA, SQLite, etc), pero de entre ellas, hay una que destaca, e incluso quizás podríamos decir que forma el corazón de la plataforma: el lenguaje R.

R es un lenguaje de programación específicamente diseñado para análisis estadístico, que es muy popular en la comunidad científica. R proporciona un amplio abanico de herramientas estadísticas (modelos lineales y no lineales, tests estadísticos, análisis de series temporales, algoritmos de clasificación y agrupamiento, etc.) así como potentes gráficos. R se distribuye bajo la licencia libre GPL, y existe una amplia comunidad internacional de desarrolladores que contribuyen a mejorar el lenguaje mediante la addición de todo tipo de módulos. R está disponible para los sistemas operativos Windows, Macintosh, y Linux.

Existe un repositorio oficial con más de 2000 extensiones o paquetes que cubren las más diversas tareas. Los paquetes que forman R se agrupan en Task Views temáticas. En el caso de finanzas nos interesan la task view de econometría y, sobre todo, la de finanzas propiamente dicha. Entre las dos nos proporcionan más de un centenar de paquetes que abarcan todo tipo de análisis financieros.

Desgraciadamente, el usuario que se acerca por primera vez a R puede encontrar un poco intimidatorio la cantidad de paquetes disponibles, y existe el riesgo de que acabe perdiéndose entre tanta información. Por ello, en esta entrada de blog vamos a proporcionar algunos enlaces y puntos de entrada para que sea más fácil familiarizarse con esta poderosa herramienta. Además, también destacaremos algunos de los paquetes que han sido específicamente diseñados, o que son especialmente relevantes, para el desarrollo y evaluación de sistemas automáticos de trading (paquetes que a su vez han sido integrados en la plataroma Entropys).

Algunos recursos para empezar con buen pie en R:
  • Libros: un buen libro de introducción al lenguaje R (en inglés) es “R in a Nutshell” de Joseph Adler. En castellano también existen varios libros, que además son de descarga libre, tales como “R para Principiantes”, “Introducción a R”, “Estadística Básica con R”, y “Gráficos Estadísticos con R".
  • Listas de correo: la principal lista de correo de R es R-Help (en inglés); también existe una lista específicamente para finanzas R-SGI-Finance; en castellano tenemos la lista R-Help-Es, que además es una lista muy activa.
  • Páginas webs: como páginas web, además de la página oficial del proyecto R, se destacan la de Rmetrics centrada en la formación sobre análisis financiero con R, y FOSS Trading un blog con artículos muy interesantes de cómo utilizar R para hacer trading.
Listado de paquetes para el desarrollo y evaluación de sistemas de trading:
  • Xts: paquete para la gestión de series temporales de datos. Dado que los datos de cotización de acciones o de cambios de divisas son datos temporales, este paquete es básico para el análisis de los mismos.
  • TTR: implementación de los principales indicadores técnicos utilizados en los sistemas automáticos de trading, tales como medias móviles, MACD, RSI, ADX, etc.
  • quantmod: Quantitative Financial Modelling & Trading Framework, proporciona herramientas para la descarga de históricos de datos (desde por ejemplo Yahoo! Finance) así como su representación mediante gráficos de barras, líneas o velas japonesas. También permite integrar sobre estos gráficos los indicadores técnicos proporcionados por TTR.
  • PerformanceAnalytics: funciones econométricas para el análisis de rendimientos y riesgos.
  • Ibrokers: paquete que nos permite hacer trading directamente con nuestros sistemas en R, a través del broker IB Brokers.

No hay comentarios:

Publicar un comentario