楼主: 能者818
1218 35

[量化金融] 批量加权平均价格最优执行 [推广有奖]

11
nandehutu2022 在职认证  发表于 2022-5-9 06:02:47
然而,关于S的方差的最小化(如果λ→ ∞ 或者s=0),这个解决方案确实是最优的。在下文中,我们比较了(16)和§4.4动态解决方案中开发的动态解决方案的性能。我们开发了一个问题的解决方案,该解决方案使用了每个决策时可用的所有信息,即一系列函数ψt(It),其中是在时间t(如(14)中定义的)时可用的信息集。我们在动态规划(DP)[Ber95]的框架下工作,总结见§4.1。特别是,我们在§4.2中描述的线性动力学和二次成本的特殊情况下解决了问题。然而,我们不能应用标准DP,因为在不同时间影响系统的随机冲击不是有条件的(市场容量具有联合分布)。我们使用了[SBZ10]的近似程序,总结于§4.3中。在§4.4中,我们最终写出了我们的优化问题,定义了状态、行动和成本,在§4.5中,我们得出了它的解决方案。4.1动态规划我们总结了动态规划的标准形式,如下[Ber95]。假设我们有一个状态变量xt∈ 定义为t=1的X。。。,T+1和xknown。我们的决策变量是ut∈ U表示t=1。。。,T和每个UTI被选为当前状态的函数,ut=uT(xt)。(我们使用与时间t交易量相同的符号,因为在下文中它们重合。)系统的随机性由一系列IID随机变量建模∈ W、 对于t=1。。。,T

12
mingdashike22 在职认证  发表于 2022-5-9 06:02:51
动态由一系列函数xt+1=ft(xt,ut,wt)来描述,在每个阶段,我们都会产生成本gt(xt,ut,wt),在决策过程结束时,我们有一个最终的成本gt+1(xt+1)。我们的目标是最小化EJ=E“TXt=1gt(xt,ut,wt)+gT+1(xt+1)#。我们通过反向归纳法来解决这个问题,定义每一时间步tvt(x)=分钟[gT(x,u,wt)+vt+1(ft(x,u,wt)),t=1,…,t.(17)这个递归被称为贝尔曼方程。最终条件由vt+1(·)=gT 1(·)确定因此,时间t的最佳动作由解ut=argminuE[gt(xt,u,wt)+vt+1(ft(xt,u,wt))]给出。(18) 一般来说,这些方程是不可解的,因为定义函数的迭代需要在状态空间、动作空间和时间步数(维数灾难)的维度上进行指数计算。然而,这个问题的一些特殊形式有封闭形式的解。我们在下面的部分中看到一个。4.2线性二次随机控制当动力学函数为随机函数且成本函数为随机二次函数时,§4.1中的问题有一个解析解[BLR12]。我们称之为线性二次随机控制(LQSC)。对于一些n,m>0,我们定义了状态空间X=Rn,动作空间u=rm。扰动与已知分布无关,属于一般集合W。对于t=1,T系统动力学用xt+1=ft(xt,ut,wt)=At(wt)xt+Bt(wt)ut+ct(wt),T=1。。。,在(·):W处的两个矩阵函数→ Rn×n,Bt(·):W→ Rn×m和ct(·):W→ 注册护士。阶段成本是gt(xt,ut,wt)=xTtQt(wt)xt+qt(wt)Txt+uTtRt(wt)ut+rt(wt)tut,带有矩阵函数qt(·):W→ Rn×n,qt(·):W→ Rn,Rt(·):W→ Rm×m和rt(·):W→ Rm。

