我正在使用以下代码查找特斯拉的波动性:
library(quantmod)
library(ggplot2)
Tesla <- getSymbols("TSLA", src = "yahoo", from = "2014-10-01", to = "2019-11-25", auto.assign = FALSE)
vol.tesla <- volatility(Tesla[ ,6])
graf_vol_tesla <- ggplot(vol.tesla, aes(x = index(vol.tesla), y = vol.tesla))+ geom_line(color = "violetred4") +
ggtitle("volatility Tesla") + xlab("Date") + ylab("Volatility") +
theme(plot.title = element_text(hjust = 0.5)) +
scale_x_date(date_labels = "%b %y", date_breaks = "9 months")
graf_vol_tesla
但是,它作为输出而不是图像。有人知道如何解决吗?预先感谢!
'不知道如何自动为xts / zoo类型的对象选择比例。默认为连续。错误:输入无效:date_trans仅适用于Date类的对象。
答案 0 :(得分:1)
您只需要将index(vol.tesla)
转换为有效的日期对象,以便ggplot可以绘制它。使用as.Date
来执行此操作,如下所示:
library(ggplot2)
library(quantmod)
Tesla <- getSymbols("TSLA", src = "yahoo", from = "2014-10-01", to = "2019-11-25", auto.assign = FALSE)
vol.tesla <- volatility(Tesla[ ,6])
graf_vol_tesla <- ggplot(vol.tesla, aes(x = as.Date(index(vol.tesla)),
y = vol.tesla))+ geom_line(color = "violetred4") +
ggtitle("volatility Tesla") + xlab("Date") + ylab("Volatility") +
theme(plot.title = element_text(hjust = 0.5))+
scale_x_date(date_labels = "%b %y", date_breaks = "9 months")
graf_vol_tesla