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)

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

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)"))

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:

# 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.

# 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.

# 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