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