Librería

quantmod

Autor principal

Joshua Ulrich

La función chartSeries

El paquete quantmod permite obtener, transformar y dibujar datos financieros de diversas fuentes. En el siguiente ejemplo vamos a descargar los datos del SP500 desde Yahoo Finance y dibujarlos con la función chartSeries, que crea por defecto lo que se conoce como gráfico de velas japonesas.

Ten en cuenta que puedes transformar los datos diarios en velas semanales o mensuales con las funciones as.weekly y as.monthly, e.g. as.monthly(GSPC).

Gráfico de velas por defecto

# install.packages("quantmod")
library(quantmod)

# Fechas
inicio <- "2020-10-01"
fin <- "2021-01-01"

# Obtenemos los datos
getSymbols("^GSPC", 
           from = inicio, to = fin,
           src = "yahoo") 

# Dibujamos la serie
chartSeries(GSPC)

Candlestick en R

La función proporciona opciones para cambiar el tema y los estilos, como un tema blanco, cambiar el tipo de gráfico o los colores, entre otras. Escribe ?chartSeries para ver opciones adicionales.

Personalización

# install.packages("quantmod")
library(quantmod)

# Fechas
inicio <- "2020-10-01"
fin <- "2021-01-01"

# Obtenemos los datos
getSymbols("^GSPC", 
           from = inicio, to = fin,
           src = "yahoo") 

# Dibujamos la serie
chartSeries(GSPC,
            theme = chartTheme("white"), # Tema
            bar.type = "hlc",  # Alto-bajo-cierre  
            up.col = "green",  # Vela alza
            dn.col = "pink")   # Vela baja

Función chartSeries del paquete quantmod

También puedes agregar indicadores técnicos al gráfico, tales como bandas de Bollinger o medias móviles exponenciales, entre otros. Busca las funciones que empiecen por add.

Indicadores técnicos

# install.packages("quantmod")
library(quantmod)

# Fechas
inicio <- "2020-10-01"
fin <- "2021-01-01"

# Obtenemos los datos
getSymbols("^GSPC", 
           from = inicio, to = fin,
           src = "yahoo") 

# Dibujamos la serie
chartSeries(GSPC,
            theme = chartTheme("white"),
            name = "SP500",  
            TA = list("addBBands(n = 10)",
                      "addVo()",
                      "addEMA(20)",
                      "addEMA(10, col = 2)"))

Gráfico de velas en R con volatilidad, medias móviles y bandas de Bollinger

La función chart_Series

La librería quantmod tiene varias funciones experimentales, como chart_Series. Si quieres pasar tus datos financieros a esta función el gráfico por defecto es el siguiente:

La función chart_Series del paquete quantmod

# install.packages("quantmod")
library(quantmod)

# Fechas
inicio <- "2020-10-01"
fin <- "2021-01-01"

# Obtenemos los datos
getSymbols("^GSPC", 
           from = inicio, to = fin,
           src = "yahoo") 

# Dibujamos la serie
chart_Series(GSPC)

El tema del gráfico se puede personalizar con la lista de argumentos que proporciona chart_theme.

Personalización del gráfico de velas japonesas en R

# install.packages("quantmod")
library(quantmod)

# Fechas
inicio <- "2020-10-01"
fin <- "2021-01-01"

# Obtenemos los datos
getSymbols("^GSPC", 
           from = inicio, to = fin,
           src = "yahoo"

# Tema personalizado
myTheme <- chart_theme()
myTheme$col$dn.col <- "pink"
myTheme$col$dn.border <- "pink"
myTheme$col$up.col <- "green"
myTheme$col$up.border <- "green"
myTheme$rylab <- TRUE
myTheme$lylab <- FALSE

# Dibujamos la serie
chart_Series(GSPC, theme = myTheme)

Por último, puedes agregar indicadores técnicos pasando una cadena de caracteres con las funciones de los indicadores separadas por puntos y comas.

Añadiendo indicadores técnicos a un gráfico financiero hecho con R

# install.packages("quantmod")
library(quantmod)

# Fechas
inicio <- "2020-10-01"
fin <- "2021-01-01"

# Obtenemos los datos
getSymbols("^GSPC", 
           from = inicio, to = fin,
           src = "yahoo")

# Dibujamos la serie
chart_Series(GSPC,
             TA = "add_EMA(n = 20, col = 4, lwd = 2);
                   add_EMA(n = 5, col = 2, lwd = 2)")

También te puede interesar