配对交易策略设计

news2025/1/15 21:48:00

可交易的一个关键要求是两个股票的对数价格序列之间存在均衡关系。

而均衡关系由两个值描述:协整系数以及均衡值。一旦确定这两个值,它们就可以用来构建两种股票的对数价格的线性组合,即所谓的价差。配对交易是对价差均值回归特性的押注。当我们确定利差已经偏离均衡值足够大时,我们就开始交易,押注价差将自行修正,价差将恢复平衡。所有如何定义“偏离均衡值”的量?

然我们看看交易策略的设计规则。如果价差的发展变化是已知的,那么我们就可以以适当的方式设计我们的交易信号。那么,我们对价差的发展变化了解多少?首先,我们可以期望它是高度均值回归的,因为这是我们最初选择配对的标准。为了便于论证,我们假设所有价差都是平稳的ARMA过程。ARMA过程本质上是均值回归的,因此不会违反我们对配对交易的基本要求。因此,价差至少是丰富的ARMA过程变体中的一种。

交易策略的设计规则中最主要的一条就是利润最大化。正确的选择可能会极大地改变利润状况。因此,有一个稳健的方法来设计交易规则是很重要的。此外,价差的发展变化具有广泛而多样的特点。在这种情况下,如果我们针对不同类型的价差采用不同的设计方法,这似乎是最合适的,不是吗?然而,情况并非如此。我们在这里提出了一种设计交易规则的方法,其主要特点是一刀切( one-size-fits-all) 。该方法可应用于所有价差,无论其发展变化如何,因此该方法非常有吸引力。


为白噪声划分价格带(band design for white noise)

当价差建模成白噪声时,我们的交易策略如何设计?价差交易的一般原则是在偏离均衡值时进行交易,并在恢复均衡时解除交易。然而实际应用中,具体的做法则有很多变化。

一方面,最一般的做法就是当价差偏离均衡值\Delta时,开始交易。当均值回归时清仓。另一方面,我们可以认为价差会在均衡值两边同样地震荡,当价差在均衡值相反方向偏离\Delta时解除交易。后一种做法减小了交易的频率(减少了一半a factor of two)。股票交易是有买卖价差(bid-ask spread)的,每次交易都会有交易下滑(trading splippage)。如果减少交易频率,则会减小这种下滑带来的影响。所以后一种做法虽然减小了交易频率,但也增加了持有时间。这也会导致mean drift,即不完美的协整性,信噪比SNR不佳。

设计策略还要考虑持有的量(amount of inventory we are willing to hold on a spread)。一种极端做法是,我们每隔一个固定的时间观察价差,当发现有偏离均值情况出现,我们就开始交易,不管我们现在的持有量。另一种极端的做法是,我们规定只能持有1单位的价差,如果我们已经持有了1单位的价差,即使我们观察到有相同方向地偏离均值的情况,我们也不能追加持有量。然而,如果观察到有相反方向地偏离均值的情况,我们就要结束当前交易,并开始一个新的相反方向的交易。而实际的交易中的做法会在两种极端做法之间。

通常来说,不同的交易风格应该设计不同的交易策略。幸运的是,交易风格的细节跟决定能够实现利润最大化的\Delta之间没啥关系。让我们看看在价差是高斯白噪声的情况下,如何决定\Delta

我们根据价差时序进行交易,当价差小于等于-\Delta时,我们买入1份。当价差大于等于\Delta时,我们卖出1份。对于白噪声时序来说,在任意时间价差偏离量大于等于\Delta的概率是由高斯过程的积分决定,即1-N(\Delta)。因为,在时间T内,我们期望有T(1-N(\Delta))个实例比\Delta要大。类似的,价差偏离量小于等于-\Delta的概率是N(-\Delta)。由于高斯过程的对称性,N(-\Delta)=1-N(\Delta),因此我们期望价差实例值小于等于-\Delta的数量也是等于T(1-N(\Delta))。我们可以说,在T时间内,我们买卖价差的平均值是T(1-N(\Delta))次。每次买卖的的收益是2\Delta。在时间T内的交易的收益是(每次交易的收益\times交易的次数),即2T\Delta(1-N(\Delta))

现在我们的问题变成了求一个使得2T\Delta(1-N(\Delta))最大的\Delta。如下图描述这个函数,x轴是\Delta值即关于平均值的正态密度的标准差,y轴式函数的值。最大值发生在0.75\sigma,这个值使得收益最大化。

 

 注意,其实这个设计方法也没有提到持有量如何设计的问题。只能作为一个设计指南参考。


价差的动态发展(Spread Dynamics)

有参数的价差建模是很复杂的。让我们来看几个例子。

