配对交易之统计套利配对:协整(cointegration)

news2024/9/22 10:00:05

Engle和Granger观察到了一个相当有趣的现象。尽管两个时间序列是非平稳的,但在某些情况下,两者的特定线性组合实际上是平稳的;也就是说,这两个序列在某种程度上是步调一致的。Engle和Granger创造了“协整”(cointegration)一词,并在一篇文章中提出了这一概念(参考文献Engle, Robert F. and C. W. Granger. “Co-integration and Error Correction: Representation, Estimation and Testing.” Econometrica 55, no. 2 (March 1987) 251–276.)。值得注意的是,这是他们2003年获得诺贝尔经济学奖的其中一个理念。

y_{t}x_{t}是两个非平稳的序列,存在特定的值\gamma,使得序列y_{t}-\gamma x_{t}是平稳的,那么就说y_{t}x_{t}是协整的。

协整的变化情况可以被误差修正(error correction)的这个概念所描述。误差修正背后的思想是,协整系统有一个长期均衡值;即两个时间序列的线性组合的长期平均值。如果与长期均值存在偏差,则一个或两个时间序列会自行调整以恢复长期均衡。认为误差修正和协整本质上是等价的定理称为Granger representation theorem。

\varepsilon_{x_{t}}表示时间序列\{x_{t}\}的白噪声过程。用\varepsilon_{y_{t}}​表示时间序列y_{t}的白噪声过程。误差修正表示为:

 式子的左侧是每个时间步长的时间序列增量。右侧是两个表达式的总和,即修正部分和白噪声部分。我们来看看修正部分\alpha_{y}(y_{t-1}-\gamma x_{t-1}),其中y_{t-1}-\gamma x_{t-1}表示与长期均值的偏离(本例子中长期均值是0),\gamma表示协整系数(coefficient of cointegration)。\alpha_{y}误差修正率(error correction rate),表示时间序列校正回长期均值的速度。

\varepsilon_{x_{t}}以及\varepsilon_{y_{t}}表示两个独立的白噪声,它们都服从均值为0,方差为1的正态分布。其它参数\alpha_{y}=-0.2\alpha_{x}=0.2\gamma=1。注意,在误差修正这个种情况下,\alpha_{y}\alpha_{x}要设置成相反的符号。那时间序列\{x_{t}\}以及时间序列\{y_{t}\}就根据这些参数生成。如下图为两个时间序列:

协整的两个时间序列

 根据\gamma,可以继续计算spread价差时序,如下两图,从价差时序的自相关函数可以看出,价差是一个平稳的时间序列。

价差

 

价差时序的自相关函数

 


一种协整建模的方法是Stock and Watson方法,又称为共同趋势模型(commond trends model).这个模型把时间序列表示成两部分组成:平稳部分和非平稳部分。如果两个时间序列是协整的,那么协整线性组合将抵消非平稳部分,只留下平稳部分。

考虑一下两个时间序列:

 其中n_{y_{t}}n_{x_{t}}是随机游走,即非平稳部分。\varepsilon_{y_{t}}以及\varepsilon_{x_{t}}是平稳的部分。线性组合y_{t}-\gamma z_{t}是协整组合来的时间序列,这个序列是平稳的。我们有:

 如果上式是平稳的,那么非平稳的部分是0,即n_{y_{t}}=\gamma n_{z_{t}},也就是说一个时间序列的趋势部分是另一个时间序列趋势部分的\gamma倍。所以,对于两个时间序列,如果他们协整,那么他们的趋势是某种程度(倍数的关系)是相同的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/67888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Tensorflow+自然语言处理+LSTM】搭建智能聊天客服机器人实战(附源码、数据集和演示 超详细)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一、自然语言处理与智能 自然语言处理技术是智能客服应用的基础,在自然语言处理过程中,首先需要进行分词处理,这个过程通常基于统计学理论,分词的精细化可以提升智能客服的语…

小白课程,前端入门新手,必须了解的回调函数概念和应用实例

******内容预警******新手内容,大佬请绕道 做为一个纯纯的小白,我相信很多人是没有回掉函数这个概念的,虽然很多文档和教程中都有提到,但是很多人看完文档也不会用。因为菜鸟的开发任务,都是简单画一下html页面&#x…

分布式定时调度:xxl-job 最佳实践详解

文章目录一、定时任务概述1.1. 什么是定时任务1.2. 常见定时任务方案1.3. 分布式定时任务面临的问题1.4. 分布式定时任务xxl-job二、xxl-job架构设计2.1. 设计思想2.2. 架构设计图三、xxl-job安装3.1.下载源码3.2. 导入数据库3.3. 启动调度中心3.4. 配置部署“执行器项目3.5. 案…

护眼灯有用吗?双十二买什么样的护眼灯真的有效果

对于很多人来说,健康是一个越来越重视的话题,特别是现代社会生活节奏很快,很多人的眼睛都吃不消,所以不管是为了好看,还是为了能够看得足够远,都会注意保护眼睛,所以越来越多的人开始考虑护眼台…

网站变灰,6行代码,通通变灰

人狠话不多,直接上代码 -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: grayscale(100%); filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale1); 通通变灰&…

