Matriz de correlación de los principales pares de divisas con R

5
(4)

En este artículo se pretende demostrar la potencia, sencillez y rapidez de R para realizar análisis de activos financieros. Concretamente, calcularemos una matriz de correlaciones de las principales pares de divisas.

Para ello usaremos 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

Primero:

require(“quantmod”)
require(“lubridate”)
require(“corrplot”)

En nuestro caso usaremos las mismas divisas que tiene oanda en su web: http://www.oanda.com/currency/live-exchange-rates/

names_pairs <- c( “EUR/GBP”,“EUR/CHF”,“USD/AUD”,“EUR/JPY”,“EUR/USD”,
“USD/EUR”,“USD/GBP”,“USD/CAD”,“USD/CHF”,“USD/JPY”,
“EUR/CAD”,“EUR/DKK”,“EUR/NOK”,“EUR/PLN”,“EUR/TRY”,
“EUR/ZAR”,“EUR/AUD”,“EUR/CZK”,“EUR/HUF”,“EUR/NZD”,
“EUR/SEK”,“EUR/SGD”,“USD/CZK”,“USD/HKD”,“USD/INR”,
“USD/NOK”,“USD/SAR”,“USD/SGD”,“USD/TRY”,“USD/ZAR”,
“USD/CNY”,“USD/DKK”,“USD/HUF”,“USD/MXN”,“USD/PLN”,
“USD/SEK”,“USD/THB”,“USD/TWD”,“USD/NZD”,“USD/XAG”,
“USD/XAU”)

Seleccionamos los años:

fechas <- seq(as.Date(“2000-01-01”), as.Date(“2015-01-01”), by=“year”)

pair <- c()
pairs<- c()
pairs_agr<- c()

Necesitamos un bucle para coger todos los pares y años uno por uno:

for (name_pair in names_pairs){
for (i in 1:length(fechas)){
fecha_ini <- fechas[i]
fecha_fin <- fechas[i] + years(1) -1
pair_year <- getSymbols.oanda(name_pair , from =fecha_ini, to = fecha_fin , env = parent.frame(), verbose = F, warning = T, auto.assign = F)
pair <- c(pair_year,pair )
}
pairs<-cbind(pairs,pair)
pairs_agr<-cbind(pairs_agr,pair)
pair <- c()
}

Por último, creamos la matriz y la pintamos:

corr_matrix <- cor(pairs)
corrplot(corr_matrix, method = “color”,type=“upper”, order = “AOE”)

Y ya tendremos nuestra matriz de correlaciones, indicando en cada color el coeficiente de correlación (Azul correlación positiva, Rojo Correlación negativa – blanco sin correlación)

Cualquier duda o comentario, no dudéis en escribirme a eljuancar@hotmail.com (Juan Carlos Garcí­a Sigüenza).

require("quantmod")
require("lubridate")
require("corrplot")

names_pairs <- c( "EUR/GBP","EUR/CHF","USD/AUD","EUR/JPY","EUR/USD",
                    "USD/EUR","USD/GBP","USD/CAD","USD/CHF","USD/JPY",
                    "EUR/CAD","EUR/DKK","EUR/NOK","EUR/PLN","EUR/TRY",
                    "EUR/ZAR","EUR/AUD","EUR/CZK","EUR/HUF","EUR/NZD",
                    "EUR/SEK","EUR/SGD","USD/CZK","USD/HKD","USD/INR",
                    "USD/NOK","USD/SAR","USD/SGD","USD/TRY","USD/ZAR",
                    "USD/CNY","USD/DKK","USD/HUF","USD/MXN","USD/PLN",
                    "USD/SEK","USD/THB","USD/TWD","USD/NZD","USD/XAG",
                    "USD/XAU")

fechas <- seq(as.Date("2000-01-01"), as.Date("2015-01-01"), by="year")

pair <- c()
pairs<- c()
pairs_agr<- c()

for (name_pair in names_pairs){
    for (i in 1:length(fechas)){
      fecha_ini <- fechas[i] 
      fecha_fin <- fechas[i] + years(1) -1 
      pair_year <- getSymbols.oanda(name_pair , from =fecha_ini, to = fecha_fin , env = parent.frame(), verbose = F, warning = T, auto.assign = F)
      pair <- c(pair_year,pair )
    } 
    pairs<-cbind(pairs,pair)
    pairs_agr<-cbind(pairs_agr,pair)
    pair <- c()
}

corr_matrix <- cor(pairs)
corrplot(corr_matrix, method = "color",type="upper", order = "AOE")

plot of chunk unnamed-chunk-1

Por último, en la página de finanzas cuantitativas puedes aprender diversas aplicaciones de R para finanzas.

Editado por Conney Marulanda López.

¿Te ha parecido útil? ¡Puntúa esta entrada!

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 4

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook
Twitter
LinkedIn
Scroll al inicio
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.