我使用R中的alphavantager
包下载了数据。我正在尝试将分钟数据设置为时间序列xts
对象。
rm(list = ls())
library(alphavantager)
AlphaKey <- av_api_key("YOUR API Key (Free) - (obtainable here: https://www.alphavantage.co/support/#api-key) ")
print(AlphaKey)
args(av_get)
GOOG <- av_get(symbol = "GOOG", av_fun = "TIME_SERIES_INTRADAY", interval = "1min", outputsize = "full")
plot(GOOG$close)
close_price <- GOOG$close
times <- as.POSIXct(GOOG$timestamp, format="%d/%m/%Y %H:%M")
times
times <-format(GOOG$timestamp, format="%H:%M:%S")
df <- cbind(times, close_price)
当我运行is.xts(df)
时,我得到一个输出FALSE
。我正在尝试使用以下格式将GOOG$timestamp
设置为xts对象:YYYY MM DD HH MM SS
,以便我可以从chartSeries
包中运行quantmod
。
head(GOOG$timestamp)
[1] "2017-10-30 09:30:00 UTC"
[2] "2017-10-30 09:31:00 UTC"
[3] "2017-10-30 09:32:00 UTC"
[4] "2017-10-30 09:33:00 UTC"
[5] "2017-10-30 09:34:00 UTC"
[6] "2017-10-30 09:35:00 UTC"
我怎样才能在R?
中这样做
编辑:我从chartSeries
函数得到的错误:
chartSeries(df, TA=NULL)
> Error in try.xts(x, error = "chartSeries requires an xtsible object") :
chartSeries requires an xtsible object
答案 0 :(得分:2)
与quantmod
不同,alphavantager
不会将数据转换为xts
对象。因此,你必须自己做。这应该有效:
df <- xts(GOOG[,-1], order.by = as.POSIXct(GOOG$timestamp))