OptiNod 学院
期望值:为什么胜率高也会亏钱
胜率只是期望值的一个变量。要用胜率与盈亏比相乘得到的期望值来评估系统,同时还要看样本量和交易次数。
胜率只是构成期望值的一部分。在与盈亏比相乘之前,90%的胜率本身说明不了任何问题。
本文是风险管理系列的第一篇。介绍用期望值评估交易的标准,后续几篇会讲止损位置和仓位大小。
期望值是把同样的交易重复无数次之后,每一次平均留下的盈亏。用抛硬币来看比较容易。赢了拿1美元、输了亏1美元的游戏,长期重复下来是不赚不亏,期望值为0。但如果赢了拿2美元、输了只亏1美元,即使胜率同样是一半,每一局平均也能留下0.5美元。
交易也一样。把一种交易重复几百次,每次的平均值为正,长期来看就赚钱,为负就亏钱。这个每次的平均值就是期望值。
在交易领域最早总结出这个值的人是Van K. Tharp。他在著作 Trade Your Way to Financial Freedom 中写下的定义只有一句话:期望值等于胜率乘以平均盈利,减去亏损比例乘以平均亏损的结果。胜率和盈亏比都包含在这一个式子里。
大多数人在这个式子里只看胜率。“十次中了八次”听起来像个好系统,交易截图也大多拿胜率说事。然而光凭胜率,无法知道这个系统是否赚钱。必须同时看平均盈利和平均亏损的大小。
反过来,有时胜率越高越危险。小赚频繁、偶尔大亏的系统,胜率虽高,期望值却为0或为负。具体数字在下面用表格来看。

入场价与止损距离就是1R
要计算期望值,需要把盈利和亏损统一成同一个单位。这个单位就是R。
R是一笔交易中预先定好的可亏损金额,也就是入场价与止损价之间的距离。以100美元买入、90美元止损,1R就是10美元。这笔交易如果以120美元卖出,就是盈利2R,以95美元卖出,就是亏损0.5R。
把所有交易结果都用R记录,无论资产价格或账户大小,都可以用同一把尺子来比较。100美元的交易和6万美元的交易,都以“赚了或亏了多少R”并排放在一起。期望值就是这样汇集起来的R的平均值。
同样的胜率,产生截然相反的结果
胜率和盈亏比如果分开看,各自只展示了一个侧面。相乘算出期望值,才能看出系统是否赚钱。把三个系统放在同一张表里来看。
| 系统 | 胜率 | 平均盈利 | 平均亏损 | 期望值 |
|---|---|---|---|---|
| A | 50% | 1R | 1R | 0R |
| B | 50% | 2R | 1R | +0.5R |
| C | 80% | 0.5R | 2R | 0R |
A和B的胜率同为50%,结果却不同。A是不赚不亏,B每交易一次平均赚0.5R。差别只在盈亏比。
C的胜率高达80%,期望值却是0。赢八次、每次0.5R累积了4R,两次2R的亏损又把这4R原样拿走。再加上手续费和滑点,期望值就降到负数。如果只比较胜率,人人都会选C,但从期望值来看,C是最危险的系统。
胜率高的系统有时更危险
小赚频繁、偶尔大亏的结构,和表中的C一样。在箱体震荡中只看过热就反向下注的交易,逆着趋势每次创新高就做空的交易,都属于这一类。
2024年2月初,BTC从42,500美元附近出发,五周内几乎朝单一方向涨到73,777美元。设想在这个区间里,每次创新高都以过热为由做空的交易。每当在48,000、52,000、64,000附近出现短暂调整,都能获得约1R的小额盈利,胜率保持在较高水平。
问题出在后面。价格没有调整,从64,000一路直线涨到73,777的区间里,一笔空单的亏损扩大到5R、6R,这一次就把此前的小额盈利全部拿走。只看胜率截图,这是个没问题的系统,但积累下来的盈利会在一轮趋势中崩塌。
低胜率的趋势跟踪为什么能活下来
BTC从2023年1月的16,600美元附近,涨到2024年3月11日周线高点73,777美元,上涨约4.5倍。把这轮趋势一路跟到底的系统,胜率并不高。趋势跟踪在震荡区间多次接受小额亏损,在一轮大趋势里拿到足以覆盖全部这些亏损的盈利。
来看胜率35%、平均亏损1R、平均盈利4R的趋势跟踪系统。这个系统的期望值是0.75R。即使十次里错了六次多,每交易一次平均仍能留下0.75R。
使用趋势跟踪的人连续承受小额亏损,仍然坚持系统,原因就在这里。他们通过期望值的计算知道,那些亏损会在一次大盈利里收回。如果只看胜率,35%的系统早就被抛弃了。

期望值要在样本积累之后才可信
即使期望值算出来为正,交易次数少的话,也分不清是实力还是运气。交易20次得出的0.5R可能只是偶然,同一个系统在接下来的20次里也可能出现负数。至少要有100次,最好是包含不同市场状态的样本,确认同样的期望值能够保持。
即使期望值为正,也避免不了连续亏损。胜率40%的系统平均五次中两次盈利,但其中正常地包含连续错七八次的区间。
所以除了期望值,还要看最大连续亏损。期望值即使是0.75R,若最大连续亏损为12R,哪怕每次只下1R的人,在那个区间也会损失账户的12%。不知道这个数字,就会在系统正常运转的亏损区间里放弃这个系统。
把新策略放到实盘账户之前,要在回测中确认三件事。
- 样本:包含不同的市场状态,不少于100次。
- 期望值:计入手续费和滑点之后仍然为正。
- 最大连续亏损:以R为基准确认,并按账户大小折算能否承受这一亏损。
三个条件中只要有一个不符,就暂缓用于实盘,继续积累样本。

期望值要乘以交易次数
期望值相同,交易次数不同,一年的结果也会不同。期望值是每次的平均R,再乘以一定期间内的交易次数,就得到该期间的预期收益。
期望值0.2R的系统一年运行200次,预期收益是40R,而期望值0.8R的系统一年只运行10次,预期收益是8R。只看每次的期望值,后者似乎高出四倍,但乘上机会的数量之后,前者多出五倍。
所以要从两个维度来看系统。期望值小但经常出现的设置,按一年计会带来很大的收益,期望值大却很少出现的设置,机会成本很大。不过增加次数的同时,手续费和滑点也一起增加。如果每笔交易的成本大幅吞噬期望值,次数越多,净期望值反而越少。
追踪期望值的两种方法
第一种是把所有交易都用R记录的交易日志。写下入场价、止损价、出场价,把结果折算成R,积累几十笔之后,就得到自己系统的实际期望值。只按盈亏金额记录的话,账户大小一变,基准就跟着变,用R记录则不论时点,都可以用同一把尺子比较。
第二种是从期望值的角度解读回测统计。在优化结果里只看总收益,和只看胜率是同样的陷阱。总收益相同,平均盈亏比和最大连续亏损不同,在实战中承受的难度就完全不同。

下一篇会讲这个1R从哪里来,也就是确定止损位置的方法。因为止损幅度确定了,R才能确定,R确定了,这一切计算才能开始。