如何使用一个xts对象的索引来子集另一个xts对象? require(quantmod) 要求(TTR) 要求(性能分析) tckr
看看GSPC,特别是行数如何使用一个xts对象的索引来子集另一个xts对象? require(quantmod) 要求(TTR) 要求(性能分析) tckr,r,xts,R,Xts,看看GSPC,特别是行数 require(quantmod) require(TTR) require(PerformanceAnalytics) tckr<-"^GSPC" start<-"1986-12-31" end<- format(Sys.Date(),"%Y-%m-%d") # yyyy-mm-dd getSymbols(tckr, from=start, to=end) US10yRate<-getSymbols("DGS10",src="FRED",
require(quantmod)
require(TTR)
require(PerformanceAnalytics)
tckr<-"^GSPC"
start<-"1986-12-31"
end<- format(Sys.Date(),"%Y-%m-%d") # yyyy-mm-dd
getSymbols(tckr, from=start, to=end)
US10yRate<-getSymbols("DGS10",src="FRED",auto.assign=FALSE,from=start, to=end)
US10yRate<-to.daily(US10yRate)[,1]
#running 25 day correlation
correlationSPand10y<-runCor(US10yRate[,1],GSPC[1:12789,2],n=25)
U您可以先合并它们,以确保它们的行数相同
U <- US10yRate[index(US10yRate) %in% index(GSPC),1]
G <- GSPC[index(GSPC) %in% index(US10yRate), 2]
dim(U)
# [1] 6552 1
dim(G)
# [1] 6552 1
dat感谢您为我指出functino合并。我试过你的代码,但不起作用。dat是xts[0]的结构。这可能是xts的时区问题。如果先执行Sys.setenv(TZ=“GMT”)
,会发生什么?
U <- US10yRate[index(US10yRate) %in% index(GSPC),1]
G <- GSPC[index(GSPC) %in% index(US10yRate), 2]
dim(U)
# [1] 6552 1
dim(G)
# [1] 6552 1
dat <- merge(US10yRate[, 1], GSPC[, 2], all=FALSE)
# or,
# dat <- na.locf(merge(US10yRate[, 1], GSPC[, 2]))
correlationSPand10y <- runCor(dat[, 1], dat[, 2], n=25)