楼主: 能者818
3318 70

[量化金融] 基于凸优化的多周期交易 [推广有奖]

31
kedemingshi 在职认证  发表于 2022-5-31 10:45:35
,M,是M个给定的协方差矩阵;我们参考ias场景。我们可以通过假设收益来自M个分布中的一个,协方差∑(i)取决于哪种情况发生,来激发最坏情况下的风险。在每个时期,我们都不知道,也不试图预测会发生什么情况。最坏情况下的风险是M情景下的最大风险。如果我们估计情景发生的概率,并根据这些概率对情景协方差矩阵进行加权,我们最终得到一个二次风险度量,即情景协方差的加权和。我们必须使用最大值而不是加权和来组合它们,这一点至关重要。(尽管其他非线性组合函数也可以工作。)我们应该将情景视为描述可能出现的情况,但我们无法或不试图预测的情况。情景协方差∑(i)可以通过30种合理的单周期优化方法找到。它们可以是根据情景(例如,高或低市场波动率、高或低利率、高或低油价等)条件下的已实现(过去)回报估计的经验协方差[50]。它们可能是分析师对可能发生的情况下资产差异的最佳猜测。4.3预测误差风险上述风险度量试图对资产回报的周期变化以及由此产生的投资组合回报的相关周期变化进行建模。在本节中,我们考虑了在预测收益率和协方差时考虑误差的术语。(同样的想法也可以应用于weestimate的其他参数,如体积。)估计误差会显著影响投资组合权重,导致样本外表现不佳【36、51、15、37、20、25、39】。返回预测错误风险。

32
mingdashike22 在职认证  发表于 2022-5-31 10:45:38
我们假设我们对返回向量^r的预测是不确定的:任何带有|δ|的预测^r+δ≤ ρ和ρ∈ RN是可能的,并且与我们所知道的一致。换言之,ρ是我们收益预测^r的不确定性因素。如果我们对资产i的收益(名义)预测成立,则取ρismall;相反,较大的ρ表示我们对预测不是很有信心。收益预测中的不确定性在年度化时易于解释;例如,我们对一项资产的不确定回报预测可能被描述为6%±2%,这意味着任何介于4%和8%之间的预测回报都是可能的。交易后估计收益为(^rt+δt)t(wt+zt);我们定义了|δ|以上的最小值≤ ρ作为最坏情况下的收益预测。很容易看出δ的最坏情况值是什么:如果我们持有多头头寸,回报(该资产)应取其最小值^ri+ρi;如果我们持有空头头寸,则应取其最大允许值^ri-ρi.最坏情况下的收益预测值为^Rwct=^rTt(wt+zt- wbt)- ρT | wt+zt- wbt |。这里的第一项是我们的原始估计(包括我们在(4.3)和(4.4)中忽略的constant4.3预测误差风险31项);第二项(总是非正的)是我们估计的有效回报在δ允许值之上的最差可能值。这是一种与预测不确定性相关的风险。这就得到ψt(x)=ρt | x- wbt |。(4.6)(这通常会添加到传统的二次风险度量中。)该术语是权重偏差的加权`-范数,鼓励少量偏离基准的权重,即部分或多个条目等于基准的权重【26、34、41】。协方差预测误差风险。以类似的方式,我们可以在传统的二次风险模型中添加一个与预测协方差矩阵中的错误风险相对应的术语。

33
可人4 在职认证  发表于 2022-5-31 10:45:41
例如,假设我们给定一个标称协方差矩阵∑,并考虑扰动协方差矩阵∑pert=∑+,哪里 是一个对称扰动矩阵|ij |≤ κ(∑ii∑jj)1/2,(4.7),其中κ∈ [0,1)是一个参数。这种扰动模型意味着协方差的对角线项可以通过分数κ来改变;忽略对角线项的变化,资产相关性可以改变多达(大致)κ。κ的值取决于我们对方差矩阵的信心;合理的值是κ=0.02、0.05或更大。v=x-wbt,这组扰动上的二次风险的最大(最坏情况)值由max给出|ij公司|≤κ(∑ii∑jj)1/2vT(∑pert)v=最大值|ij公司|≤κ∑ii∑jj)1/2vT∑+)v=vT∑v+最大值|ij公司|≤κ(Ⅱ∑jj)1/2Xijvivjij=vT∑v+κXij | vivj |(σii∑jj)1/2=vT∑v+κXi∑1/2ii | vi |!。32单周期优化这表明,与我们的风险预测误差假设(4.7)一致的所有扰动协方差矩阵的最坏情况协方差由ψt(x)=(x)给出- wbt)T∑(x- wbt)+κσT | x- wbt公司|, (4.8)其中σ=(σ1/2,…,σ1/2nn)是资产波动率的向量。Firsterm是通常的二次风险和名义协方差矩阵;第二项可以解释为与协方差预测误差相关的风险【34,41】。它是权重偏离基准的加权`-范数的平方。(对于现金基准,这将直接惩罚大型杠杆。)4.4持股限制持股限制限制了我们对标准化交易后投资组合wt+zt的选择。持有约束可能是WT+1约束的代理,我们无法直接约束,因为它依赖于未知的回报。

