限价订单簿中的高频交易

 

数量技术宅团队在CSDN学院推出了量化投资系列课程

欢迎有兴趣系统学习量化投资的同学,点击下方链接报名:

量化投资速成营(入门课程)

Python股票量化投资

Python期货量化投资

Python数字货币量化投资

C++语言CTP期货交易系统开发

数字货币JavaScript语言量化交易系统开发


简介

交易商在证券市场中的作用是通过报价他愿意买卖特定数量资产的买入价和卖出价来提供交易所的流动性。 传统上,这一角色由做市商或专业公司担任。 近年来,随着纳斯达克Inet等电子交易所的发展,任何愿意在系统中提交限价订单的人都可以有效地扮演交易商的角色。 事实上,限价订单簿上高频数据的可用性(参见 www.inetats.com)确保了公平的竞争环境,各个代理商可以按照他们选择的价格发布限价订单。 在本文中,我们研究了这种限价订单簿中买卖订单的最优提交策略。

微观结构文献中对经销商的定价策略进行了广泛的研究。 交易商面临的两个最常提及的风险来源是(i)因资产价值不确定性而产生的库存风险,以及(ii)知情交易者所产生的信息不对称风险。 Biais 等人对其结果进行了有用的调查。 (2004)、斯托尔 (2003) 和奥哈拉 (O’Hara) 的书 (1997)。 在本文中,我们将重点关注库存效应。 事实上,我们的模型与 Ho 和 Stoll(1981)的一篇论文密切相关,该论文分析了单一股票的垄断交易商的最优价格。 在他们的模型中,作者指定了资产的“真实”价格,并围绕该价格得出最佳出价和要价,以考虑库存的影响。 Ho 和 Macris (1984) 对 AMEX 期权的实证研究发现,这种库存效应非常显着。 Ho 和 Stoll (1980) 在另一篇论文中分析了竞争下经销商的问题,并表明出价和要价与代理商的保留(或无差异)价格相关。 在我们的框架中,我们假设我们的代理商只是市场中的一名参与者,“真实”价格由市场中间价格给出。

对我们来说至关重要的是到达我们代理商的销售订单的到达率。 为了对这些到达率进行建模,我们将利用经济物理学的最新结果。 该文献的重要成就之一是解释了限价订单簿的统计特性(参见 Bouchaud et al. 2002、Luckock 2003、Potters and Bouchaud 2003、Smith et al. 2003)。 这些研究的重点是通过引入“零智力”代理人来重现市场中观察到的模式,而不是对理性代理人的最佳策略进行建模。 一个可能的例外是 Lucock (2003) 的工作,他定义了最优策略的概念,而不求助于效用函数。 尽管我们的目标与经济物理学文献的目标不同,但我们将利用他们的结果来推断买入和卖出订单的合理到达率。 特别是,对我们最有用的结果是市价订单的规模分布(Maslow 和 Mills 2001,Weber 和 Rosenow 2005,Gabaix et al. 2006)以及市价订单的临时价格影响(Bouchaud et al. 2002 ,Weber 和 Rosenow 2005)。

因此,我们的方法是将 Ho 和 Stoll 方法的效用框架与经济物理学文献中描述的实际限价订单簿的微观结构结合起来。 主要结果是通过直观的两步程序得出最佳买入价和卖出价。 首先,经销商根据当前库存计算出该股票的个人无差异估值。 其次,他通过考虑将其报价作为与中间价格的距离的函数来执行的概率,根据限价订单簿校准其买入和卖出报价。 我们解决方案的精髓在于平衡交易商的个人风险考虑和市场环境。

本文的结构如下。 在第 2 节中,我们描述了该模型的主要构建模块:中间市场价格的动态、代理商的效用目标以及作为与中间价格距离的函数的订单到达率。 在第 3 部分中,我们求解最佳出价和要价,并将其与代理商在给定当前库存的情况下的保留价格联系起来。 然后,我们提出一个近似解决方案,对代理策略的性能进行数值模拟,并将其损益 (P&L) 概况与基准策略的损益概况进行比较。

模型

股票的中间价

为简单起见,我们假设货币市场不支付任何费用兴趣。 股票的中间市场价格或中间价格根据以下公式变化:

初始值St 1/4 s。 这里 Wt 是标准的一维布朗运动并且是常数。 y 这个连续时间模型的基础是隐含的假设,即我们的代理对股票的漂移或任何自相关结构没有意见。

该中间价格将仅用于在投资期结束时评估代理商的资产。 他可能不会以这个价格进行无成本交易,但这种随机性来源将使我们能够衡量他的库存风险。 在第 2.4 节中,我们将介绍通过限价订单进行交易的可能性。

