xts包:时间序列分析利器
Posted R语言数据分析与实践
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xts包:时间序列分析利器相关的知识,希望对你有一定的参考价值。
股票交易有着大量的历史数据, 人工对这些数据进行标记是非常困难的. 对数据挖掘而言, 这些带有时间标签的数据通常归为“时间序列”数据, 本篇文章将通过每日交易数据, 介绍xts包在处理时间序列数据的强大之处.
股票变化图像近似魏尔斯特拉斯函数, 此类函数的特点是“处处连续、处处不可导”, 因此常见的线性回归预测股票走势均不可靠.
有效市场假设
有效市场假设理论认为: 市场价格调整上适应之快, 以至于根本没有空间可以得到稳定的收益. 即由于短暂的市场无效, 市场还是有一些交易机会空间的.
股票交易的总体目标是维持一个基于买卖订单的股票组合. 长期目标就是从这些股票交易中获取尽可能多的利润.因此,预测模型将包含进一个交易系统中, 该交易系统应用模型的预测结果来生成决策. 总体的评估标准就是该交易系统的性能——该交易系统的交易所产生的利润或者损失, 以及对投资者有意义的一些其他统计指标.
标准普尔指数
本篇文章采用股票市场指数——标准普尔指数. 通过标准普尔500指数的历史数据来预测未来的指数变化.对于给定的证券和初始资金, 通过交易行为(买入、卖出、持有),在未来一段测试期中使利润最大化.
通过数据挖掘技术得到的结果给出信号,然后据此作为决策的基础来制定交易策略.
数据获取
直接从网站https://finance.yahoo.com 下载交易标准普尔500指数的日常数据.(yahoo财经中, 标准普尔500指数的股票编号为GSPC) 数据是xts类的, 在股票处理中可以当作矩阵或者数据框进行操作.
股票交易数据
股票的日交易数据应该包括下面几个属性:
交易日价
当日开盘价
当日最高价
当日最低价
当日收盘价
当日成交量
当日调整后的收盘价(该价格是调整了股票分割、分红、配股等之后的价格)
时间序列数据
xts包
R中有许多处理时间序列的packages, 根据不同数据的性质, 针对股票数据, 这里使用xts包进行分析.
xts包是处理时间序列数据一个非常强大的pacakges.
第一次使用xts包, 需要使用命令安装:
> install.packages("xts")
创建和应用xts对象
提取前5个记录
省略部分结果
函数xts( )的第一个参数接受时间序列数据. 数据类型可以是一个向量; 对于多元时间序列来说, 该参数也可以是一个矩阵. xts中不含有混合类型的数据.
当接收值为一个矩阵时, 矩阵的每一列为一个变量在不同时间点(即每一行)上的抽样值.
xts( )的第二个参数是时间标签, 可以是R时间类的任何一种形式. 常用的两个时间类: POSIXct(或POSIXlt)和Date.
xts包中时间标签一般格式为:
CCYY-MM-DD HH:MM:SS[.s]
构建多元时间序列
获取时间序列的观测值
index( )和time( )可以用来“获取”任意xts对象的时间标签信息, coredata( )函数用来获取时间序列的观测值.
xts对象可以用于存储带有不规则时间标签的多元时间序列, 它足以用来存储股票交易数据, 并能提供强大的子集索引功能.
推荐阅读
R语言数据分析与实践
建模专题
思想常新者,以数据为其探寻之源
以上是关于xts包:时间序列分析利器的主要内容,如果未能解决你的问题,请参考以下文章