首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xts对象-添加缺少的日期

xts对象-添加缺少的日期
EN

Stack Overflow用户
提问于 2020-04-24 17:37:08
回答 1查看 241关注 0票数 0

我正在使用来自雅虎财经的标准普尔500股票价格数据(通过getSymbols函数下载数据)。

在周末,股票价格不会变化,因此不包括日期。

我想添加所有缺少的日期(周末),并将NA作为其余列中的值。以2008-01-11和2008-01-14为例enter image description here

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-04-24 20:12:04

如果您不介意使用软件包,那么package timetk可以提供帮助。有关更多信息,请参阅包中的小插图。

代码语言:javascript
复制
library(quantmod)
library(magrittr) # for the pipe %>% function
library(timetk) 

out <- getSymbols("^GSPC", auto.assign = F) # get the data
out_padded <- out %>%  
  tk_tbl() %>%            # transform into tibble
  pad_by_time() %>%       # add the missing records
  tk_xts()                # transform back into xts format.

# ignore warnings

head(out_padded)
           GSPC.Open GSPC.High GSPC.Low GSPC.Close GSPC.Volume GSPC.Adjusted
2007-01-03   1418.03   1429.42  1407.86    1416.60  3429160000       1416.60
2007-01-04   1416.60   1421.84  1408.43    1418.34  3004460000       1418.34
2007-01-05   1418.34   1418.34  1405.75    1409.71  2919400000       1409.71
2007-01-06        NA        NA       NA         NA          NA            NA
2007-01-07        NA        NA       NA         NA          NA            NA
2007-01-08   1409.26   1414.98  1403.97    1412.84  2763340000       1412.84

当然,使用tidyquanttidyr也可以做到这一点。

代码语言:javascript
复制
library(tidyquant)

out_tq <- tq_get("^GSPC")
out_tq_padded <- pad_by_time(out_tq) %>% 
  tidyr::fill(symbol) # using fill from tidyr to fill the NA's in the symbol column.

out_tq_padded
# A tibble: 3,763 x 8
   symbol date        open  high   low close     volume adjusted
   <chr>  <date>     <dbl> <dbl> <dbl> <dbl>      <dbl>    <dbl>
 1 ^GSPC  2010-01-04 1117. 1134. 1117. 1133. 3991400000    1133.
 2 ^GSPC  2010-01-05 1133. 1137. 1130. 1137. 2491020000    1137.
 3 ^GSPC  2010-01-06 1136. 1139. 1134. 1137. 4972660000    1137.
 4 ^GSPC  2010-01-07 1136. 1142. 1131. 1142. 5270680000    1142.
 5 ^GSPC  2010-01-08 1141. 1145. 1136. 1145. 4389590000    1145.
 6 ^GSPC  2010-01-09   NA    NA    NA    NA          NA      NA 
 7 ^GSPC  2010-01-10   NA    NA    NA    NA          NA      NA 
 8 ^GSPC  2010-01-11 1146. 1150. 1142. 1147. 4255780000    1147.
 9 ^GSPC  2010-01-12 1144. 1144. 1132. 1136. 4716160000    1136.
10 ^GSPC  2010-01-13 1137. 1148. 1133. 1146. 4170360000    1146.
# ... with 3,753 more rows
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61405338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档