1、价差建模为白噪声时序。白噪声时序是从高斯分布中抽样得到的,这个高斯分布在开盘和收盘时具有较高的标准差,而在midday则具有较低的标准差。(也就是说把价差白噪声时序当作是从时间变化,标准差/方差会改变的正态分布或者说高斯分布中抽样得形成得时序,这样更加realistic,而这就是高斯混合模型)。价差白噪声也具有GARCH性质。面对这种时序,如何处理?

解决方案可能是诉诸多个阈值水平,而不是一个,以最大程度地参与市场交易,无论是在高波动或低波动时。然后,我们需要估计高斯分布的成分(component),并为每个成分设计不同的阈值水平。另一种方法是使用卡尔曼滤波方法对波动率进行动态估计(dynamic estimation),并使阈值水平随时间变化。

2、价差建模为ARMA时间序列。

3、价差建模为Hidden Markov ARMA

现在就是带参数的模型,在现实使用中很复杂。实际上,只要我们能够提出合理的交易上下界限(band design),就不必一定要使用参数模型来建模。因此,我们也可以采用非参数方法,从价差样本或者说价差的历史数据中直接估计收益的分布函数。但是无参数的模型由于使用历史样本数据,会存在有偏差或者说过拟合的现象。


无参数的模型

需要大量的样本。所谓Ergodicity : A large sample size is effectively equivalent to having multiple realizations of the series of smaller sample sizes. Therefore, with large sample sizes for the spread, we can be reasonably confident that the effects of bias to the sample at hand have been
mitigated.大量样本使得样本带来的偏差影响可以忽略不计。

那没有大量的样本数据怎么办?也有方法估计收益函数的近似。为了让持怀疑态度的读者相信这种方法实际上产生了合理的结果,我们将把这种方法应用于白噪声情况。我们已经知道白噪声情况下利润的真正函数形式,因此也知道阈值的真正最优值。使用该方法估计的阈值现在可以与真实值进行比较,从而可以作为我们提出的非参数方法的验证。

我们设置几个阈值。注意,我们可以在从零到任何大正数的连续范围内的选择阈值。比如,我们选择两个比较接近的阈值。

接下来,我们能简单地计算价差超过特定阈值的次数。当阈值高于平均值时,这是价差大于阈值的次数。类似地,当阈值低于平均值时,这是价差低于阈值的次数。这种计数方法模仿了交易风格,每当我们观察到已经超过阈值时,我们就开始交易(put on a spread position),当我们达到平均值时,就平仓。如果我们假设价差的移动关于其长期平均值是对称的,那么我们可以通过对阈值的相同绝对值的正值和负值的频率计数进行平均来略微改进估计并减少偏差。

对于每个阈值,我们都可以得到这个计数值。这个计数可以与对应的阈值的收益值相乘获得原始的收益(raw profit)函数。如下图,就是通过简单地对穿过阈值(crosing)次数的计算获得收益的估计。这个例子中,价差时间序列是一个由75个数据点的白噪声。

从计数获得的对收益的估计

 下图是根据某个特定的阈值对价差进行交易的收益,这个收益其实就是阈值本身。所以下图是一条斜率是1的直线。原始的收益是特定的阈值的收益乘以对应的计数获得的。

 下图是由75个数据点的白噪声的原始收益。我们可以看到这个曲线是很多噪声以及锯齿状的。如果就这样使用原始曲线,那么将阈值放置在何处可能会相当难以理解。

 现在我们解释为什么对收益的估计会这么多噪声。注意,我们使用很多离散的阈值,但是数据样本量很小。这样我们的计数函数(count funciton)是阶梯状(step function )的,实际上我们希望它是单调递减的。此外,需要注意的是,每当我们到一个阶梯(hit a step),收益是向上弯折的。我们把这称为离散效应(discretization effect)。为了获得单调递减的频率计数,我们需要校正这种离散化效应。我们可以通过在构成阶跃函数(step function)中两个级别的点之间执行简单的线性插值来校正离散化效果并确保函数单调递减。如下图:

对原始计数进行调整使其单调递减

 通过调整后,虽然计数已经单调递减了,但是仍然不平滑。这个时候我们需要正则化(regularization)去解决问题。经过正则化之后,得到的计数函数(count function)就可以用来计算收益概况(profit profile),并且最优阈值对应的最大收益值也可以得到了。


正则化

为了清楚起见,让我们重申一下问题。我们试图在给定一个样本的情况下估计穿过阈值的频率函数。这种涉及给定数据的函数估计的问题属于反问题理论(inverse problem theory)的一般主题领域(general subject area)。正则化是这一理论最基本的思想之一。正则化中最基本的思想涉及两种代价的估计。第一种代价衡量所计算的函数拟合数据的程度。第二种代价衡量与函数的已知性质(如平滑度)的偏差。在根据样本数据估计函数的过程中,这两种代价某种程度上是不一致的,或者说是有矛盾的。如果我们要非常拟合数据,那么就会损失平滑度。然而,如果我们需要函数很平滑,那么会牺牲函数对数据的拟合度。所以要在两种代价间找到平衡。

