作者:徐瑞龙,量化分析师,R语言中文社区专栏作者
博客专栏:
https://www.cnblogs.com/xuruilong100
本文翻译自《Demo Week: Tidy Time Series Analysis with tibbletime》
原文链接:www.business-science.io/code-tools/2017/10/26/demo_week_tibbletime.html
注意:由于软件包的版本变化,部分代码被修改,文字有删减
tibbletime
的用途
tidy 时间序列分析的未来:基于
tbl
的新类——tbl_time
,为tibble
对象添加时间轴,赋予处理时间的能力。时间序列函数:为
tbl_time
对象专门设计的一系列函数,例如:
filter_time()
:根据日期简便快捷地过滤一个tbl_time
对象。as_period()
:转换时间周期(例如月度变为年度),让用户能将数据聚合到低粒度水平上。time_collapse()
:当使用time_collapse
时,tbl_time
对象中落入相同周期的索引将被修改成相同的日期。rollify()
:修改一个函数,使其能够在特定时间区间上计算一个或一组值。可以用来计算滚动均值,或其他tidyverse
框架下的滚动计算。create_series()
:根据规则时间序列,用简化标记快速初始化一个带有date
列tbl_time
对象。
加载包
tibbletime
目前还在活跃开发阶段,可以用常规方法安装,也可以借助 devtools
从 github 上安装最新开发版。
# Get tibbletime version with latest features devtools::install_github("business-science/tibbletime")
安装完成后,加载下面的包:
tibbletime
:创建带时间轴的tibble
对象,可以使用tbl_time
函数。tidyquant
:加载tidyverse
框架,用tq_get()
获取数据。
# Load libraries library(tibbletime) # Version: 0.1.1, Future of tidy time series analysis library(tidyquant) # Loads tidyverse, tq_get()
数据
用 tq_get()
下载 FANG(脸书、亚马逊、网飞、谷歌)每天的股票价格。
# Stock Prices from Yahoo! Finance FANG_symbols <- c("FB", "AMZN", "NFLX", "GOOG") FANG_tbl_d <- FANG_symbols %>% tq_get( get = "stock.prices", from = "2014-01-01", to = "2016-12-31") FANG_tbl_d <- FANG_tbl_d %>% group_by(symbol) FANG_tbl_d
## # A tibble: 3,024 x 8 ## # Groups: symbol [4] ## symbol date open high low close volume adjusted ## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 FB 2014-01-02 54.83 55.22 54.19 54.71 43195500 54.71 ## 2 FB 2014-01-03 55.02 55.65 54.53 54.56 38246200 54.56 ## 3 FB 2014-01-06 54.42 57.26 54.05 57.20 68852600 57.20 ## 4 FB 2014-01-07 57.70 58.55 57.22 57.92 77207400 57.92 ## 5 FB 2014-01-08 57.60 58.41 57.23 58.23 56682400 58.23 ## 6 FB 2014-01-09 58.65 5