我是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命令读取时间序列的数据。但是,考虑到仅在工作日收市时收集数据,这不会产生预期的结果。还尝试研究并了解xts
和zoo
类型的系列,但似乎无法完成这些工作。请注意,此数据不包括周末和节假日,这似乎是问题的根源。
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格式。
一吨
答案 0 :(得分:0)
1)read_excel
应该以{{1}}的形式读入。如果将日期读取为值,请使用tibble
转换为正确的日期
2)要格式化日期,请使用janitor::excel_numeric_to_date
。就您而言,lubridate
函数就是它。
3)然后使用dmy
将tibble
转换为xts
;小插图:
https://cran.r-project.org/web/packages/tbl2xts/vignettes/tbl2xts_vignette.html