理解策略风险#
15.1 动机#
正如我们在第 3 章和第 13 章中看到的,投资策略通常以持仓直到满足两个条件之一来实施:(1) 以盈利退出头寸的条件(止盈),或 (2) 以亏损退出头寸的条件(止损)。即使策略没有明确声明止损,也总有一个隐含的止损限制,在此投资者无法再为其头寸融资(追加保证金通知)或承受不断增加的未实现亏损带来的痛苦。由于大多数策略都(隐含或明确地)有这两个退出条件,通过二项过程建模结果分布是有意义的。这反过来将帮助我们理解什么组合的下注频率、赔率和收益是不经济的。本章的目标是帮助你评估策略何时容易受到这些变量中任何一个的微小变化的影响。
15.2 对称收益#
考虑一个每年产生 n 个 IID 下注的策略,其中下注 i ∈ [1, n] 的结果 Xi 是概率为 P[Xi = π] = p 的利润 π > 0,以及概率为 P[Xi = −π] = 1 − p 的损失 −π。你可以将 p 视为二元分类器的精确率,其中正例意味着对机会下注,负例意味着放过机会:真阳性被奖励,假阳性被惩罚,而负例(无论真假)没有收益。由于下注结果 {Xi}i=1,...,n 是独立的,我们将计算每次下注的期望矩。一次下注的期望利润为 E[Xi] = πp + (−π)(1 − p) = π(2p − 1)。方差为 V[Xi] = E[Xi²] − E[Xi]²,其中 E[Xi²] = π²p + (−π)²(1 − p) = π²,因此 V[Xi] = π² − π²(2p − 1)² = π²[1 − (2p − 1)²] = 4π²p(1 − p)。对于每年 n 个 IID 下注,年化夏普比率(θ)为

注意 π 如何从上面的方程中抵消,因为收益是对称的。就像在高斯情况下一样,θ[p, n] 可以理解为重新缩放的 t 值。这说明了即使在
很小的情况下,对于足够大的 n,夏普比率也可以很高。这是高频交易的经济基础,其中 p 可以略高于 0.5,成功业务的关键是增加 n。夏普比率是精确率而非准确率的函数,因为放过机会(负例)不直接被奖励或惩罚(尽管太多负例可能导致小的 n,这将使夏普比率向零压低)。
例如,对于 p = 0.55,
,达到年化夏普比率 2 需要每年 396 次下注。代码片段 15.1 通过实验验证了这一结果。图 15.1 绘制了夏普比率作为精确率的函数,对应各种下注频率。

图 15.1 精确率(x 轴)与夏普比率(y 轴)在各种下注频率 (n) 下的关系
代码片段 15.1 将目标夏普比率作为下注数的函数
对 0 ≤ p ≤ 1 求解,我们得到
,解为

该方程明确表达了对于给定夏普比率(θ),精确率(p)和频率(n)之间的权衡。例如,一个只产生周度下注(n = 52)的策略将需要相当高的精确率 p = 0.6336 才能实现年化夏普 2。
15.3 非对称收益#
考虑一个每年产生 n 个 IID 下注的策略,其中下注 i ∈ [1, n] 的结果 Xi 是概率为 P[Xi = π~+] = p 的 π+,以及概率为 P[Xi~ = π~−] = 1 − p 的 π−(π−~ < π~+)。一次下注的期望利润为 E[Xi~] = pπ~+~ + (1 − p)π~−~ = (π~+~ − π~−)p + π−。方差为 V[Xi~] = E[Xi²] − E[Xi]²,其中 E[Xi²] = pπ~+² + (1 − p)π−² = (π+² − π−²)p + π−²,因此 V[Xi~] = (π~+~ − π~−~)²p(1 − p)。对于每年 n 个 IID 下注,年化夏普比率(θ)为

对于 π~−~ = −π~+,我们可以看到该方程退化为对称情况:−~ = −.01、π~+~ = .005、p = .7,我们得到 θ = 1.173。
。例如,对于 n = 260、π
最后,我们可以对前一个方程求解 0 ≤ p ≤ 1,得到