有限视野的优化代理

代理人的目标是在终端时间 T 最大化其损益曲线的预期指数效用。这种凸风险度量的选择特别方便,因为它允许我们定义独立于代理人的财富。

我们首先对一个不活跃的交易者进行建模,他在市场上没有任何限价订单,只是持有 q 个股票的库存,直到终端时间 T。这种“冻结库存”策略稍后将被证明在允许限价订单的情况下是有用的 。 代理的价值函数为

其中 x 是以美元为单位的初始财富。 该值函数可以写为

这直接向我们展示了它对市场参数的依赖。

我们现在可以为代理定义预订出价和要价。 保留投标价是使代理人在他当前的投资组合和他当前的投资组合加一只股票之间无差异的价格。 预订要价的定义类似如下。 我们强调,这是从代理商角度来看的主观估值,并不反映交易应发生的价格。

定义1. 令v 为主体的价值函数。 他的保留投标价格 rb 由以下关系隐式给出

预订问价ra解决

涉及方程 (3)、(4) 和 (5) 的简单计算可得出两个价格的封闭式表达式

在不允许交易的环境中。 我们将这两个价格的平均值称为保留价或无差异价

鉴于代理人持有 q 股票。 此价格是对中间价的调整,该中间价考虑了代理商持有的库存。 如果代理商是多头库存(q40),则保留价格低于中间价,表明希望通过出售库存来清算库存。 另一方面,如果代理人做空股票(q50),则保留价格高于中间价格,因为代理人愿意以更高的价格购买股票。

无限视野的优化代理

由于我们选择了衡量代理绩效的最终时间 T,因此预订价格 (8) 取决于时间间隔 (T t)。 直观上,我们的代理越接近时间 T,他的库存风险就越小,因为它可以在中间价格 ST 清算。 为了获得保留价格的固定版本,我们可以考虑以下形式的无限水平目标

固定预订价格(定义方式与定义 1 相同)由下式给出

参数! 因此,可以被解释为我们的代理商可以采取的库存头寸的上限。 自然选择

将确保上面定义的价格有界。

限价订单

现在,我们求助于一位代理人,他可以通过围绕(1)给出的中间价格设置的限价订单来交易股票。 代理人报出买入价 pb 和卖出价 pa,并承诺如果他被市价单“击中”或“提升”,则分别以这些价格买入和卖出一股股票。 这些限价单 pb 和 pa 可以持续免费更新。 距离

当前限价订单簿的形状决定了大额市价订单执行时的执行优先级。

例如,当买入Q股的大额市价单到达时,卖价最低的Q限价单将自动执行。 这会造成暂时的市场影响,因为交易发生的价格高于中间价格。 如果 pQ 是该交易中执行的最高限价订单的价格,我们定义

为大小Q的交易对市场的临时影响。如果我们代理的限价单在此市价单的范围内,他的限价单将被执行。

我们假设市场买单将以泊松率 delta a(a 的递减函数)“提升”我们代理的限价卖单。 同样,出售股票的订单将以泊松率delta b(b 的递减函数)“击中”代理商的买入限价订单。 直观上,代理商的报价离中间价越远,他收到买卖订单的频率就越少。

财富和库存现在是随机的,取决于市场买卖订单的到来。 事实上,每次有买卖订单时,现金财富都会增加

其中 Ntb是代理人买入的股票数量,Nta是卖出的股票数量。 Ntb 和 Nta 是强度为 b 和 a 的泊松过程。 t 时刻持有的股票数量为

可以设置限价订单的代理人的目标是

请注意,与上一小节中描述的设置不同,代理控制买价和卖价,因此间接影响他收到的订单流。在解决这个问题之前,我们考虑一些受经济物理学文献最新结果启发的强度lambda a和lambda b的现实函数形式。

交易强度

经济物理学界的主要目标之一是描述金融市场微观结构的规律。 在这里,我们将重点关注解决泊松强度的结果,限价订单将按照泊松强度执行,作为其与中间价格的距离的函数。 为了量化这一点,我们需要了解以下方面的统计数据:(i)市价订单的总体频率,(ii)其规模分布以及(iii)大型市价订单的临时影响。 汇总这些结果表明 应该以指数函数或幂律函数的形式衰减。

为简单起见,我们假设市场买入或卖出订单的频率恒定。 这可以通过将一天的交易总量除以当天市场订单的平均规模来估算。

多项研究发现,市场订单规模的分布遵循幂律。 换句话说,市价订单规模的密度为