34
何人来此 在职认证  发表于 2022-5-31 10:45:46
通常回报率很小,wt+1接近wt+zt,wt+zt上的Soconstraint是wt+1上约束的良好近似值。当某些类型的约束适用于wt+zt时,它们始终适用于wt+1。持有限制可能是法律或投资者强制实施的,也可能是自由裁量的,以避免某些不良投资组合。我们将在下面讨论常见的持有约束。根据具体情况,可以对activeholdings wt+zt施加这些限制- wbt代替绝对持有量wt+zt,我们在这里使用它来简化符号。仅长。该约束要求仅持有多头资产头寸,wt+zt≥ 如果只有资产必须为长资产,则变为(wt+zt)1:n≥ 0、当对交易后权重wt+zt施加长期约束时,它自动保持下一期值(1+rt)o (ht+zt),自1+rt起≥ 0.4.4。保持约束33利用约束。杠杆作用可通过constraintk(wt+zt)1:nk进行限制≤ Lmax,要求交易后投资组合杠杆不得超过Lmax。(请注意,由于期间的回报,下一期投资组合的杠杆率可能略大于Lmax。)相对于资产资本化的限制。持股通常是有限的,这样投资者就不会拥有太多的公司总价值。让Ct表示资产资本化的向量,indollars。约束(wt+zt)i≤ δo Ct/vt,其中δ≥ 0是分数限制的向量,并且/从元素上解释,将资产i的长期交易后头寸限制为不超过资本化的分数δiof。我们可以对短期头寸施加类似的限制,相对于资产资本化、总未偿空头价值或某些组合。相对于投资组合的限额。

35
kedemingshi 在职认证  发表于 2022-5-31 10:45:50
我们可以将持有的每种资产限制在投资组合价值的最小和最大部分之间,-wmin公司≤ wt+zt≤ wmax,其中Wminan和wmax分别是允许的最大短分数和长分数的非负向量。例如,当wmax=wmin=(0.05)1时,我们不允许在任何一项资产(多头或空头)中持有超过5%的投资组合价值。最低现金余额。通常,现金余额必须保持在最低美元阈值cmin以上(可能为负值)。我们将最小现金余额表示为约束(wt+zt)n+1≥ cmin/vt。由于我们在估计成本时的错误,实现值可能会稍微违反此约束。34单周期优化无保留约束。资产i上的无持有约束禁止持有资产i中的头寸,即(wt+zt)i=0。β-中性。根据我们的估计∑tofcov(rt),β中性投资组合的收益率Rp与基准收益率Rb不相关。wt+ztbeβ中性的约束形式为(wbt)T∑T(wt+zt)=0。因素中立性。在因子协方差模型中,因子i的估计投资组合风险σf由下式给出σFi= (wt+zt)T(Ft)i(∑Ft)ii(Ft)Ti(wt+zt)。投资组合对因子i中性的约束意味着σFi=0,当(Ft)Ti(wt+zt)=0时发生。应力约束。压力约束保护投资组合免受市场条件意外变化的影响。考虑场景1,K、 每一个都代表着一个市场冲击事件,例如油价的突然变化、动量的普遍逆转或房地产价格的暴跌。每个场景i都有一个关联的(估计的)返回ci。如果场景i以前从未发生过,则该场景可以基于场景i过去发生的情况或分析师预测的情况。应力约束采用公式CTI(wt+zt)≥ Rmin,即情景i中的投资组合回报高于Rmin。

