如何在R中输入时间序列数据?

时间:2019-05-26 21:36:28

标签: r time arima

我是R的新手,所以感谢您的帮助。

我有一个excel电子表格数据集,其中包括金融资产的每日价格,从2000年1月3日一直到2019年3月6日的收盘价。我希望使用ARIMA模型来预测该资产的未来价格,但无法输入数据在R中。

简而言之,我有一个Excel文件,该文件具有2列和4736行,如下所示:

03/jan/00   1,8358
04/jan/00   1,8702
05/jan/00   1,8520
.
.
.
01/mar/19   3,7824
06/mar/19   3,8372

在使用命令read_excel(file.choose())读取文件之后,我尝试使用ts命令读取时间序列的数据。但是,考虑到仅在工作日收市时收集数据,这不会产生预期的结果。还尝试研究并了解xtszoo类型的系列,但似乎无法完成这些工作。请注意,此数据不包括周末和节假日,这似乎是问题的根源。

my_data <- read_excel(file.choose())
series <- ts(my_data, start=c(2000,1,3), end=c(2019,3,6), frequency = 252)

通过使用ts来考虑每年平均252个工作日,我的时间序列将在应有的其他日期结束。

我应该考虑采取哪种步骤,以便1)从excel文件中读取数据,以及2)作为时间序列读取R中导入的数据?

还考虑过,不要使用日期作为第一列,而使用1到4736之间的数字来消除这种必要性,但似乎第一列必须具有YYYY-m-d格式。

一吨

1 个答案:

答案 0 :(得分:0)

1)read_excel应该以{{1​​}}的形式读入。如果将日期读取为值,请使用tibble转换为正确的日期

2)要格式化日期,请使用janitor::excel_numeric_to_date。就您而言,lubridate函数就是它。

3)然后使用dmytibble转换为xts;小插图: https://cran.r-project.org/web/packages/tbl2xts/vignettes/tbl2xts_vignette.html