【问题标题】:how to deal with different length of xts variable in r?如何处理r中不同长度的xts变量?
【发布时间】:2019-05-10 18:01:41
【问题描述】:

我正在研究两个不同国家的股票市场,即中国和美国。我在 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

【问题讨论】:

    标签: r


    【解决方案1】:

    您应该对两个数据框进行内部连接。每个数据框都需要有一个日期和当天的价格。我不知道您的数据框的结构,但类似于:

    dplyr::inner_join(SSEC, GSPC, by='my.date.variable')
    

    或者如果两个数据框的日期变量名称不同,例如SSEC_dateGSPC_date

    dplyr::inner_join(SSEC, GSPC, by=c('SSEC_date' = 'GSPC_date'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      相关资源
      最近更新 更多