r语言 - 如何将股票数据从 xts 对象转换为 ts 对象



我用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)

最新更新