其中:
- a = (n + θ²)(π~+~ − π~−~)²
- b = [2nπ~−~ − θ²(π~+~ − π~−
)](π+~ − π~−~) - c = nπ~−~²
作为旁注,代码片段 15.2 使用 SymPy Live 验证了这些符号运算:http://live.sympy.org/。
代码片段 15.2 使用 SymPy 库进行符号运算
上面的方程回答了以下问题:给定由参数 {n, π~−, π+} 表征的交易规则,达到夏普比率 θ* 所需的精确率 p 是多少?例如,对于 n = 260、π−~ = −.01、π~+~ = .005,要得到 θ = 2 我们需要 p = .72。得益于大量下注,p 的微小变化(从 p = .7 到 p = .72)将夏普比率从 θ = 1.173 推到 θ = 2。另一方面,这也告诉我们策略容易受到 p 的微小变化的影响。代码片段 15.3 实现了隐含精确率的推导。图 15.2 显示了隐含精确率作为 n 和 π~−~ 的函数,其中 π~+~ = 0.1 且 θ* = 1.5。随着 π~−~ 对于给定 n 变得更负,对于给定 π~+~ 达到 θ* 需要更高的 p。随着 n 对于给定 π~−~ 变得更小,对于给定 π~+~ 达到 θ* 需要更高的 p。

图 15.2 隐含精确率作为 n 和 π~−~ 的函数热图,π~+~ = 0.1 且 θ* = 1.5
代码片段 15.3 计算隐含精确率
代码片段 15.4 对 θ[p, n, π~−, π+] 求解隐含下注频率 n。图 15.3 绘制了隐含频率作为 p 和 π−~ 的函数,其中 π~+~ = 0.1 且 θ* = 1.5。随着 π~−~ 对于给定 p 变得更负,对于给定 π~+~ 达到 θ* 需要更高的 n。随着 p 对于给定 π~−~ 变得更小,对于给定 π~+~ 达到 θ* 需要更高的 n。