对于大 x,Gopikrishnan 等人的 alpha = 1.53。 (2000) 对于美国股票,Maslow 和 Mills (2001) 对于纳斯达克股票,alpha = 1.4,对于 Gabaix 等人,alpha = 1.5。 (2006) 巴黎证券交易所。

经济物理学文献中对市场影响统计的共识较少。 这是由于对于如何定义它以及如何衡量它存在普遍分歧。 一些作者发现,价格 p 的变化遵循大小 Q 的市场订单,由下式给出

其中 Gabaix 等人的 beta = 0.5。 (2006) 且 beta = 0.76 韦伯和罗塞诺(2005)。 波特与布绍(2003) 找到更适合该函数的方法

汇总这些信息,我们可以得出执行代理订单的泊松强度。 这种强度仅取决于他的报价与中间价格的距离,即卖单到达时的lambda b 和买单到达时的 lambda a 。 例如,使用(9)和(11),我们得出

或者,由于我们对短期流动性感兴趣,因此可以通过积分限价订单簿的密度来直接得出市场影响函数。 Smith 等人描述了此过程。 (2003) 以及 Weber 和 Rosenow (2005) 得出的结果有时被称为“虚拟”价格影响。

解决方案

最佳买入价和卖出价

回想一下,我们代理的目标是由价值函数给出的

其中最优反馈控制sigma a 和sigma b 将取决于时间和状态。 这种类型的最优经销商问题首先由 Ho 和 Stoll (1981) 研究。 他们分析的关键步骤之一是使用动态规划原理来证明函数 u 求解以下 Hamilton-Jacobi-Bellman 方程

该非线性偏微分方程的解在变量 s、x 和 t 中是连续的,并且取决于库存 q 的离散值。 由于我们选择了指数效用,我们能够用 ansatz 来简化问题

直接替换可得出以下等式theta:

将保留买价和卖价的定义(第 2.2 节中给出)应用于 ansatz (14),我们发现 rb 和 ra 直接依赖于该函数 theta。 的确,

是股票的保留买入价,当库存为 q 且

是当库存为 q 时的预订要价。 根据(15)中的一阶最优性条件,我们得到最优距离theta b和theta a。 它们由隐含关系给出

总之,最佳买入价和卖出价是通过直观的两步过程获得的。 首先,我们求解偏微分方程(15)以获得保留买价和卖价 rb(s, q, t) 和 ra(s, q, t)。 其次,我们求解隐式方程(18)和(19)并获得中间价格与最佳买卖报价之间的最佳距离theta b(s,q,t)和theta a(s,q,t)。 第二步可以解释为我们对当前市场供给 b 和需求 a 的冷漠价格的校准。

q 的渐近展开

主要计算困难在于求解方程(15)。 订单到达项(即表达式中要最大化的项)是高度非线性的,并且可能取决于库存。 因此,我们建议对库存变量 q 进行渐近展开,并对订单到达项进行线性近似。 在对称、指数到达率的情况下

无差异价格 ra(s, q, t) 和 rb(s, q, t) 与其“冻结库存”值一致,如第 2.2 节所述。 将方程(18)和(19)给出的最优值代入(15)并使用指数到达率,我们得到

考虑库存变量的渐近展开

无差异买价和卖价的确切关系,(16)和(17),收益率

使用方程(24)和(23)以及最优条件(18)和(19),我们发现最优定价策略相当于引用价差

大约为以下给出的预订价格

术语 theta 1 可以解释为库存为零时的保留价格。 第2项可以解释为做市商报价对库存变化的敏感度。 例如,由于 theta 2 结果为负,积累 q40 多头头寸将导致报价大幅降低

(25) 中的买卖价差与库存无关。 这是根据我们对指数到达率的假设得出的。 价差由两部分组成,一部分取决于对库存 theta平方变化的敏感度,另一部分取决于参数 k 的订单到达强度。

对订单到达项进行一阶近似

我们注意到线性项不依赖于库存 q。 因此,如果我们将(22)和(26)代入(21)并对q阶项进行分组,我们得到

因此,对于订单到达项的线性近似,我们获得相同的无差异价格

至于2.2节中的“冻结库存”问题。 然后我们设置出价/要价价差,由下式给出

围绕这个冷漠或保留的价格。 请注意,如果我们对阶数到达项进行二次近似,我们仍然会获得 theta1= s,但敏感度项 theta平方(s, t) 将求解非线性 PDE

因此,方程(29)和(30)为我们提供了根据模型参数的买价和卖价的简单表达式。 这个近似解还简化了我们在下一节中执行的模拟。

数值模拟

