量化策略开发步骤系列(3)关键投资组合指标


这是量化交易系列文章的第二系列——量化策略开发步骤,第一系列请参考专栏: 量化交易系统。很多朋友反馈最近的文章代码太多,看不懂。

这一部分将实现零代码分享,尽可能简单地介绍量化策略开发的步骤,以便任何交易员或投资者都能理解。我们将讨论概念和结果,以文字和图表形式进行展示,而不是沉浸在代码中。

在第 1 部分中,我们定义了我们的假设,即我们可以将交易结果与之进行比较的市场基准,并构建了我们的数据以便在后续阶段使用。第 2 部分介绍了量化交易中的初始回测和一些隐性成本。

以下是该系列内容大纲:

免责声明:本文仅供参考,不构成任何交易建议。

感兴趣的关注下公众号,优先发布,接收后续的更新内容会更及时奥
公众号:码上助君

经过上述步骤,我们有一个回测框架和一个表现优于基准的策略。但我请您仔细看看回报图表。

从 2021 年 6 月到 2022 年 6 月,我们的策略经历了一个非常关键的时刻,投资组合价值从初始投资的 8 倍下降到不到 4 倍。

换句话说,在 12 个月的时间里,我们的算法损失了前几年所取得的收益的一半以上。如果投资组合以 10 万美元开始,我们将花整整一年的时间看着我们的余额从 80 万美元跌至 35 万美元。无论我们在此之前通过该策略赚了多少钱,在此期间继续运行该策略都会是一种心理负担。您可能会在某个时候对算法进行更改,这实际上可能会损害后期回测中显示的利润,甚至会关闭它。那么,在进行回测时,如何衡量我们操作策略和承受损失的能力呢?

投资组合指标

你听过“旅途比目的地更重要”这句话吗?在量化交易中,这绝对是真的。我们可能会找到一个提供出色回报的优秀策略,但如果我们必须经历磨难才能实现这些回报,我们很可能会失败。在交易中,一致性是关键,用一些回报来换取一致性是完全可以接受的。有许多指标可以帮助我们衡量投资组合的一致性和风险,让我们来看看其中的几个。

  • 波动性
  • 夏普比率和滚动夏普比率
  • 最大回撤
  • 盈利和亏损的日子/星期/月份
  • 每笔交易的平均利润/亏损
  • 交易次数
  • 风险价值(VaR)

波动性

波动性是指资产价格变化的术语。当价格变化快速且频繁时,波动性被认为是高的,而当价格变化不那么显著时,波动性被认为是低的。人们通常只在价格下跌时才会想到波动性,但它也可以指价格上涨。波动性经常被用作风险的代理,但它是交易的一个必要方面。它是如此必要,以至于当价格波动较小时,交易者必须利用其操作来从市场获得回报。许多书籍将波动性称为一段时间内价格变化的标准差,但比计算标准差更重要的是了解价格变化分布的形状。这将比简单的标准差更能说明市场行为。让我们检查一下每小时价格变化分布以供研究。

我们可以看到,价格回报分布非常接近于零,并且尾部很长,远远超出了该图表的极限。我们还可以在图表中看到一个正态分布,其标准差与实际价格分布完全相同。你能看出它们有多大的不同吗?实际价格分布的峰度要高得多,这意味着我们可以预期许多接近平均值的值,但也有一些非常极端的值。这就是为什么探索数据而不是仅仅遵循步骤总是很重要的原因,了解我们的数据将使我们能够了解来自它的指标。

夏普比率

在第 1 部分中,我们讨论了交易员如何在其操作中寻找阿尔法,即市场的超额回报。夏普比率是一种指标,它表示投资组合获得的超额回报与其面临的风险之间的关系。其背后的想法是比较每单位风险的超额回报,以便交易员和投资者可以比较不同的资产(或不同的交易策略)。在许多情况下,不值得将投资组合暴露在更高的风险中以获得边际超额回报。让我们看看如何计算夏普比率:

如果您是一位正在考虑如何分配资金的投资者,那么在计算夏普比率时,您可以选择不同类型的(准)无风险资产。尽管 BTC 的多头仓位远非无风险,但这是我们为研究定义的市场基准,因此在计算超额收益时,我们将从移动平均线策略中减去多头策略的收益。

在分析投资组合随时间的变化时,监测滚动夏普比率是很常见的,该公式将在一段滚动时间内应用,例如过去 60 天或 90 天。在下图中,我们可以看到为我们的策略计算的累计和 90 天滚动夏普比率。我们可以看到,投资组合没有一致性,因为夏普比率在合理的时间范围内波动很大,但累计指标始终保持在 0 以上。


单位风险的合理超额回报是多少的决定是非常个人化的,但这是比较不同策略或参数的一个很好的指标。

最大回撤

最大回撤是另一个重要指标。它计算投资组合在创下历史新高后获得的最大损失。让我们在图表中查看它以更好地理解它。

绿线表示我们回测时每个时刻获得的最大回报。回撤是通过从最大值中减去当前回报来计算的,紫线表示回测时每个时刻获得的最大回撤。我们回测的最大回撤是在 2022 年 6 月底。

最大回撤值较小是策略一致性的一个很好的标志。它表明,即使市场动态发生变化(这种情况经常发生),算法也能够获利,并且不会面临长时间或急剧的亏损。正如您所见,在我们的回测中情况并非如此。

