我正在两个国家(即中国和美国)的股票市场上工作。我在r中使用了“ quantmod”库,以从Yahoo Finance导入每日历史价格。我的样本数据来自2010年1月1日至2015年3月31日,但是由于这些国家/地区的文化不同,他们在不同的日期放假,并且这些天股票市场休市。因此,我有不同的编号。数据行,我无法将garch模型应用于这些值。例如,中国股市有1267行(一列),而美国市场有1303行(一列)。
现在我的问题是,如何创建具有相似日期的数据框并删除/跳过具有不同日期的值?
我的代码和r中的错误在下面给出,
library("rugarch")
library("rmgarch")
library("quantmod")
startdate<-as.Date("2010-01-01")
enddate<-as.Date("2015-03-31")
getSymbols("^SSEC", from=startdate, to=enddate)
getSymbols("^GSPC", from=startdate, to=enddate)
rsse<-dailyReturn(SSEC$SSEC.Close) # *calculate returns*
rgspc<-dailyReturn(GSPC$GSPC.Close)# *calculate returns*
returns<-data.frame(rsse, rgspc) # *making data frame with both market returns*
**Error**
Error in data.frame(rsse, rgspc) :
arguments imply differing number of rows: 1267, 1303
答案 0 :(得分:0)
您应该在两个数据帧上进行内部联接。每个数据框都需要有日期和当天的价格。我不知道您的数据框的结构,但类似:
dplyr::inner_join(SSEC, GSPC, by='my.date.variable')
,或者两个数据框的日期变量名称不同,例如SSEC_date
和GSPC_date
:
dplyr::inner_join(SSEC, GSPC, by=c('SSEC_date' = 'GSPC_date'))