36
可人4 在职认证  发表于 2022-5-31 10:45:55
(通常Rmin为负值;这里我们限制了实际发生的投资组合价值下降。)压力约束与机会约束(如风险价值)相关,因为它们限制了因冲击而造成重大损失的可能性。4.5。交易约束35清算损失约束。我们可以通过在三个时期内清算投资组合来限制价值损失。对清算损失的限制将阻止优化器投资非流动资产。我们将清算建模为在TLIQ期间交易h+的交易成本。如果我们对所有期间使用交易成本估算值^φ,则最佳计划是在每个期间进行交易(wt+zt)/TLIQ。流动损失不超过投资组合价值分数δ的约束由Tliq^φtrade((wt+zt)/Tliq给出≤ δ。(为了针对基准进行优化,我们将其替换为在Tliqperiods期间将投资组合交易到基准的成本。)浓度限值。作为非传统约束的一个例子,我们考虑集中度限制,该限制要求在某些给定部分(或仅特定数量K)的资产中持有的投资组合价值不得超过一个分数ω。这可以写成kxi=1(wt+zt)[i]≤ ω、 其中,符号a【i】表示向量a的第i个最大元素。左侧是K个最大交易后头寸的总和。例如,当K=20且ω=0.4时,该约束禁止持有任何20项资产总价值的40%以上。(这个约束是凸的,而且确实很容易处理,这一点还不得而知;请参见[7,第3.2.3节]。它很容易扩展到K不是整数的情况。)4.5交易限制交易限制对标准化交易的选择zt。

37
可人4 在职认证  发表于 2022-5-31 10:45:58
非现金交易(zt)1的限制条件是精确的(因为我们假设我们的交易全部执行),而现金交易(zt)n+1的限制条件是近似的,因为我们对成本进行了估计。作为扣缴限制,交易限制可能是强制性的或自由裁量的。36单周期优化营业额限额。t期投资组合的营业额由k(zt)1:nk/2给出。通常将营业额限制在一个分数δ(投资组合值),即k(zt)1:nk/2≤ δ。相对于交易量的限制。非现金资产交易可能被限制在当期市场容量的某个分数δt(估计),|(zt)1:n |≤ δ(Vt/Vt),其中右侧的除法表示元素方向。无买卖或交易限制。对资产III的不购买限制包括限制(zt)i≤ 0,而禁止出售限制施加了约束(zt)i≥ 0、无贸易限制规定了禁止买卖限制。4.6软约束对持有或交易的任何约束都可以变软,这意味着没有严格执行。我们将在一般设置中对此进行解释。对于变量或表达式x上的向量等式约束h(x)=0,我们将其替换为减去形式γkh(x)k的目标的项,其中γ>0是约束的优先级。(我们可以将其一般化为γT | h(x)|,使用γa向量,为h(x)的不同成分提供不同的优先级。)以类似的方式,我们可以替换不等式约束h(x)≤ 0带有一个从目标中减去的项,其形式为γT(h(x))+,其中γ>0是优先级向量。用这些惩罚项替换硬约束将导致软约束。对于足够大的优先级值,约束将准确地保持;对于较小的值,仅当需要时才违反约束(粗略地说)。4.7。

38
mingdashike22 在职认证  发表于 2022-5-31 10:46:02
凸性37例如,我们可以通过从目标中减去一项γkFTt(wt+zt)kf,将一组因子中性约束FTt(wt+zt)=0转换为软约束,其中γ>0是优先级。对于较大的γ因子中性值,FTt(wt+zt)=0将保持不变(如果可能,精确);对于较小的值,根据其他客观条件和约束条件,某些因子风险可能会变为零。4.7凸性只要问题是凸的,就可以使用现成的软件快速、可靠地解决投资组合优化问题(4.3)。这就要求风险和估计的交易和持有成本函数是凸的,交易和持有约束集是凸的。以上讨论的所有函数和约束都是凸的,除了自融资约束Ttzt+φtrade(zt)+φholdt(wt+zt)=0外,必须放宽到不等式Tzt+φtrade(zt)+φholdt(wt+zt)≤ 不等式在(4.3)的最佳值处是紧的。或者,可以用问题(4.4)中的简化版本zt=0来代替自我融资约束。解决方案时间。除了多重协方差风险模型外,上述SPO问题可以使用复杂度为O(nk)fl-ops的标准内点法解决,其中n是资产数量,k是因子数量。(没有因子模型,我们用n代替k。)前面的系数约为100,其中包括内点迭代计数和其他计算。即使对于复杂的杠杆约束、三分之二的电力交易成本、交易和持有限制等,情况也应该如此。这意味着一个处理器的典型当前单核(或线程)可以在半秒内解决具有1500个资产和50个因子的SPO问题(保守地基于1G flop/sec的计算速度38单周期优化)。

39
nandehutu2022 在职认证  发表于 2022-5-31 10:46:06
这已经足够快了,可以使用这些方法进行以秒为周期的交易。但即使每天都有交易,为了进行回测,速度仍然非常重要。对于日常交易,一年的回测(约250个交易日)可以在几分钟或更短的时间内完成。一台运行64个线程的generic32核计算机可以在不到10分钟的时间内,使用64种不同的参数选择(见下文),对五年的数据进行回测。这涉及到解决80000个凸优化问题。所有这些时间都与资产数量呈线性关系,与因素数量呈二次关系。对于一个有4500个资产和100个因子的问题,计算时间大约要长12倍。我们的估计保守地基于1G flop/sec的计算速度;对于这些或更大的问题,多线程优化线性代数例程可以达到100G fl op/sec,使回测速度加快100倍。我们提到一个可以更快解决的特殊情况。如果目标是二次函数,这意味着风险和成本是二次函数,唯一的约束是线性等式约束(例如,因子中性),那么问题可以用相同的O(nk)复杂性来解决,但前面的系数接近2,比使用内点法快约50倍。自定义解算器或针对GPU等特定平台的解算器可以更快地解决SPO问题。例如,在aGPU上运行的POG【27】中实现的一阶算子拆分方法可以解决非常大的SPO问题。POG可以在几秒钟或更短的时间内解决一个拥有100000个资产和1000个因素的问题(这比任何实际问题都要大得多)。

40
mingdashike22 在职认证  发表于 2022-5-31 10:46:09
在另一个极端,像CVXGEN这样的代码生成系统可以以惊人的速度解决smallerSPO问题;例如,30个资产在一毫秒以下的问题。问题说明。新的凸优化框架,如CVX【27】、CVXPY【21】和凸集。jl【60】基于约束凸规划(DCP)的思想【30】,使得很容易在4.7的几行代码中指定和修改SPO问题。凸性39了解代码。这些框架使非标准交易和持有约束或风险和成本函数的实验变得很容易。非凸性。优化问题中非凸约束或项的存在极大地使其求解复杂化,使其求解时间更长,有时甚至更长。这可能不是生产交易引擎中的问题,该引擎决定每天或每小时一个交易。但非凸性至少会使回测降低很多,而且在许多情况下根本不切实际。这大大降低了整个基于优化的方法的效率。因此,应尽量避免非凸约束或术语。非凸约束通常只有在不理解这一点的人添加了一个听起来合理的约束,而不知道他或她正在制造麻烦时才会出现。例如,考虑施加一个最小交易条件,该条件规定,如果(zt)iis非零,它必须满足|(zt)i |≥ , 哪里 > 此约束似乎足够合理,但使问题成为非凸问题。

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

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