R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

ByteGalacticEcho
• 阅读 694

全文链接:http://tecdat.cn/?p=32511

原文出处:拓端数据部落公众号

时间序列模型的理论已经非常丰富,模型的应用也相当广泛。但现实生活中,越来越多的时间序列模型呈现出了非线性的特点,因此,研究非线性时间序列模型的理论及对其参数进行估计有着极其重要的意义。门限模型作为非线性时间序列模型的一种,与一般的时间序列模型不同的是模型中包含跳跃,即有门限,因此对模型的参数估计还需先对门限的选取讨论。

本文研究的对象也只有两个,即沪深300指数和沪深300股指期货指数,分别为St,和Ft,如国内外文献纷纷证明,他们之间存在一种非线性关系,适合采用门限协整模型建模,这和基于持有成本模型的无套利区间模型不谋而合。无套利区间模型从理论上说明了无套利区间的存在,并给出了计算公式,但是公式中的很多变量千变万化,甚至是无法估计的,因此无法得出实际的套利区间。然而转换一个思路,采用门限误差修正模型,通过对时间序列的建模,可以直接计算出门限值,得到无套利区间,对投资者更具有实际意义。

本文根据门限误差修正模型,帮助客户在R软件编程后得到门限值,以及门限误差修正模型(TVECM)的参数估计。

门限误差修正模型

首先引入误差修正模型(ECM),它是由Davidson、Hendry、Srba和Yeo 在1978年提出的。为便于叙述,通过一个具体的模型来介绍它的结构。

当滞后阶数为一阶时,变量X和Y有如下(1,1)阶分布滞后形式

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

该模型显示出第t期的Y值,不仅与X的变化有关,而且与t.1期的X与Y值有关。对上式直接变形得到:

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

上式意味着,被解释变量y的短期波动可以由解释变量的短期波动和两个变量的长期均衡误差两部分来解释。即y的变化决定了x的变化以及前一时期的非均衡误差。因此,y的值已对前期的非均衡程度做出了修正。上式称为一阶误差修正模型。

Hansen和 Seo(2002)考虑了在协整矩阵和门限未知的情况下,扩展了门限协整模型。Kim (2010)运用了SupLM检验统计量来检验双门限。三区域的门限调整模型能够按照下述表示:

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

数据

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

datad=cbind(diff(data[,1]),diff(data[,2]))

预测 TVECM 模型

 datal=log(abs(datad))
 tv<-TCM(dat



print(tv)

进行基差的筛选

jicha=log(abs(datad\[,1]))-log(abs(datad\[,2]))

运行后结果如下:

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

该结果显示:我们最终要找的门限值有两个,下门限和上门限分别为 59.959和86.233。这样将整个区间分成了三段, w< 59.959, 59.959≤w<86.233,w≥86.233。

后面我们分别将对三个区间的数据用EXCEL进行筛选,然后进行ADF和协整性检验,确定无套利区间,以给投资者更好的投资建议。

另外,该结果还给出了三个区间的门限误差修正模型的参数估计值。

下图在R软件中使用bootstrap格点搜索法寻找两门限的过程,纵轴为残差平方和,横轴为门限参数gamma和beta,当残差平方和为最小的时候对应的门限参数gamma和beta即为所求的下门限和上门限。

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

然后使用r进行基差的筛选。

(1)区间一:w< 59.959

经过R软件筛选,428组数据中一共有332组数据落入该区间,该区间称作套利区间的下区间,基差如下图所示:

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

在该区间里,现货价格远低于期货价格,排除手续费等交易成本后存在套利的可能性,可以买入现货卖出期货,从而获得套利收益。

(2)区间二: 59.959≤W<86.233

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

经过数据筛选,428组数据中一共有38组数据落入该区间,该区间称作无套利区间,基差如下图所示:

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

在该区间里,现货价格围绕期货价格上下小幅波动,由于手续费等交易成本的存在,因此没有套利的可能性,该区间也被称作无套利区问,该实证结果也同时验证了无套利区间模型。

(3)区间三:w.≥86.233

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

经过数据筛选,428组数据中一共有58组数据落入该区间,该区间被称作套利上区间,基差如下图所示:

R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化

在该区间里,现货价格远高于期货价格,排除手续费等交易成本后扔存在套利的可能性,可以买入现货卖出期货,从而获得套利收益。


R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化
最受欢迎的见解

1.在python中使用lstm和pytorch进行时间序列预测

2.python中利用长短期记忆模型lstm进行时间序列预测分析

3.Python用RNN循环神经网络:LSTM长期记忆、GRU门循环单元、回归和ARIMA对COVID-19新冠疫情新增人数时间序列

4.Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性

5.r语言copulas和金融时间序列案例

6.R 语言用RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测

7.Matlab创建向量自回归(VAR)模型分析消费者价格指数 (CPI) 和失业率时间序列

8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类

9.R语言结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
PPDB:今晚老齐直播
【今晚老齐直播】今晚(本周三晚)20:0021:00小白开始“用”飞桨(https://www.oschina.net/action/visit/ad?id1185)由PPDE(飞桨(https://www.oschina.net/action/visit/ad?id1185)开发者专家计划)成员老齐,为深度学习小白指点迷津。
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
PhoneGap设置Icon
参考:http://cordova.apache.org/docs/en/latest/config\_ref/images.html通过config.xml中的<icon标签来设置Icon<iconsrc"res/ios/icon.png"platform"ios"width"57"height"57"densi
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这