我们现在测试策略的绩效,主要关注损益曲线的形状和最终库存 qT。 我们将我们的策略称为“库存”策略,并将其与围绕中间价格对称的基准策略进行比较,无论库存如何。 这种策略,我们称之为“对称”策略,使用库存策略的平均价差,但以中间价格为中心,而不是保留价格。

在实践中,时间步长 dt 的选择是一个微妙的选择。 一方面,dt 必须足够小,以便多个订单到达我们的代理的概率很小。 另一方面,dt 必须大于典型的报价时间,否则代理的报价将如此频繁地更新,以至于他将看不到任何订单(特别是如果他的报价超出市场买/卖价差)。

就我们的模拟而言,我们选择了以下参数:s =100、T = 1、theta = 2、dt = 0.005、q = 0、r = 0.1、k = 1.5 和 A = 140。模拟通过以下方式获得 以下过程:在时间 T,给定状态变量,计算代理的报价 a 和 b。

请注意,在时间 t = 0.15 时,买卖报价相对较高,表明库存头寸一定为负(或空头库存)。 由于出价被积极地设置在中间价格附近,我们的代理更有可能购买库存,并且库存在时间 t = 0.2 时迅速返回到零。 当我们接近终端时间时,我们代理的买入/卖出报价看起来更像是围绕中间价格对称的策略。 事实上,当我们接近终端时间时,我们的库存头寸被认为风险较小,因为中间价格不太可能大幅波动

然后,我们运行 1000 次模拟,将我们的“库存”策略与“对称”策略进行比较。 该策略使用一段时间内库存策略的平均买/卖价差,但以中间价为中心。 例如,报价价差为 1.49 美元(对应于 = 0.1 的最优代理的平均价差)的对称策略的表现如表 1 所示。

该对称策略比传统策略具有更高的回报和更高的标准差。 库存策略。 对称策略由于以中间价格为中心,因此获得略高的回报,因此比库存策略收到的订单量更高。 然而,库存策略获得的损益曲线的方差要小得多,如图 2 中的直方图所示。

表 2 显示了对r = 0.01 的“库存”策略与相应的“对称”策略进行比较的模拟结果。这个较小的r值代表接近风险中性的投资者。 因此,库存效应要小得多,并且两种策略的损益曲线非常相似,如图 3 所示。事实上,在 r -> 0 两个策略是相同的。

最后,我们在表 3 中显示了 r=1 两种策略的表现。这种选择对应于非常厌恶风险的投资者,他们会竭尽全力避免积累库存。 该策略产生的利润和最终库存的标准差较低,但产生的利润比相应的对称策略更温和(见图 4)。

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

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

相关文章

JDBC事务管理、四大特征(ACID)、事务提交与回滚、MySQL事务管理

目录 一、什么是JDBC事务? (1)事务概念。 (2)JDBC事务的实现。 1、提交。 2、回滚。 (3)生活中可以类比 JDBC 事务的例子。 1、以网上购物为例。 二、JDBC的四大事务(ACID&#xff0…

操作系统离散存储练习题

1. (简答题)分页存储管理系统具有快表,内存访问时间为2ns,检索快表时间为0.5ns,快表命中率为80%,求有效访问时间 -分析:首先访问缓存(快表),如果没有找到访问内存(页表&…

【AI日报】2024年11月13号

我回来啦!!发现自己好久不发文章了。 在某头部AI公众号实习的过程中,学到太多太多了,也感谢某位大神的指点,也衷心祝愿他的IP可以越做越好 之后因为时间关系,可能要自己出来单干了。 在实习过程中学到的…

inline内联函数(C++)

a)⽤inline修饰的函数叫做内联函数,编译时C编译器会在调⽤的地⽅展开内联函数,这样调⽤内联函数就不需要建⽴栈帧了,就可以提⾼效率。 b)inline对于编译器⽽⾔只是⼀个建议,也就是说,你加了inl…

C++builder中的人工智能(27):如何将 GPT-3 API 集成到 C++ 中

人工智能软件和硬件技术正在迅速发展。我们每天都能看到新的进步。其中一个巨大的飞跃是我们拥有更多基于自然语言处理(NLP)和深度学习(DL)机制的逻辑性更强的AI聊天应用。有许多AI工具可以用来开发由C、C、Delphi、Python等编程语…

Harmony- List组件最后一个item显示不全

在使用List组件显示数据的时候会出现最后一个item显示不全的问题,如下 出现在高度问题上,如果List组件上下没有其他占位组件就是正常显示的 解决方案: 1.给List组件加上layoutWeight(1),使它填满父控件剩余空间; 2.还有一种情况…

neo4j desktop基本入门

