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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.