使用类似对数函数作为代价度量的方法通常称为最大熵方法(maximum enropy methods),简称MEM方法。如果代价度量是估计函数中相邻点之间的差的平方之和,则称为Tikhonov-Miller正则化。

所以,该选择哪种正则化的方法?也就是我们在正则化的代价衡量中希望捕获函数的什么属性?除了单调递减之外,我们希望函数是平滑的。我们可以使用Tikhonov-Miller正则化以保证结果的平滑。下面我们看看Tikhonov-Miller正则化。

给出一些数据点(x_{1},y_{1}),(x_{2},y_{2}),(x_{3},y_{3}),...,(x_{n},y_{n})。其中x_{i}指阈值,y_{i}是阈值对应的计数。(z_{1},z_{2},z_{3},...,z_{n})是对(x_{1},x_{2},x_{3},...,x_{n})的估计函数值,那么代价函数是:

 这个代价函数的第一部分是最小二乘法代价衡量,第二部分是曲线粗糙程度的惩罚。\lambda是一个权衡因素,它衡量了我们愿意为将平滑度成本降低一个单位付出多少的拟合误差。Tikhonov-Miller正则化的问题就是求得\lambda以最小化以上代价函数。

让我们考虑我们生成的模拟白噪声样本。我们设计阈值,并对价差超过阈值的次数进行计数。本例中的计数表示为分数,通过将其除以采样点总数获得。然后我们构造与这些计数相对应的成本函数。严格地说,需要通过将计数分数锚定在0.5来对成本函数执行约束最小化。这是因为假设价差关于其平均值的的对称性;即高于和低于平均值的总计数分数可能为0.5。然而,我们在这里只做无约束的版本。

然后使用\lambda的各种值最小化刚刚展示的代价函数,以获得计数分数函数(count fraction function)的估计。拟合误差与\lambda取对数的关系图如下图:

 我们会选择曲线跟部(the heel of the curve)的\lambda,因为如果取跟部的左边的\lambda,代价函数会偏向于拟合的误差,取跟部的右边的\lambda则代价函数会偏向于平滑问题。

这个\lambda值对应的调整之后的计数函数如图:

计数正则化之后

 获得正则化后的曲线,我们可以得到收益概况如下图:

收益概况估计

 我们可以看到,收益最大是在0.75乘以标准差的地方,这也是理论值所在,验证了我们的方法。


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

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

相关文章

Gigabyte B450 Aorus Elite AMD Ryzen 5 3600电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况主板Gigabyte B450 Aorus Elite处理器AMD Ryzen 5 3600已驱动内存16GB Samsung DDR3 1600MHz已驱动硬盘Samsung 840 Evo 250GB已驱动显卡AMD Radeon RX570 4gb已驱动声卡Realtek ALC892已驱动网卡Realtek 8111G已驱动无线网卡蓝牙Asus AX3000 Dual Band PCI-E …

(一)云原生基础概念-容器-Kubernets

文章目录云原生云原生历程云原生技术范畴云原生与传统部署云原生关键技术传统vs微服务vsServerlessServerless容器分层复用模式容器运行构建镜像容器引擎架构-moby容器和VM之间的差异Kubernetes调度自动恢复水平伸缩总架构Master架构Node架构Pod一个kubernet架构VolumeDeployme…

【计组】GPU--《深入浅出计算机组成原理》(六)

​课程链接:深入浅出计算机组成原理_组成原理_计算机基础-极客时间 GPU 是随着计算机里面需要渲染三维图形的出现,而发展起来的设备。 一、GPU和图形渲染 完整的5 个步骤的渲染流程一般也被称为图形流水线(Graphic Pipeline) …

SREWorks v1.4 版本发布 | 离线安装 前端重构

在 v1.3 版本之后,SREWorks 团队收集了较多的用户反馈,大家普遍对于 SREWorks 的内网离线安装有较大的诉求。于是团队决定进一步增强这部分的安装能力。 前端工程部分 (frontend),为了开发者更加敏捷高效的协作开发,以及便于社区…

web(一)—— HTML基础(web标准、开发工具、标签)

目标能够理解HTML的 基本语法 和标签的关系 能够使用 排版标签 实现网页中标题、段落等效果 能够使用 相对路径 选择不同目录下的文件 能够使用 媒体标签 在网页中显示图片、播放音频和视频 能够使用 链接标签 实现页面跳转功能一、基础认知目标:认识 网页组成 和 五…