下载安装不在赘述,本文只记述一些neo4j的基本入门操作 连接本地neo4j数据库 1. 点击ADD添加连接 端口一般是7687 账户名和密码忘记了,可以通过neo4j web(默认为neo4jneo4j://localhost:7687/neo4j - Neo4j Browser)重置密码 AL…

function and task

任务和函数 在Verilog语言中提供了任务和函数,可以将较大的行为级设计划分为较小的代码段,允许设计者将需要在多个地方重复使用的相同代码提取出来,编写成任务和函数,这样可以使代码更加简洁和易懂。 1.1任务 任务的定义 任务定义…

24/11/13 算法笔记<强化学习> DQN算法

DQN算法的主要特点包括: 神经网络代替Q表:在传统的Q学习中,需要维护一个Q表来存储每个状态-动作对的Q值。而在DQN中,使用神经网络来近似这些Q值,这使得算法能够处理具有大量状态和动作的问题。 经验回放(E…

blind-watermark - 水印绑定

文章目录 一、关于 blind-watermark安装 二、bash 中使用三、Python 调用1、基本使用2、attacks on Watermarked Image3、embed images4、embed array of bits 四、并发五、相关 Project 一、关于 blind-watermark Blind watermark 基于 DWT-DCT-SVD. github : https://githu…

Qt_day10_程序打包(完结)

目录 1. 设置图标 2. Debug和Release版本 3. 动态链接库 4. 打包 5. 联系项目要求 Qt开发的程序最终都是要给用户使用的,用户的电脑上不可能装一个Qt的开发环境导入项目使用。因此项目项目开发完成后需要打包——制作成安装包,用户直接下载并安装即可使用…

【C语言】指针的运算

指针的增量操作: int i 10; int *p &i;printf("p %p\n", p);//1024p; // 增加int 4个字节大小printf("p %p\n", p);//1028指针的增量运算取决于指针的数据类型,它将会增加数据类型的大小的字节。 指针的减量操作与增量同理…

C++builder中的人工智能(28):FANN: Fast Artificial Neural Networks快速人工神经网络(ANNs)

这篇文章全面介绍了快速人工神经网络(ANNs)的世界,探讨了它们在现代计算智能中的重要地位、核心特点、应用领域以及未来发展。 快速人工神经网络库(Fast Artificial Neural Network Library,简称FANN)是一…

零基础Java第十六期:抽象类接口(二)

目录 一、接口(补) 1.1. 数组对象排序 1.2. 克隆接口 1.3. 浅拷贝和深拷贝 1.4. 抽象类和接口的区别 一、接口(补) 1.1. 数组对象排序 我们在讲一维数组的时候,使用到冒泡排序来对数组里的元素进行从小到大或从大…

wafw00f源码详细解析

声明 本人菜鸟一枚,为了完成作业,发现网上所有的关于wafw00f的源码解析都是这抄那那抄这的,没有新东西,所以这里给出一个详细的源码解析,可能有错误,如果有大佬发现错误,可以在评论区平和的指出…

Bilibili-超能用户榜入口优化-技术方案反思与总结

目录 客户端实现: 高能用户入口实现逻辑: 接口服务信息(服务端下发): 执行方案: (1)数据类新增服务端下发字段 ​编辑 (2) UI添加 寻找思路: (3)超能用户icon显示…

终端打开程序、为什么要用pycharm

方法一:cd文件路径 方法二:输入cmd 为什么终端可以运行python代码,还需要pycharm?——让写代码的过程更加简单 学习视频:【最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 CPU GPU 版 | 土堆教程】https://w…

深度了解flink(十一) 心跳机制详解

前言 在Flink的各个服务组件中,ResourceManager、JobMaster、TaskExecutor三者之间存在相互检测的心跳机制:ResourceManager会主动发送心跳请求探测JobMaster、TaskExecutor是否存活;JobMaster也会主动发送心跳请求探测TaskExecutor是否存活…

华为策略路由配置

一、本地策略路由 要求: 长度为64~1400字节的报文走g0/0/0链路 长度为1401~1500字节的报文走g0/0/1链路 1.启动设备 2.配置IP地址 [AR1]int g0/0/0 [AR1-GigabitEthernet0/0/0]ip add 150.1.1.1 24 [AR1-GigabitEthernet0/0/0]int g0/0/1 [AR1-GigabitEther…

Html Area 图像映射可点击区域 实现响应式图像映射

Html Area 图像映射可点击区域 实现响应式图像映射 主要实现了图片的分区域点击,可以自定义点击的区域,根据点击的位置不同,执行不同的方法或者跳转不同的网页 介绍 引用w3school的Demohttps://www.w3school.com.cn/tags/tag_area.asp#googl…