赢/输百分比

这个名字并不花哨,但它是我最喜欢的名字之一。在分析策略时,我们必须考虑随机事件的影响。一些回测可能会显示模型的良好结果,该模型在过去的几个价格剧烈波动事件中运气不错,而其他什么都没有。但市场每天都是新的一天,依靠少数事件获利就是在赌运气。获胜期比亏损期多得多的策略更有可能在其中获得真正的优势,因此具有长期盈利的强大潜力。让我们看看基于天数的回测获胜百分比。


看起来不是很好,但也不是很糟糕。在这种情况下,我们必须记住,我们正在使用动量策略,预计该策略不会每天改变头寸。因此,让我们将时间步长从几天改为几个月,并分析结果。


现在我们可以看到更好的表现。在回测期间,该策略的大多数月度胜率都超过 50%。但这也不是一个好结果,交易时会有一些糟糕的月份。

每笔交易的平均利润/亏损

每笔交易的平均利润和亏损也注重一致性。它可以以累积方式计算,这将分析整体表现,也可以以滚动方式计算,这将研究近期表现。获胜策略的平均利润将高于平均亏损,两者之间的行为显著转变可能是市场动态正在发生变化的迹象,这对您的算法来说可能是好事,也可能是坏事。

可以使用中位数而不是均值进行相同的分析。应用中位数将消除异常值的影响并分析策略的表现。如果中位数损失大于中位数利润,则意味着算法依赖特定事件来获得回报。在某些策略中,这完全没问题,但是如果这不是您的目标,则应该进行一些更改。

每期交易次数

算法中没有正确或错误的交易数量,但这个指标能够帮助您的设计。例如,交易数量越多,我们在第 2 部分讨论的隐性成本就越大。因此,超额回报必须补偿这种影响。此外,高频策略可能需要高级基础设施和编码才能真正盈利,否则我们将无法重现回测中获得的结果。在某些情况下,交易数量过多或过少可以告诉我们,我们的策略的运作方式与我们的预期不同,或者参数定义不正确。因此,我们可以监控交易的累计和滚动计数,如下图所示,其中滚动计数器基于 90 天。

56 个月内 1200 笔交易,平均每月约 21 笔交易。这似乎比我们的预期要多一些,因此还有改进的空间。

风险价值(VaR)

VaR 是当您的价格波动不利于您时,在您退出头寸之前可能损失多少钱的估计值。VaR 的计算方法是将头寸规模乘以估计的关键价格波动,可以通过多种不同的方式计算。最常用的方法之一是取资产历史价格变化分布的百分位数来估计未来的变化。再次查看价格变化分布图,但现在以百分比为基础。您看到的红线表示分布的第 5 个百分位数,这意味着线左侧的所有事件占总事件的 5%。该值为 -1.17% 或 -0.0117。


假设我们可以用这个分布进行概率分析,并使用该值作为关键价格变化的参考。那么我们的结论是,按小时计算,价格下跌超过 1.17% 的概率应该不到 5%,或者每月不超过 2 次。如果你想更安全,你可以选择另一个百分位数,例如 1% 而不是 5%。如果你持有 10 万美元的头寸,你的 VaR5% 将计算如下:

VaR5% = -0.0117 x 100,000 = 1170.00 美元

正如我所提到的,VaR 也是一个参数,因为交易者会根据 VaR 限制其头寸规模。因此,在回测不同想法时,重要的是将头寸限制在特定的 VaR 上,以确保在交易时您也能够持有类似的头寸。此外,价格分布图可能会因您分析的时间步长而有很大差异。我们必须确保选择一个我们的交易算法可以退出头寸的时间步长,否则我们将错误计算 VaR。

市场波动有高有低,因此许多交易者更喜欢以滚动形式评估 VaR,仅分析近期价格波动和当前投资组合余额。下图显示了 90 天滚动 VaR 以及我们回测的累计值。我们可以看到,滚动值波动更大,这可能需要您更频繁地调整投资组合头寸。


如果不仔细分析,这两种方法都可能导致我们高估或低估市场风险。毕竟,在使用模型进行交易之前,我们有责任调整模型以反映市场状况。另一个重要的观察结果是,VaR 估计了我们回测的一个时间步长内与价格急剧波动相关的风险,以应对意外情况。它不会估计我们的模型会因连续做出错误决定而损失多少,这是我们讨论的其他指标的任务。

此外,当投资组合由多种资产组成时,必须计算每种资产的 VaR,最终的投资组合 VaR 将取决于这些资产的相关性。如果它们完全相关,最终的 VaR 将是各个组成部分的总和。如果它们是负相关的,一个头寸实际上是在对冲另一个头寸,最终的 VaR 会降低。当低相关性资产的多样化程度较高时,投资组合的风险会显著降低,在这种情况下计算投资组合 VaR 通常涉及随机方法,例如蒙特卡洛模拟。

有数百个指标在回测和交易时很有用,我们只是触及了皮毛。但现在我们有了一些基本工具来帮助我们更好地评估我们的策略,从这个分析来看,我认为还有改进的空间。在第 4 部分中,我们将进行参数分析和过度拟合。

免责声明:本文仅供参考,不构成任何交易建议。

感兴趣的关注下公众号,优先发布,接收后续的更新内容会更及时奥
公众号:码上助君

  • 27
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值