目前量化社群最常用的都是时间块量化年化回报率指标, 尽管易于理解到处都在用. 其实是有内生性缺陷的.
经历过2024年1月政策打崩流动性那次的朋友都知道, 不仅年化回报率会因为近期腰斩而大跌, 夏普sharpe, guorn评分等也都会随之而大幅降低. 这些指标对最近的大跌特别敏感. 其实无法指示长期有效性.
夏普本身只是 年化收益率比收益率标准差 (说白了就是 收益率比波动性 ).
但波动性本身并不是坏事, 功利的说, 向下波动才是坏事, 向上暴涨是好事. 进而有指标 索提诺 卡玛等.
索提诺比率Sortino , 年化收益率比下跌段收益率标准差 .
卡玛比率 用 年化收益率比最大回撤 .
但这些指标依旧容易受近期大跌影响(因为年化回报率大降), 淡化早年的大跌.
包括我在内的很多从业者, 知道2015的杠杆崩溃踩踏, 回测时也会因此有接近甚至超过50%的最大回测. 但因为时间久远都不处理. 结果就是在2024年初或年中流动性崩盘和后续撤退时吃大雷. 同时也因为这个大雷, 导致2024无法正确评价策略强度. 24年最糟糕的行为就是年初吃满微盘下跌, 因为策略评分去高位接盘红利现金流, 再次吃满年中撤退段的下跌. 这样的话即便9月后暴涨也很难拉回账户亏损. 一年操作甚至不如一直死拿微盘.
因为近期大跌对总回报率/年化回报率影响大, 这会导致大家回测的时候不由自主地去添加或保留一些近期避免下跌, 但长期看站不住脚的时间或横截面因子. 甚至更进一步的过拟合了无效的假因子去提高数据. 这样只会害自己.
针对这个问题, 我有如下几个想法. 欢迎大家补充, 提出不同意见, 最好是能分享一些更好的指标和应对办法.
1.
近期大跌导致的长期年化回报率暴降, 通过计算每年回报率的算数平均应对. 避免近期大跌甚至腰斩导致对策略有效性错判. 这个方法对长时间亏亏赚赚的策略过滤效果明显, 宽容那些长期有多年盈利, 然后一把爆亏的策略.
这种简单算术平均也不能单用, 自己还是得判断大跌是流动性导致的一次性冲击还是市场环境变了导致策略失效.
2.
我看到很多量化私募用 "水下面积比总盈利面积" 去展现策略风险. 我觉得这个指标也挺好的, 它同时把下跌的幅度, 和长期亏钱的时间成本用一个指标都囊括了.
简单说就是从策略最高点画横线, 用策略在横线下(水下) 的点围成的面积去展现风险. (长就是亏钱的时间, 宽就是下跌的幅度.) 用水下面积除以盈利面积去量化风险.
对于我来说, 一个期间一度下杀腰斩最终快速救回来的策略(跌幅宽), 和一个期间2年亏钱不多但一直亏钱的策略(亏钱长), 都很糟糕. 夏普索提诺卡玛这些指标不包含时间因素, 无法展现后者多糟糕.
有必要的话还可以给绝对亏损幅度和长期亏损时间各加一个系数去展现自己对这两个的厌恶有多大.
![]()
当然这个面积比指标本身无法解决未来可能吃腰斩问题. 以上两个方法主要还是对避免策略过拟合近期的大跌有用, 可以更客观更好的评价策略.
除了时间分块, 用成交量分块和成交额分块也是一种办法. 现在大家都是一天一切, 短的可能每分钟一切甚至一个tick一切. 做时间轴的人实在太多, 找未被发掘的信息熵也很困难.
我们可以换一个思路改为每成交一万亿一切, 或者每10000万成交量一切. 这样时间就从自变量转到了因变量. 做的人少, 找未被发掘的盈利因子会容易一些. 年化回报率评价也就变换为每一万亿成交回报率, 以及 每10000万成交量的策略回报率.
