研究目的:根据上证综合指数历史收益率数据(2016.1.5-2018.4.4),对其收益进行分析和预测。

**分析思路:**读取数据—平稳性检验—白噪声检验(代码同上,此处不再赘述)–ARIMA模型拟合—序列预测。

预备知识1:ARIMA模型拟合指令arima(x,order=c(p,d,q),method=c(“ML”,“CSS”),include.mean)
其中:x—带估计序列;
Order—指定模型阶数;其中,P为自回归阶数;d为差分阶数,若为平稳序列,则不需要差分即d=0;q为移动平均阶数。
method—估计方法。method =CSS-ML,系统默认的是条件最小二乘估计和极大似然估计的混合方法;method =ML,极大似然估计;method =CSS,条件最小二乘估计;
include.mean—是否包含均值项,即估计结果中的intercept项。系统默认含有常数项。

本案例中的R语言代码:
(1)读取数据,画出时序图。

d=read.table("C:\\Users\\Administrator\\Desktop\\数据.txt",header=T) #导入数据
shouyi=ts(d) #转化为时间序列数据
plot(shouyi)   #作时序图。通过时序图,发现该序列大致平稳时间序列。

(2)进一步的,对序列进行ADF单位根检验,判断其平稳性。

library(fBasics)
library(fUnitRoots)
#对序列进行ADF单位根检验。下载并安装“fUnitRoots”包,用library函数进行调用。该程序包中的adfTest函数可以很便捷的进行单位根检验。
for(i in 1:3)print(adfTest(shouyi,lag=i,type="nc"))
#对“shouyi”序列进行检验类型为类型1(无趋势,无常数项),延迟阶数分别取1,2,3的单位根检验。结果表明该序列为平稳时间序列。

(3)序列的白噪声检验

Box.test(shouyi, type="Ljung-Box",lag=6)
Box.test(shouyi, type="Ljung-Box",lag=12)  #分别进行滞后期数为6和12期的纯随机性检验。检验结果表明,其统计量对应的P值都小于0.05,拒绝原假设,序列不是白噪声序列。

(4)收益率的ARMA建模

acf(shouyi,16)  #作自相关图,且具有拖尾特性。
pacf(shouyi,16)  #作偏自相关图,且具有拖尾特性。
`![图2 收益率的ACF图](https://img-blog.csdnimg.cn/202009181921444.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nub3c2NTQzMjE=,size_16,color_FFFFFF,t_70#pic_center)
![图3 收益率的PACF图](https://img-blog.csdnimg.cn/20200918192240543.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nub3c2NTQzMjE=,size_16,color_FFFFFF,t_70#pic_center)```python
arima(shouyi, order = c(1,0,1),method="ML")



(5)模型的检验
(5.1)模型的显著性检验

a= arima(shouyi, order = c(1,0,1),method="ML")  #把所有的拟合信息都存在一个叫“a”的文件(仓库)里。
r=a$residuals
#用r来保存残差
Box.test(r,type="Ljung-Box",lag=6,fitdf=2)
Box.test(r,type="Ljung-Box",lag=12,fitdf=2)
#对残差序列进行纯随机性检验。注意:fitdf的值等于(p+q)。当检验的序列是残差序列时,需要加上命令fitdf,表示减去的自由度。

R的结果:

表明,ARMA(1,1)模型的残差序列并不是一个白噪声序列,但序列中的相关信息已经充分提取了,这是由于残差序列存在异方差所造成的。这一点和Engle在1982年分析英国通货膨胀率序列时应用经典的ARIMA模型始终无法得到理想的拟合效果,而原因出在残差序列具有异方差性是一样的。所以,此时考虑用ARCH类模型对该序列进行分析。

(5.2)参数的显著性检验

p=pt(abs(-0.7470/0.0981),df=547,lower.tail = F)*2    #对ar1项的参数进行t检验。pt()为求t分布的p值的函数,第一项为参数估计值的t统计量的绝对值;df为自由度=数据个数-参数个数;lower.tail = F表示所求p值为P[T > t]即右侧概率;乘2表示p值是双侧的。
p=pt(abs(0.6356/0.1082),df=547,lower.tail = F)*2   #对ma1项的参数进行t检验。

两个参数的t检验的P值都小于0.05,结果表明ARMA(1,1)模型中的参数通过了显著性检验。

收益率拟合模型为:

(6)收益率的预测

library(forecast)   #用forecast函数完成预测。forecast(object,h=,level=),其中,object:拟合信息文件名;h:预测期数;level:置信区间的置信水平。不特殊指定的话,系统默认给出置信水平分别为80%和95%的双层置信区间。
shouyi.forecast=forecast(a,3,level=95)  #用forecast函数完成未来3期的预测,置信度取95%。
shouyi.forecast 

