我用quantmod从雅虎财经下载股票数据。这里msft是一个xts对象。
library(quantmod)
library(forecast)
library(xts)
library(zoo)
start <- as.Date('2018-01-01')
end <- as.Date('2018-08-14')
getSymbols('MSFT', src='yahoo', from=start, to=end)
msft <- MSFT[, 'MSFT.Adjusted']
我正在尝试将 xts 对象转换为 ts 对象。以下是我所做的。我的结果有点奇怪。在这种情况下,我应该输入什么频率?股票数据是每日数据(仅限工作日(。非常感谢您的帮助。
ts(msft, start=c(2018,1,1), frequency = 365)
您可以使用xts
库中的as.timeSeries.xts
。
msft <- as.timeSeries.xts(MSFT)
str(as.timeSeries.xts(msft))
plot(msft)
我希望这会有所帮助
msft1<- as.data.frame(msft) #converting it to Data frame
rownames(msft1) <- NULL #Nullify all the rownames
timeseries<-ts(msft1, start=c(2018,1,1), frequency = 365) #convert it into a ts object
plot(timeseries) ## Plot to verify the time series
您可以从下面的代码中选择工作日
# install.packages('timeDate')
require(timeDate)
# A ’timeDate’ Sequence
tS <- timeSequence(as.Date("1991/1/4"), as.Date("2010/3/1"))
tS
# Subset weekdays
tW <- tS[isWeekday(tS)]; tW
dayOfWeek(tW)