vite使用css的各种功能

1.使用公共的变量(:root)定义在root的变量可以进行类的使用 :root { font-size: 160px;--main-bg-color:red } .red{color:var(--main-bg-color) }你看这个hello world变得多大多红 2.vite使用postcss-plugins/console’ 2-1安装:cnpm install postcss-plugins/co…

最大公约数-欧几里得算法

最近在复习数论,欢迎来到数论的起点gcd 最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。 欧几里得算法(辗转相除法) 已知两个数a和b,求出两数的最大公约数首先证明: 不妨…

uni-app入门:组件的基本使用

1.组件概念 2.组件分类 2.1 基础组件 2.2 拓展组件 2.3 easycom规范 3.自定义组件以及使用 3.1局部注册 3.2全局注册 1.组件概念首先讲一下什么是组件 官方说法: 组件是视图层的基本组成单元。 组件…

MySQL高级【存储过程】

1:存储过程1.1:介绍存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发 人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过…

玩转系统|Ventoy – 免格式化,超简单的『多合一』系统启动盘制作神器

Ventoy 现在可谓是U 盘启动界的一支独秀,简单来说,Ventoy 是一个制作可启动 U 盘的开源工具。有了 Ventoy 你就无需反复地格式化 U 盘,你的U盘不在局限于绑定某个PE系统,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件拷贝到 U …

风控中的企业利润表的解读

对于中小微企业财务报表数据的三张最重要的报表——资产负债表、利润表、现金流量表,在评估企业的资质能力与风险程度等方面,都发挥着非常重要的作用。作为企业财务数据最基础的三个报表,每一类报表的数据指标信息,都从不同维度客…

用javascript分类刷leetcode18.队列(图文视频讲解)

队列的特点:先进先出(FIFO)队列的时间复杂度:入队和出队O(1),查找O(n)优先队列:priorityQueue,按优先级出队,实现 Heap(Binary,Fibonacci...)js里没有队列,但是可以用数组…

【数据结构】5.4 二叉树的性质和存储结构

二叉树的性质 性质1: 在二叉树的第 i 层上至多有 2 i-1 个结点(i > 1)。 证明:利用归纳法证明此性质。 第 i 层上至少也应该有 1 个结点,如果是 0 个结点的话那就没有这一层了。 性质2: 深度为 k &a…

java static 关键字

目录 一、前言 二、用途和效果 2.1. static修饰的范围 2.2.执行特点 2.3.static关键字的用途 三. 注意 static关键字误区: 一、前言 在我们学习java中会碰到许多关键字 , 例如: static、final、 transient、instanceof、break 、continue 等其他的关键字,今天…

CBM|用于lncRNA-疾病关联预测的数据资源和计算方法(综述)

CBM|用于lncRNA-疾病关联预测的数据资源和计算方法(综述) 最近搞了个公众号《AI and Bioinformatics》介绍应用于生物信息学的人工智能算法和研究进展,以及网络表示学习算法研究,欢迎向本公众号投稿文献解读类原创文章&#xff0…

11_7、Java集合之Collections工具类的使用

一、作用是操作Collection和Map的集合操作类。二、常用方法1、排序操作:(均为static方法)reverse(List):反转 List 中元素的顺序shuffle(List):对 List 集合元素进行随机排序sort(List):根据元素的自然顺序…

20.04安装carla0.9.13记录

已经多次在不同版本的系统18.04、20.04安装carla不同源码版本0.9.11,0.9.12,0.9.13了,发现每次安装总是会遇到那么几个问题,现在新配了主机又要重新安装carla,这次准备详细的记录一下,方便未来安装时又遇到…

共享单车蓝牙锁方案phy6222系列蓝牙芯片

公共交通工具的"最后一公里"是城市居民出行采用公共交通出行的主要障碍,也是建设绿色城市、低碳城市过程中面临的主要挑战。随着科技的发展,物联网领域市场的不断开拓BLE协议在共享交通工具上打开了突破口,目前已广泛应用及遍布我们…

更换服务器的笔记

文章目录背景问题汇总服务器 git 的建立Q: 启动的服务连不上背景 最近阿里云的服务器到期了,但是续费实在是太贵了 之前是嫌麻烦,然后续费还挺便宜的,所以就没折腾去换服务器 这回续费一个月就小一百, 吃不消了,不得…

【论文简述】DPSNet End-to-end Deep Plane Sweep Stereo(ICLR 2019)

一、论文简述 1. 第一作者:Sunghoon Im 2. 发表年份:2019 3. 发表期刊:ICLR 4. 关键词:MVS、深度学习、端到端、代价体、代价聚合 5. 探索动机:双目立体匹配无法扩展到多视图,平面扫描方法无法进行端…