基于R的金融收益的分析和预测相关推荐

  1. 大数据应用实践1:基于开源架构的股票行情分析与预测

    股票市场行情分析与预测一直是数据分析领域里面的重头戏,确切地说IT行业的每一次重大发展的幕后推动者以及新产品(特别是高端产品)的最先尝试者都包含金融行业,特别是证券交易市场,它符合大数据的四大特征:交 ...

  2. 基于数据挖掘的疾病数据可视化分析与预测系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 随着医院信息系统(HIS)在全国各大医院的推广和应用,会有大量和病人相关的临床数据每天在医院中记录, ...

  3. 基于R语言股票市场收益的统计可视化分析

    最近我们被客户要求撰写关于股票市场收益的研究报告,包括一些图形和统计输出. 金融市场上最重要的任务之一就是分析各种投资的历史收益.要执行此分析,我们需要资产的历史数据.数据提供者很多,有些是免费的,大 ...

  4. python量化交易策略实例_Python量化实例 – 基于股票的金融数据量化分析

    说明:本文只是通过自己的已学知识对 一.分析目的 利用预先设定的策略,通过对股票交易的历史数据进行回测,验证该策略是否能指导股票交易. 二.数据处理 1.数据集描述 数据集简介:此数据集来源于Nasd ...

  5. 基于R语言的适用于问卷分析中比较各问项满意度差异的Ridit算法

    ​ 代码来自于网络,原链接,为方便后续使用,故做此记录. 案例描述 本案例所用到的数据源自于问卷调查,目的是探究问卷各项满意度是否存在差异 数据行代表8个问项,列代表0-10十个打分 分析思路 满意度 ...

  6. 基于R语言的Kaggle案例分析-泰坦尼克号

    背景 泰坦尼克号由位于北爱尔兰贝尔法斯特的哈兰·沃尔夫船厂兴建,是当时最大的客运轮船,由于其规模相当一艘现代航空母舰,因而号称"上帝也沉没不了的巨型邮轮".在泰坦尼克号的处女航中, ...

  7. python 数据分析 电信_基于Python的电信客户流失分析和预测

    一.项目背景 电信服务是生活中常见的消费服务,在现代社会,凡是使用手机打电话,或者在家看电视,都必须通过电信运营商提供的通话.网络等服务才能实现.本文采用来自kaggle平台的电信客户数据集,来分析人 ...

  8. Protein Cell:基于R语言的微生物组数据挖掘最佳流程(大众评审截止14号晚6点)...

    Protein & Cell综述:基于R语言的微生物组数据挖掘的最佳流程 近日,中国农业科学院刘永鑫组联合南京农业大学袁军组在国际期刊 Protein & Cell (IF = 15. ...

  9. 基于R语言时间序列分析所有指令[2021]

    文章主要是总结一学期所学,基本覆盖了所有常见的指令,足够完成arima模型的数据选择到模型预测.      时间序列应用广泛,不能仅仅局限于理论学习,代码实践更为重要. 往期文章链接: 基于 ARIM ...

最新文章

  1. 2007年下半年 网络工程师 上下午试卷【附带答案】
  2. 什么是CNN?机器学习入门贴,Facebook员工打造,47k访问量
  3. amazon mws api 获取所有产品_Amazon’s Choice是什么?Amazon's Choice标签全解读
  4. 解决eclipse显示jar源代码中文乱码问题
  5. 用键盘怎么直接打出小于等于和大于等于
  6. DPDK内存篇(一): 基本概念
  7. 一篇文章带你熟悉 TCP/IP 协议-(三)
  8. JAVA线程池_并发队列工作笔记0002---认识线程池_在线程池中使用队列
  9. CUDA编程:与OpenCV结合
  10. mysql alisql_对比!!mysql5.7 mysql8.0 alisql5.6同样插入400万数据的对比
  11. 史上最全天气预报接口,含各类数据接口,历史数据,天气大数据,雷达云图、6要素数据,格点数据等
  12. 阿里云盘 Mac客户端(附福利兑换码)
  13. python断言语句失败_python断言语句
  14. 等级保护2.0的变化
  15. HTML+JS 实现 input 框回车事件
  16. Redis 6 入门到入坟 详细教程 @学习笔记
  17. TMS570LS1224PWM的生成及捕获
  18. cppm报考条件,看下您符合报考CPPM吗?
  19. OpenCV:直方图均衡
  20. uni-app 188修复弹框问题

热门文章

  1. iOS-《编写高质量代码》笔记-第一章
  2. 2020升降机司机模拟考试题及升降机司机模拟考试软件
  3. Matlab中十字线出不来,如何在MATLAB中实现已弃用的完整十字线指针功能?
  4. gradle中使用protobuf方法个人总结
  5. 一文简述如何使用嵌套交叉验证方法处理时序数据 @ 机器之心
  6. html页面动态生成二维码
  7. oracle select空对空,歇后语,和歇后语说一句话吗??少5个哦??
  8. tplink路由器 配置 svn,实现在外网就可以访问公司的内网
  9. HTTPS如何建立安全连接
  10. jwt token注销_【原创精选】OAuth 2.0+JWT+spring security完成认证授权-生产级-附带源码...