13
nandehutu2022 在职认证  发表于 2022-5-9 06:02:54
最终成本是最终状态GT+1(xT+1)=xTT+1QT+1xT+1+qTT+1xT+1的二次函数。线性二次问题理论[Ber95]的主要结果是,最优策略ut(xt)是问题参数的一个简单函数,可以解析地得到ut(xt)=Ktxt+lt,t=0。。。,T- 1,(19)式中∈ Rm×nand lt∈ 这取决于问题参数。此外,costto go函数是statevt(xt)=xTtDtxt+dTtxt+bt(20)的二次函数,其中Dt∈ Rn×n,dt∈ Rn和bt∈ R表示t=1,T我们通过反向归纳法求解Bellman方程(17)得到了这些结果。这些被称为Riccati方程,在附录A.1.4.3中报告了条件相关干扰。我们现在考虑干扰不独立的情况,我们不能使用§4.1中的Bellman迭代。具体地说,我们假设扰动具有密度函数fw(·):W····×W描述的伴随分布→ [0, 1].解决这个问题的一种方法是增加状态xt,包括时间t之前的干扰。这会导致解的计算复杂度随着维数的增加呈指数增长(维数灾难)。一些近似动态规划技术可以用来解决增广问题[Ber95][Pow07]。我们采用[SBZ10]中开发的近似方法,称为shrinkinghorizon动态规划(SHDP),该方法在实践中表现得相当好,并得出了一个易于处理的解决方案。(它可以被视为模型预测控制的一个扩展,已知在各种情况下表现良好[Bem06][KH06][MWB11][BMOW13])。我们现在总结一下方法。假设我们知道未来干扰的密度,wt取决于观察到的一个SFW | t(wt。

14
nandehutu2022 在职认证  发表于 2022-5-9 06:02:57
,wT):W×·W→ [0, 1].(如果t=1,这是无条件密度。)我们通过对所有其他扰动进行积分,得出每个未来扰动的边际密度,^fwt | t(wt),^fwT | t(wT)。我们用这些边缘的乘积来近似未来扰动的密度,所以它们都是独立的。然后,我们使用Bellman方程(17)和(18)计算具有后向递推的成本函数,其中每个扰动wτ的期望值取条件边际密度^fwτ| t。成本函数的方程(17)在任何时候都变为(注意下标·| t)vτ| t(x)=mine710fwτt[gτ(x,u,wτ)+vτt+1 | t(fτ(x,u,wτ)],(21),T,与通常的最终条件相同。类似地,对于所有时间τ=t,…,最优作用的方程(18)为:,T当我们在下一步中使用SVT+1时,我们只使用SVT+1,vT | t+1(x)使用更新的边际条件密度,然后求解(22)得到ut+1。有了这个框架,我们可以解决我们在§2.4.4 VWAP问题中提出的VWAP问题,因为LQSCWe现在在§4.2的框架中阐述了§2中描述的问题。对于t=1,T+1我们将状态定义为:xt=Pt-1τ=1uτPt-1τ=1mτ, (23)所以x=(0,0)。动作为ut,即我们在区间t内的交易量,如§2所述。干扰是WT=mtV(24)其中第二个要素是总市场容量V=PTt=1mt。根据这一定义,扰动并非条件独立。在§4.5中,我们研究了它们的联合分布和边际分布。

15
kedemingshi 在职认证  发表于 2022-5-9 06:03:00
我们注意到,对于t=1,…,在时间t之后,没有观察到每个wt的第二个元素V(到目前为止,我们发展的理论不要求观察扰动wt,贝尔曼方程只需要wt函数的预期值)。。。,T状态转换由xt+1=xt组成+utmt.使动力学矩阵面积(wt)=1 00 1≡ 一、 英国电信(wt)=≡ e、 ct(wt)=mt.目标函数(11)可以写成EmPTt=1gt(xt,ut,wt),其中每个阶段的成本由gt(xt,ut,wt)=st给出αutCmt-utC+ λσtxTtC-个人简历-CVVxt。二次成本函数项为thusQt(wt)=λσtC-1/CV-1/CV 1/Vqt(wt)=0Rt(wt)=αst2Cmtrt(wt)=-对于t=1,T总执行量等于C的约束施加了最后一个操作ut=uT(xT)=C-T-1Xt=1ut,≡ KTxt+ltwithKT=-eTlT=C。这反过来会在TvT(xT)=E gT(xT,KTxt+lt,wt),(25)时确定值函数,因此我们可以将xT视为最终状态,只考虑向上选择动作的问题-1.我们只剩下最后一条路了≥ 0表示t=1,T不幸的是,这在LQSC形式主义中无法实现。我们采用[KB14]的近似动态编程方法。我们允许utto得到负号,然后将其投影到一组可行解上。每t=1,我们不能计算最大值(ut,0),并用它来代替ut,作为我们的交易计划。这就将我们的优化问题转化为线性二次型随机控制框架。我们现在将重点放在它的解决方案上,使用SHDP中§4.3.4.5解决方案的近似方法。我们使用shinking horizon动态规划的框架(总结在§4.3中)提供§4.4中定义的问题的近似解决方案。假设固定时间t=1,T- 1.我们注意到(与[SBZ10]的假设不同),我们没有观察到扰动序列w。

16
能者818 在职认证  发表于 2022-5-9 06:03:04
,wt-1,因为总体积V直到一天结束时才知道。我们只观察市场容量m,mt-1.如果fm(m,…,mT)是市场容量的联合分布,那么扰动的联合分布是fw(w,…,wt)=fm(eTw,…,eTwT)×1{eTw=V}×·1{eTwT=V}×1{V=PTτ=1eTwτ},其中e=(1,0,1),当条件为真时,函数1{·}的值为1,否则为0。我们假设我们的市场容量模型也提供了mt的条件密度fm |t(mt,…,mt),给定MTM,mt-1.给定m,…,v的条件分布,mt-1isfV | t(V)=Z··Zfm | t(mt,…,mt)1{V=PTτ=1mτ}dmt··dmt(其中-1.市场容量为常数,其他为整合变量)。假设边际密度为^fmt |t(mt),^fmT | t(mT)。因此,对于τ=t,…,扰动的边际条件密度为^fwτt(·)=^fmτ| t(·)×fV | t(·)(26),T我们使用这些方法来应用§4.3中的机制,求解贝尔曼方程,并在时间t时获得次优SHDP策略。我们计算时间τ=t,T对于τ=t,…,成本函数为vτ| t(xτ)=xTτDτ| txτ+Dτ| txτ+bτ| t(27),T-1.与方程式(20)唯一不同的是下标中的条件| t,因为预期值超过了边际条件密度^fwτ| t(·)。类似地,对于τ=t,…,策略为μτ| t(xτ)=Kτ| txτ+lτ| t(28),T- 1.我们在附录A.2中报告了这种递归的方程式。在每一步,我们都要计算整个成本和政策的顺序,以便得到最佳的行动?t=ut | t(xt)=Kτ| txτ+lτ| t.(29)。然后我们进入下一个时间步骤,重复整个过程。

17
nandehutu2022 在职认证  发表于 2022-5-9 06:03:07
如果我们对计算vt | t(xt)的成本不感兴趣,那么方程会稍微简化(我们忽略大部分递归,只计算我们需要的)。我们在附录A.3.5实证结果中开发了这些简化公式。我们通过模拟执行或股票订单,使用纽约证券交易所的实际市场价格和交易量数据,研究§3的静态解与§4的动态解的性能。我们在§5.1中描述了数据集以及我们如何处理它。动态解决方案需要amodel来联合分配市场容量,这里我们使用一个简单的模型,如§5.2所述。(我们预计,更复杂的市场容量模型将显著提高解决方案的性能。)在§5.3中,我们描述了我们运作的“滚动测试”框架。我们的程序由两部分组成:模型参数的历史估计(见§5.4)和订单执行的实际模拟(见§5.5)。最后在§5.6中,我们展示了我们的综合结果。5.1数据我们根据纽约证券交易所股票市场的数据模拟执行情况。具体而言,我们使用构成道琼斯工业平均指数(DJIA)的K=30种不同股票,从9月24日到12月20日,对应于2012年最后一个季度的N=60个交易日(我们不考虑12月的最后几天,因为市场关闭或交易时间减少)。该季度的30个符号是:MMM、AXP、T、BA、CAT、CVX、CSCO、KO、DD、XOM、GE、HD、INTC、IBM、JNJ、JPM、MCD、MRK、MSFT、PFE、PG、TRV、UNH、UTX、VZ、WMT、DIS、AA、BAC、HPQ。我们使用沃顿研究数据服务公司(WRDS)[TAQ]的原始交易和报价(TAQ)数据。我们对原始数据进行处理,以获得每日的市场交易量∈ Z+和平均周期价格p∈ R++,对于t=1,Tw=390,因此每个间隔为一分钟。

18
kedemingshi 在职认证  发表于 2022-5-9 06:03:10
我们通过过滤满足以下任何条件的交易来清理原始数据:o更正代码大于1,交易数据不正确;o销售条件“4”、“@4”、“C4”、“N4”、“R4”,衍生定价,即交易是在柜台(或在黑池等外部设施中)进行的销售条件“T”或“U”,延长交易时间(在正式交易时间之前或之后)销售条件“V”,股票期权交易(也在场外执行)销售条件“Q”、“O”、“M”、“6”,开盘交易和收盘交易(开盘和收盘拍卖)。换句话说,我们只关注持续的交易活动,不考虑开盘和收盘,也不考虑任何场外交易。在图1中,我们绘制了一个市场容量和价格的示例。5.2市场容量模型到目前为止,我们假设市场容量Fm(m,…,mT)的分布从一天开始就已知。事实上,经纪人有一个参数化的分配系列,每天(或不经常)用一些统计程序为分配选择参数。为简单起见,我们假设该程序基于历史数据。我们发现文献中很少有关于日内市场交易量建模的著作([BDLF08])。因此,我们开发了自己的市场容量模型。这包括一个市场容量分布的参数族和一个用历史数据选择参数的特殊程序。对于每只股票,我们将市场交易量向量建模为多元对数正态分布。如果上标(k)是指股票k(也就是说,m(k)是股票k在区间内的市场交易量),我们有fm(k)(m(k)。

19
mingdashike22 在职认证  发表于 2022-5-9 06:03:14
,m(k)T)~ ln N(u+1b(k),∑)(30),其中b(k)∈ R是一个常数,取决于存量k(每种存量有不同的典型日产量),u∈ RTI是平均“成交量比例”(标准化为1Tu=0)和0 50 100 150 200 250 300 350时间(分钟)0501000102000成交量(股票,x1000)117.2117.4117.6117.8118.0118.2118.4价格($)股票CVX在2012-10-09日图1:交易日示例。蓝条表示每分钟的市场交易量(以股票数量计),红线表示期间价格。Σ ∈ ST++是一个协方差矩阵。因此,成交量过程分为以常数b(k)为模型的每种股票的确定性成分和以多元对数正态分布为模型的所有股票具有相同分布的随机成分。我们在附录B中报告了我们用于根据历史数据估算该体积模型参数的特别程序,以及τ=t的条件期望Et[1/V]、Et[mτ]、Et[1/mτ]公式,T(解决方案(29)需要它)。根据过去数据估算体积模型的过程要求我们提供一个参数,我们通过交叉验证对数据的初始部分进行估算。详细说明见附录B.5.3滚动测试我们根据“滚动测试”或“移动窗口”程序组织模拟:对于用于模拟订单执行的每一天,我们根据覆盖之前W>0天的“窗口”估计数据的各种参数。(通常认为,最新的历史数据与模型校准最相关,因为观测到的现象背后的系统会随着时间而变化)。因此,我们每天模拟执行i=W+1,N使用我- W我-1.历史估算。通过这种方式,每次我们测试VWAP解决方案算法时,我们都只使用基于历史数据的模型参数Scalebrated。

20
大多数88 在职认证  发表于 2022-5-9 06:03:17
换句话说,我们的模型的性能是根据样本估算的。此外,由于所有顺序模拟使用相同数量的历史数据进行校准,所以比较它们是公平的。我们将历史估算的窗口长度乘以W=20,大致相当于一个月。如附录B.2所述,我们留出第一个WCV=10模拟日,用于交叉验证体积模型的特征。在图2中,我们描述了该过程。在接下来的两部分中,我们将解释如何进行模型参数估计和订单执行模拟。订购simul。(交叉值)W=20天。(cross.val.)W=20天。。。WCV=10天分拣模拟。W=20天或模拟。W=20天。。。图2:滚动测试程序说明。我们在数据集上迭代,模拟任何一天i=W+1,N,并在之前的W=20天估算模型参数。用于模拟订单的第一个WCV=10天用于交叉验证(如附录B.2所述)。剩余的W+WCV+1,N天(总共30天)在§5.6.5.4模型估计中给出。我们根据历史数据,对我们的求解算法的所有相关模型的参数进行估计。我们将上标(i,k)附加到任何涉及市场日i和股票k的数量上。我们从每个区间的市场交易量开始,作为总日交易量的一部分(我们需要(16)的交易量)。我们使用样本平均数hmtvi\'Pi-1j=i-WPKk=1m(j,k)t/V(j,k)W k每t=1,T图3显示了这种估计的一个例子(在数据集的第一个W=20天)。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-8 21:26