图 15.3 隐含频率作为 p 和 π~−~ 的函数,π~+~ = 0.1 且 θ* = 1.5
代码片段 15.4 计算隐含下注频率
15.4 策略失败的概率#
在上面的例子中,参数 π~−~ = −.01、π~+~ = .005 由投资组合经理设定,随执行订单传给交易员。参数 n = 260 也由投资组合经理设定,因为她决定什么构成值得下注的机会。不受投资组合经理控制的两个参数是 p(由市场决定)和 θ*(投资者设定的目标)。因为 p 未知,我们可以将其建模为随机变量,期望值为 E[p]。让我们定义
为 p 的值,低于该值策略将表现不如目标夏普比率 θ*,即
。我们可以使用上面的方程(或 binHR 函数)得出,对于
,
。这突显了该策略涉及的风险,因为 p 的相对较小下降(从 p = .7 到 p = .67)将抹去所有利润。该策略本质上是有风险的,即使持仓不是。这就是我们希望在本章中确立的关键区别:策略风险不应与投资组合风险混淆。
大多数公司和投资者计算、监控和报告投资组合风险,却没有意识到这不能告诉我们策略本身的风险。策略风险不是首席风险官计算的底层投资组合的风险。策略风险是投资策略随着时间推移将无法成功的风险,这个问题与首席投资官更为相关。回答「这个策略失败的概率是多少?」等价于计算
。以下算法将帮助我们计算策略风险。
15.4.1 算法#
在本节中,我们将描述计算
的程序。给定下注结果的时间序列 {πt}t=1,...,T,第一,我们估计 π~−~ = E[{πt|πt ≤ 0}t=1,...,T] 和 π~+~ = E[{πt|πt > 0}t=1,...,T]。或者,{π~−, π+~} 可以通过使用 EF3M 算法(López de Prado 和 Foreman [2014])拟合两个高斯分布的混合来推导。第二,年频率 n 由
给出,其中 y 是 t = 1 和 t = T 之间经过的年数。第三,我们按如下方式 bootstrap p 的分布:
- 对于迭代 i = 1, ..., I:
- 从 {π
t}t=1,...,T中有放回地抽取 ⌊nk⌋ 个样本,其中 k 是投资者用于评估策略的年数(例如 2 年)。我们将这些抽取样本的集合记为 {πj^(i)^}j=1,...,⌊nk⌋。 - 推导迭代 i 的观测精确率为
。
- 从 {π
- 通过在 {p
i}i=1,...,I上应用核密度估计器(KDE)拟合 p 的 PDF,记为 f[p]。
对于足够大的 k,我们可以将第三步近似为
,其中
。第四,给定阈值 θ*(区分失败和成功的夏普比率),推导
(见第 15.4 节)。第五,策略风险计算为
。
15.4.2 实现#
代码片段 15.5 列出了该算法的一种可能实现。通常,我们会忽略
太高的策略,认为风险太大,即使它们投资于低波动率工具。原因是即使它们不会损失太多钱,它们无法达到目标的概率也太高。为了部署,策略开发者必须找到降低
的方法。
代码片段 15.5 在实践中计算策略风险
该方法与 PSR(见第 14 章及 Bailey 和 López de Prado [2012, 2014])有一些相似之处。PSR 推导在非高斯收益下真实夏普比率超过给定阈值的概率。类似地,本章介绍的方法基于非对称二元结果推导策略失败的概率。关键区别在于,虽然 PSR 不区分投资组合经理控制之内或之外的参数,但这里讨论的方法允许投资组合经理在受她控制的参数 {n, π~−, π+~} 下研究策略的可行性。这在设计或评估交易策略的可行性时很有用。
练习题#
一位投资组合经理打算启动一个目标年化 SR 为 2 的策略。下注精确率为 60%,频率为周度。退出条件为止盈 2%、止损 −2%。
- 该策略可行吗?
- Ceteris paribus,使策略有利可图所需的精确率是多少?
- 对于什么下注频率可以实现目标?
- 对于什么止盈阈值可以实现目标?
- 替代止损是多少?
接续练习 1 的策略。
- SR 对每个参数 1% 变化的敏感度是多少?
- 给定这些敏感度,假设所有参数同样难以改善,哪个提供了最低的果实?
- 改变练习 1 中的任何参数是否会影响其他参数?例如,改变下注频率是否会修改精确率等?
假设一个策略在两年内产生月度下注,收益遵循两个高斯分布的混合。第一个分布均值为 −0.1,标准差为 0.12。第二个分布均值为 0.06,标准差为 0.03。抽取来自第一个分布的概率为 0.15。
- 按照 López de Prado 和 Peijan [2004] 及 López de Prado 和 Foreman [2014],推导混合收益的前四阶矩。
- 年化 SR 是多少?
- 使用这些矩,计算 PSR[1](见第 14 章)。在 95% 置信水平下,你会丢弃这个策略吗?
使用代码片段 15.5,为练习 3 中描述的策略计算
。在 0.05 的显著性水平下,你会丢弃这个策略吗?这个结果与 PSR[θ*] 一致吗?一般来说,你期望哪个结果更准确,PSR[θ*] 还是
?这两种方法如何互补?根据你在本章学到的内容,重新审视第 13 章的结果。
- OTR 中止盈和止损阈值之间的不对称性合理吗?
- 对于日度下注频率,图 13.1 隐含的 p 范围是多少?
- 对于周度下注频率,图 13.5 隐含的 p 范围是多少?
参考文献#
- Bailey, D. and M. López de Prado (2014): "The deflated Sharpe ratio: Correcting for selection bias, backtest overfitting and non-normality." Journal of Portfolio Management, Vol. 40, No. 5. Available at https://ssrn.com/abstract=2460551.
- Bailey, D. and M. López de Prado (2012): "The Sharpe ratio efficient frontier." Journal of Risk, Vol. 15, No. 2, pp. 3--44. Available at https://ssrn.com/abstract=1821643.
- López de Prado, M. and M. Foreman (2014): "A mixture of Gaussians approach to mathematical portfolio oversight: The EF3M algorithm." Quantitative Finance, Vol. 14, No. 5, pp. 913--930. Available at https://ssrn.com/abstract=1931734.
- López de Prado, M. and A. Peijan (2004): "Measuring loss potential of hedge fund strategies." Journal of Alternative Investments, Vol. 7, No. 1 (Summer), pp. 7--31. Available at http://ssrn.com/abstract=641702.




