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