Java中Map集合体系的基本使用和常用API

文章目录Map集合体系Map集合概述和使用Map集合体系的特点Map集合常用的APIMap集合体系 Map集合概述和使用 Map集合是一种双列集合,每个元素包含两个数据。 Map集合的每个元素的格式:keyvalue(键值对元素)。 Map集合也被称为“键值对集合”。 Map集合整体…

本地代码上传到gitlab

1、在本地代码目录中,鼠标右键Git Bash Here,会打开一个git命令操作窗口; 2、执行git init命令,此命令会在当前目录下创建一个.git文件夹, git init 3、将项目的所有文件添加到仓库中, git add -A 4、将add的文件…

【计算机毕业设计】75.教师工作考核绩效管理系统源码

一、系统截图(需要演示视频可以私聊) 摘 要 随着社会不断进步与发展,生活节奏不断加快,信息已经成为我们生活中不可缺少的一部分,很多学校需要掌握大量的信息来了解特定学生的需求,传统的做法是组织大量的…

如何实现table表头固定但是tbody可以滚动【附源码实例】

【写在前面】经常看到表头固定,表身支持滚动的需求,由于项目经常会用到一些自定义的表格展示数据,之前经常发现每次都是自己去写,自己去重新定义样式,觉得特别的麻烦,现在我特针对这类的分享一下。 1、页面…

【电巢】新能源产业景气度加速向上,功率器件3000亿赛道国产替代已在路上!(附70+厂家名单部分厂家替代型号)

前言 目前消费电子疲软继续蔓延,半导体设计端分化明显,存储、CPU等产品需求延续弱势,但IGBT和SiC等功率器件逐步迎来收获期。半导体周期拐点已至,曙光乍现。 在整个半导体周期背景下,新能源汽车俨然已成为逆势窗口产业…

现在健身耳机哪个牌子好、2023年最好的健身房耳机推荐

很多朋友在运动健身的时候喜欢戴上耳机,在音乐的节奏中去运动,现在市面上的运动耳机选择也特别丰富,但是说实话,从专业角度来看能真正适合运动的蓝牙耳机其实还是比较罕见的。这也就导致了我们许多朋友在选购时特别容易踩坑&#…

React - redux 使用(由浅入深)

React - redux 使用(由浅入深)一. redux理解1. redux 介绍2. redux 使用情况3. redux 工作流程4. redux 三个核心概念4.1 Action4.2 Store4.3 Reducers5. redux 核心API5.1 createStore()5.2 Store5.2.1 Store 方法5.2.1.1 getState()5.2.1.2 dispatch(a…

Kotlin 开发Android app(十八):线程Thread和UI更新

多线程的好处是不言而喻的,它能帮我们刚更多的事情,同时干不同的事情在程序设计中是经常出现的,这种时候我们使用的是线程。 在Kotlin 中,使用的还是原先java 的那一套,用的还是Thread ,可能是在java 中T…

翻译: 如何学习编译器:LLVM Edition

编译器和编程语言是一个很大的话题。您不能只选择学习路径并在某个时候完成它。有许多不同的区域,每个区域都是无穷无尽的。 在这里,我想分享一些有助于学习编译器的链接。这份清单不可能详尽无遗——每个人都很忙,没有人有时间阅读龙书。 …

前端知识大全之CSS

目录 一、概念讲解 学习CSS之前必学的HTML (超链接) 二、正文代码 1.行内样式 2.内部样式(选择器) 3.外部样式 4.样式的优先级 5.简单选择器之定义单个标签(id) 6.简单选择器之定义多个标签&#xff…

低代码平台,企业业务创新的最佳路径

数字化转型的必然趋势及面临的问题 数字经济时代,数字化转型是企业在行业赛道上领先的必经之路,然而,数字化转型升级的道路并不是畅通无阻的,也不是企业单枪匹马就能干成的,各个企业在转型过程中都或多或少会遇到技术…

MySQL-索引

一、介绍 索引是数据库对象之一,用于提高字段检索效率,使用者只需要对哪个表中哪些字段建立索引即可,其余什么都不做,数据库会自行处理。 索引提供指向存储在表的指定列中的数据值的指针,如同图书的目录,…

【MMDetection】MMDetection中AnchorGenerator学习笔记

文章目录初始化-AnchorGenerator()Anchor平移-grid_priors计算有效anchor-valid_flags参考文献初始化-AnchorGenerator() TASK_UTILS.register_module() class AnchorGenerator:def __init__(self, strides, ratios, scalesNone, base_sizesNone, scale_majorTrue, octave_bas…

numpy的部分通用函数浅谈

numpy的部分通用函数 1.数组算术运算符 运算符对应的通用函数描述np.add加法运算(即112)-np.substract减法运算(即3-21)-np.negative负数运算(即-2)*Nnp.multiply乘法运算(即2*36)/np.divide除…

Optional用法与争议点

Optional用法与争议点 简介 要说Java中什么异常最容易出现,我想NullPointerException一定当仁不让,为了解决这种null值判断问题,Java8中提供了一个新的工具类Optional,用于提示程序员注意null值,并在特定场景中简化代…