Evolución del precio de Commodities: Descarga y análisis con R

5
(2)

En el presente post, se utilizará una vez más la librería “quantmod”, la cual emplearemos para descargar desde Oanda el precio tanto del oro (XAU) como de la plata (XAG) expresados en dólares norteamericanos.

Descarga de datos con quantmod

Las series que se obtienen van desde 01 de enero de 2012 hasta la fecha.

library(quantmod)

getMetals("XAU",
      from = "2012-01-01",
      base.currency="USD",
      env = .GlobalEnv,
      verbose = FALSE,
      warning = TRUE,
      auto.assign = TRUE,
      return.class='zoo')
## [1] "XAUUSD"
getMetals("XAG",
      from = "2012-01-01",
      base.currency="USD",
      env = .GlobalEnv,
      verbose = FALSE,
      warning = TRUE,
      auto.assign = TRUE,
      return.class='zoo')
## [1] "XAGUSD"

Gráficos con chartseries

A continuación con “chartseries” se graficará la evolución de dichos commodities y se le añadirá un promedio móvil simple de 20 (TA=“addSMA(20)):

chartSeries(XAUUSD, show.grid = TRUE,name = "Evolucion del precio del Oro", theme = chartTheme("white"), TA="addSMA(20)") 

plot of chunk unnamed-chunk-2

chartSeries(XAGUSD, show.grid = TRUE,name = "Evolucion del precio de la Plata", theme = chartTheme("white"), TA="addSMA(20)") 

plot of chunk unnamed-chunk-2

Si queremos conocer los valores máximos y mínimos:

ValorminXAUUSD <- min(XAUUSD)
ValorminXAGUSD <- min(XAGUSD)

ValormaxXAUUSD <- max(XAUUSD)
ValormaxXAGUSD <- max(XAGUSD)

Valormin = c(ValorminXAUUSD,ValorminXAGUSD)
valormax = c(ValormaxXAUUSD,ValormaxXAGUSD)

Tabla1= data.frame (rbind(Valormin,valormax))
colnames(Tabla1)<- c("Oro","Plata")

Tabla1
##               Oro   Plata
## Valormin 1054.685 13.7377
## valormax 1788.240 36.5895

Rendimiento promedio y volatilidad 

Por último, si queremos hallar el rendimiento promedio y la volatilidad (diaria):

Rendimiento promedio diario: se calcula la diferencia logarítmica de los precios o rentabilidad logarítmica, a la cual se le extrae la media.
Volatilidad diaria: se calcula la desviación estándar del rendimiento o retorno.

Para expresarlo en porcentajes se multiplica por 100 (Tabla2*100):

RetornoXAUUSD<-diff(log(XAUUSD))
RetornoXAGUSD<-diff(log(XAGUSD))

RendimientoPromedio = c(mean(RetornoXAUUSD),mean(RetornoXAGUSD))
Volatilidad= c(sd(RetornoXAUUSD),sd(RetornoXAGUSD))

Tabla2 = data.frame (rbind(RendimientoPromedio,Volatilidad))
colnames(Tabla2)<- c("Oro","Plata")

Tabla2*100
##                             Oro       Plata
## RendimientoPromedio -0.01615706 -0.03898427
## Volatilidad          0.67564574  1.07198044

Por último, en la página de finanzas cuantitativas, puedes encontrar más aplicaciones de R para finanzas y economía.

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

¡Haz clic en una estrella para puntuar!

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

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

2 comentarios en «Evolución del precio de Commodities: Descarga y análisis con R»

    • Hola Andrés, muchas gracias! sí, se podría manejar con proyecciones estimando algún modelo, lo cual es el tema central de uno de mis siguientes post!
      Saludos,

      Responder

Deja un comentario

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