r - 访问由特定日期索引的 data.frame 行会生成 NA
问题描述
我有一个 data.frame,其中每列包含自 2014 年以来各种股票的月度回报,第一列包含观察日期。我需要访问这些股票在特定日期(例如 2018-01-31,或 2014-02-03 和 2018-01-01 之间)的回报,以便计算几个统计数据。
DATE APPLE GM
2018-05-11 0.1070360773 0.41666667
2018-05-12 0.0566735467 -0.0123546
当我计算特定日期范围内收益的协方差矩阵时,分配工作正常。但是,当我尝试对一个特定日期执行相同的操作以便将该行返回乘以另一个向量时,我得到 NA
data.returns$Date<-as.Date(data.returns$Date,format="%Y-%m-%d")
data.returns_m$Date<-as.Date(data.returns_m$Date,format="%Y-%m-
%d")
# defining monthly dates to compute returns
date_enddec17<-as.Date("2017-12-29")
date_endjan18<-as.Date("2018-01-31")
date_endfeb18<-as.Date("2018-02-28")
date_endmar18<-as.Date("2018-03-29")
date_endapr18<-as.Date("2018-04-30")
date_endmay18<-as.Date("2018-05-31")
date_endjun18<-as.Date("2018-06-29")
date_endjul18<-as.Date("2018-07-31")
date_endaug18<-as.Date("2018-08-31")
date_endsep18<-as.Date("2018-09-28")
date_endoct18<-as.Date("2018-10-31")
date_endnov18<-as.Date("2018-11-30")
date_enddic18<-as.Date("2018-12-31")
date_list <- c(date_enddec17, date_endjan18, date_endfeb18,
date_endmar18, date_endapr18, date_endmay18, date_endjun18,
date_endjul18, date_endaug18, date_endsep18,
date_endoct18, date_endnov18, date_enddic18)
# initialising the lists for the statistics
Covariance <- list()
W_gmv <- list()
ret_m <- list()
# for loop to calculate the statistics for each date
local <- 0
for (i in date_list) {
local <- local + 1
Covariance[[local]] <-
cov(na.omit(data.returns[data.returns$Date>=i-365*4 &
data.returns$Date<=i,2:ncol(data.returns)]))
W_gmv[[local]<-(solve(Covariance[[local]])%*%e)%*%solve(t(e)%*%solve(Covariance[[local]])%*%e)
ret_m[[local]] <- 1 + t(as.matrix(as.numeric(data.returns_m[data.returns_m$Date==i+30,-1]))) %*%W_gmv[[local]]
}
我希望获得一个ret_m
包含 13 个数字的列表(令人惊讶的是,协方差计算(循环中的第一个命令)并没有发生这种情况,它工作得非常好。
解决方案
推荐阅读
- python - Sklearn RandomizedSearchCV OSError: [Errno 5] 输入/输出错误
- django - 为什么 Vue 没有出现?
- c++ - 检查文本文件中的多条注释并打印出来
- python - Django virtualenv 名称忘记了
- javascript - 如何防止javascript新创建的元素在刷新时消失?
- vim - vim makeprg 使环境变量扩展
- javascript - webpack & 在同构包中使用节点模块
- c# - 获取和设置返回空属性的字符串属性
- javascript - Nodejs脚本没有结束
- java - 尝试通过 kubernetes DNS 访问 kubernetes pod 时连接被拒绝