量化交易核心:正期望值、夏普比率与海龟策略构建稳定盈利系统
那天晚上,一个做程序员的哥们给我发消息,说他用 Python 写了个简单的量化策略,回测下来年化收益率能到 80%,兴奋得不行。我问他:“你这策略最大回撤多少?夏普比率多少?有没有做过样本外测试?”他愣了一下,说:“这些是啥?收益率高不就行了吗?”
这个场景太典型了。很多人刚接触量化交易时,眼里只有收益率这个单一指标,却忽略了更重要的东西——稳定盈利的能力。量化交易的核心,从来不是追求某一年翻几倍的暴利,而是构建一个能够持续产生正收益的系统。这个系统可能年化只有 15%,但它能在市场波动中保持稳定,不会因为一次黑天鹅事件就崩盘。
今天我们就从三个核心概念入手——正期望值、夏普比率、海龟策略,聊聊为什么“稳定盈利比暴利更重要”。
1. 正期望值:量化交易的基石,为什么高胜率不等于赚钱
很多人有个误解:胜率越高的策略越好。比如一个策略 10 次交易能赢 8 次,听起来很厉害吧?但如果那 2 次亏损的金额远大于 8 次盈利的总和,最终你还是亏钱的。
这就是正期望值(Positive Expected Value)概念的重要性所在。
1.1 期望值不是猜涨跌,而是赔率与概率的平衡
期望值的计算公式很简单:
期望值 = (平均盈利 × 盈利概率) - (平均亏损 × 亏损概率)但理解这个公式背后的意义,比记住公式本身更重要。
举个例子,假设你有两个策略:
- 策略 A:胜率 80%,平均盈利 100 元,平均亏损 500 元
- 策略 B:胜率 40%,平均盈利 500 元,平均亏损 100 元
单纯看胜率,策略 A 完胜。但算一下期望值:
- 策略 A 期望值 = (100 × 0.8) - (500 × 0.2) = 80 - 100 = -20 元
- 策略 B 期望值 = (500 × 0.4) - (100 × 0.6) = 200 - 60 = 140 元
策略 A 每笔交易预期亏损 20 元,策略 B 每笔交易预期盈利 140 元。高胜率反而亏钱,低胜率反而赚钱——这就是期望值的反直觉之处。
1.2 正期望值系统的三个特征
一个具有正期望值的交易系统,通常具备以下特征:
盈亏比合理:平均盈利与平均亏损的比值至少大于 1,理想情况下在 2:1 到 3:1 之间。这意味着即使胜率只有 40%,只要抓住一次大行情就能覆盖多次小亏损。
止损明确:每笔交易都有明确的退出条件,不会让亏损无限扩大。这是控制“平均亏损”的关键。
一致性执行:系统不会因为一两次亏损就随意修改规则。正期望值是在大量交易中体现的统计规律,单次结果具有随机性。
注意:正期望值不代表每笔交易都赚钱,它描述的是长期统计意义上的盈利预期。就像抛硬币,正面赢 1 元,反面输 0.5 元,虽然单次结果随机,但长期一定盈利。
1.3 如何验证你的策略是否有正期望值
最直接的方法就是回测。但回测时要注意几个坑:
- 避免过度优化:在历史数据上把参数调得太完美,可能导致在未来数据上失效。
- 考虑交易成本:手续费、滑点等实际成本会显著影响期望值。
- 样本外测试:用没参与过参数优化的数据验证策略效果。
如果你的回测结果显示期望值为负,不要急着放弃。可以分析是胜率太低还是盈亏比不合理,然后针对性调整入场、止损或止盈策略。
2. 夏普比率:衡量性价比,为什么收益率不是唯一指标
假设有两个策略:
- 策略 X:年化收益率 50%,但波动巨大,最好时赚 80%,最差时亏 30%
- 策略 Y:年化收益率 20%,但走势平稳,最大回撤不超过 5%
哪个策略更好?如果你只能选一个投入真金白银,很可能是策略 Y。因为策略 X 的波动性可能让你在最低点被迫止损出局,根本享受不到长期的高收益。
这就是夏普比率(Sharpe Ratio)要解决的问题:衡量每承担一单位风险,能获得多少超额回报。
2.1 夏普比率的计算与解读
夏普比率 = (投资组合收益率 - 无风险利率) / 组合收益率的标准差
简单理解:
- 分子代表你冒风险获得的额外收益
- 分母代表你承担的风险大小
- 比值越高,说明风险调整后的收益越好
一般来说:
- 夏普比率 < 1:性价比一般
- 1 < 夏普比率 < 2:还不错
- 夏普比率 > 2:相当优秀
- 夏普比率 > 3:可能是过度优化或未来难以维持
但要注意,夏普比率也有局限性:
- 假设正态分布:金融市场收益往往不服从正态分布,存在肥尾效应(极端事件概率高于理论值)。
- 对波动率平等看待:上涨的波动和下跌的波动都被视为风险,这有时不太合理。
- 依赖无风险利率:不同市场的无风险利率选择会影响结果。
2.2 夏普比率在实战中的三个应用场景
策略筛选:当你有多个正期望值策略时,优先选择夏普比率高的。比如一个年化 15%、夏普 1.5 的策略,通常比年化 25%、夏普 0.8 的策略更值得投入。
仓位管理:夏普比率可以帮助确定最优仓位。凯利公式的一个变种是:f = (预期收益率 - 无风险利率) / 收益率方差。夏普比率越高,理论上可以承受的仓位越大。
组合构建:将夏普比率高且相关性低的策略组合在一起,可以进一步提升整体夏普比率。这就是所谓的“策略多元化”。
2.3 避免夏普比率的误用
最常见的问题就是过拟合(Overfitting)。如果你在历史数据上不断调整参数,总能找到一个夏普比率很高的组合,但这可能只是巧合。
检验是否过拟合的方法:
- 样本外测试:用完全没碰过的数据验证
- 滚动窗口回测:在不同时间段测试策略稳定性
- 简化参数:参数越少的策略通常越稳健
记住:夏普比率是评价历史表现的指标,不代表未来一定如此。市场环境变化可能让曾经有效的策略失效。
3. 海龟策略:经典案例,如何构建稳定盈利系统
海龟交易法则可能是量化领域最著名的公开策略之一。1983年,著名商品交易员理查德·丹尼斯与他的朋友威廉·埃克哈特打赌,赌注是“伟大的交易员是天生的还是可以培养的”。丹尼斯认为可以培养,于是招募并训练了一批“海龟”,这些人在随后四年中取得了年均复利80%的收益。
海龟策略的成功,完美诠释了如何通过系统化方法实现稳定盈利。
3.1 海龟策略的核心逻辑
海龟策略本质上是一个趋势跟踪系统,基于以下几个核心原则:
市场选择:选择流动性好、趋势性强的市场(当时主要是商品期货)。
仓位规模:使用“N值”(平均真实波幅)确定仓位,波动大的市场仓位小,波动小的市场仓位大,保证每个市场风险暴露一致。
入市信号:
- 系统1:20日突破入场(短线)
- 系统2:55日突破入场(长线)
退出规则:
- 系统1:10日反向突破离场
- 系统2:20日反向突破离场
风险控制:任何单笔交易最大风险不超过账户总资金的2%。
这个系统的精妙之处在于,它不预测市场方向,而是跟随趋势。当趋势出现时,它能够抓住;当趋势反转时,它能够及时退出。
3.2 海龟策略为什么能稳定盈利
正期望值来源:海龟策略的胜率并不高,大约只有35%-40%。但它的盈亏比很高,一次大的趋势盈利可以覆盖多次小的止损亏损。这就是典型的“低胜率、高盈亏比”策略。
风险控制机制:2%的单笔风险限制确保了不会因连续亏损而爆仓。即使用一个只有40%胜率的系统,连续亏损10次的概率也只有0.6^10 = 0.6%,在可接受范围内。
系统性执行:海龟们被要求严格按规则交易,克服情绪干扰。这是系统能够长期有效的关键。
3.3 海龟策略的现代启示
虽然原始的海龟策略在今天的市场中直接使用可能效果有限(市场结构变化、参与者增多),但其思想仍然有价值:
趋势跟踪仍然有效:市场总会存在趋势,只是表现形式和持续时间可能变化。
风险管理是核心:无论策略多好,没有严格的风险管理都可能失败。
系统化胜过主观判断:用规则约束情绪,才能保持一致性。
如果你想在自己的交易中应用海龟思想,可以考虑:
- 修改突破参数适应不同品种
- 结合其他指标过滤假突破
- 调整仓位管理方法适应个人风险偏好
关键不是照搬具体规则,而是理解其背后的逻辑:如何构建一个具有正期望值的系统,并通过严格的风险控制使其能够长期稳定运行。
4. 从理论到实践:构建你自己的稳定盈利系统
了解了正期望值、夏普比率和海龟策略后,如何将这些概念应用到自己的交易中?下面是一个四步框架。
4.1 第一步:策略设计——找到你的边缘
每个盈利策略都需要一个“边缘”(Edge),也就是相对于市场的优势。这个优势可能来自:
- 信息优势:更快获取或处理信息(对个人投资者较难)
- 分析优势:更好的数据分析方法
- 行为优势:利用市场参与者的非理性行为
- 系统优势:更严格的风险控制和执行纪律
对于大多数个人投资者,最现实的是从行为优势和系统优势入手。比如,你可以设计一个均值回归策略,利用市场短期过度反应;或者设计一个动量策略,跟随机构资金流向。
关键问题是:你的策略为什么应该赚钱?如果回答不了这个问题,很可能你只是在随机赌博。
4.2 第二步:回测验证——用数据说话,但不要过度拟合
回测时遵循以下流程:
数据准备:获取高质量的历史数据,包括价格、成交量、财务数据等。注意处理分红、拆股等公司行动。
初始回测:用较长时间段(如5-10年)测试策略基本表现。关注核心指标:年化收益、最大回撤、夏普比率、胜率、盈亏比。
参数优化:如果初始结果尚可,可以适当优化参数。但要遵守“钝化”原则——参数不应该太敏感,附近的值表现差不多才是好参数。
样本外测试:用优化后完全没见过的数据验证。如果样本外表现明显差于样本内,可能是过拟合。
稳健性检验:在不同市场环境(牛市、熊市、震荡市)、不同品种上测试策略适应性。
回测最大的陷阱是“未来函数”(Look-ahead Bias)——不小心使用了当时不可得的信息。比如用全年数据计算均线,然后在一月份交易。
4.3 第三步:实盘演练——从小开始,逐步放大
回测通过后,不要立即投入大量资金:
模拟交易:先用模拟账户运行1-3个月,检验实际执行情况,估算滑点和冲击成本。
小资金实盘:投入你能完全承受亏损的资金(比如总资金的5%-10%),运行3-6个月。
逐步加码:如果小资金实盘表现与回测基本一致,可以逐步增加资金规模。
这个过程中,最重要的是记录每笔交易,分析实际与回测的差异。常见的差异来源:
- 实际交易成本高于假设
- 流动性不足导致无法按理想价格成交
- 心理因素影响执行纪律
4.4 第四步:持续优化——保持系统的适应性
市场在变,策略也需要相应调整:
定期回顾:每月或每季度回顾策略表现,检查核心指标是否显著恶化。
环境分析:如果策略持续亏损,分析是正常回撤还是市场环境已不适用。
谨慎改进:对策略的修改要谨慎,避免频繁调整导致失去一致性。
策略轮动:准备多个不同逻辑的策略,根据市场环境调整权重。
记住:没有永远有效的策略,但有永远有效的原则——正期望值、风险控制和纪律执行。
5. 常见误区与进阶思考
在量化交易的学习过程中,有几个常见误区需要特别注意。
5.1 误区一:追求完美策略
很多人总想找到“圣杯”策略——高胜率、高盈亏比、低回撤、适应所有市场环境。这种策略不存在,因为金融市场本质上是概率游戏。
更好的思路是接受策略的不完美,通过组合和风险管理来应对不同情况。比如趋势策略在震荡市会亏损,均值回归策略在趋势市会亏损,但将它们组合可能得到更平滑的收益曲线。
5.2 误区二:忽视心理因素
即使有正期望值的系统,很多人还是亏钱,原因是无法坚持执行。常见的心理陷阱:
- 亏损厌恶:不愿意止损,希望价格能回来
- 盈利恐惧:过早止盈,害怕利润回吐
- 确认偏误:只关注支持自己判断的信息
- 近期偏好:过分重视最近的经验
系统化交易的一个重要价值就是帮助克服这些心理偏差。但系统本身也需要考虑人性因素——如果一个策略最大回撤50%,绝大多数人都无法坚持。
5.3 误区三:低估技术实现难度
理论上有效的策略,在技术上可能难以实现:
- 数据质量:历史数据可能有错误、缺失或幸存者偏差
- 执行延迟:从信号产生到订单成交有时间差
- 系统稳定性:交易系统需要7×24小时稳定运行
- 合规风险:某些交易策略可能触及监管红线
对于个人投资者,从简单的策略开始,使用成熟的框架(如vn.py、QuantConnect等),可以降低技术门槛。
5.4 量化交易的未来与个人投资者的机会
随着AI和机器学习的发展,量化交易正在进入新阶段。但对于个人投资者,我不建议一开始就追求复杂的机器学习模型,原因:
- 数据需求大:好的机器学习模型需要大量高质量数据
- 过拟合风险高:模型越复杂,越容易过度适应历史数据
- 解释性差:黑箱模型难以理解失效原因
个人投资者的优势在于灵活性和专注度。你可以专注于某个细分领域(如特定行业、特定模式),开发适合该领域的策略。大规模机构由于资金容量限制,往往无法在这些小领域有效运作。
量化交易的本质是用科学方法寻找市场中的规律性机会,并通过系统化执行将其转化为稳定收益。这个过程需要耐心、纪律和持续学习,但回报是值得的——不仅是金钱上的,更是认知上的提升。
真正优秀的交易者,不是那些某一年收益率几倍的“明星”,而是那些能够持续10年、20年稳定盈利的“寿星”。而要做到这一点,理解并践行“稳定盈利比暴利更重要”这一原则,是必不可少的起点。