触及制vs收盘价:你以为的盈利差了24个百分点
展开
这两年我用业余时间给自己攒了一套机械的选股规则,自用,不卖,也不荐任何票。写它的动机很简单:我回测里赚得很开心的策略,一到实际执行就变味。起初我以为是心态问题,后来把成交记录一条条对下来才发现,很多钱从一开始就不存在——它是回测时 算 出来的,不是市场上真的有。
这篇文章讲其中最大的一个坑:成交价的算法。同一套规则,同一批数据,只把 按什么价格成交 换了个写法,回测收益从+24%变成-31%,一来一回55个百分点。就算只看 盈利变成不赚钱 ,也至少差了24个百分点。标题里那个数,就是这么来的。
一、两种成交口径差在哪
写回测时,买入价从哪来?多数人的第一反应是收盘价:今天收盘满足条件,就按今天收盘价记一笔买入。这是收盘价口径。
我用的是另一种:收盘后算出想买的票,第二天设一个挂单价,盘中价格碰到这个价才算成交;碰不到,这笔就当没发生过。卖出同理。我管它叫触及制——价格触及挂单价才算数。听起来是细节。数字说话。
二、+24%是怎么来的:上帝视角
我系统里留着一轮对照,样本是全市场3579只票、30个交易日的数据,同一套追涨型的规则:
- 按收盘价成交:+24%
- 按触及制成交:-31%
+24%看起来像不像一个值得认真研究的策略?我第一次跑出来也是这个感觉。问题在于,它需要一个前提:你能在信号算出来的那一刻,用产生信号的价格买入。
这在时间上是倒着来的。信号是收盘之后才算得出的,收盘价既是信号的原材料,又是这笔买入的成交价,等于先看了答案再下单。真正想入场只能等第二天,而能让规则出信号的票,大多是当天很强的票,第二天常常高开,你的真实成本比回测里高出一截。这是第一层损耗。
第二层损耗更狠:有的票第二天直接一字板,全天价格碰不到你的挂单价。回测里它照买不误,实盘里你一股都拿不到。还有的盘中冲高回落太快,挂单价没碰到就走了。这些 买不到 的票,在收盘价口径里全是贡献收益的好样本,在触及制里一笔都记不上。所以-31%不是策略变差了,是+24%里本来就有相当一部分,属于任何人都拿不到的钱。
三、更扎心的一个例子
如果说上面是口径的损耗,下面这个是口径的幻觉。
前段时间我复现一个别人宣传过的思路,回测胜率77.2%,数字漂亮到我盯着看了很久。把成交明细逐笔拉出来检查,发现问题:那些 买到 的交易,几乎全部发生在一字连板上——涨停价上整天只堆着卖盘,谁都在排队,谁也买不进。把一字板剔除之后,可执行的 样本直接归零。77.2%的胜率是真的,只是它是 如果价格碰到就算成交 那个世界的胜率。我们不在那个世界交易。
四、我自己的41笔重放
口径这笔账不能只算别人,也算我自己。同一套规则,历史上系统给出过41笔推荐。我把这41笔按触及制口径重放:挂单价触及才算成交,买不到就放弃。结果整体是负的,-7.9%,比对应的回测版本大幅跑输。这个百分比放在这里不是为了晒。反过来说,它说明我 没有战绩可晒。写出来只想讲清一件事:看到 回测赚钱、实盘亏钱 的案例时,先别急着归结为执行力或者心态。成交价的口径错了,回测和实盘之间隔的就是一堵墙,不是一层窗户纸。
五、把口径修对之后,还剩什么可信
把回测统一换成触及制之后,很多结论变了样。
最直接的一个:那套追涨规则在262个交易日的大样本里,每笔平均收益只有+0.4%上下。不再是神话,甚至算不上好看,但它是真的。我宁可拿真实的小数字做决策,也不拿虚的大数字做梦。
有两类东西活了下来。一类是相对结论:不同止盈参数、不同持有天数的横向对比,方向在两个口径下大体一致——A比B好,这类判断比 A能赚多少 可靠得多。另一类是证伪:一个策略在宽松口径下都不赚钱,收紧口径只会更难看,直接排除。
我的取舍标准现在很简单:一个结论,换成交价口径还成立,才配留在规则库里。
六、三条自查
如果你也自己写回测,有三件事我会先查。这是我的个人做法,不是投资建议:
1. 查买入价。你的回测用什么价成交?如果是信号当天的收盘价,把成交推迟到次日、加上 触及才算成交 的条件,重跑一遍。数字可能难看到不想发朋友圈,但那才是你真正面对的数字。
2. 查买不到的票。统计收益里有多少来自一字板或快速封板的票。这部分收益属于回测,不属于你。
3. 打个折再决策。修完口径的收益打对折、打三折之后,这套规则还值得继续投入时间,再继续。靠前视偏差撑起来的信心,会在实盘里连本带利还回去。这两个月的复盘让我确认了一件事:回测里最贵的错误,往往不是参数调得不好,而是你用来评估一切的那个价格,从一开始就买不到。
下一篇写另一个更隐蔽的坑:我的K线库本身有幸存者偏差,怎么发现的,影响多大。
--- 个人复盘记录,不构成任何投资建议,不荐股不预测。文中所有数据均为历史统计,不代表未来表现
这篇文章讲其中最大的一个坑:成交价的算法。同一套规则,同一批数据,只把 按什么价格成交 换了个写法,回测收益从+24%变成-31%,一来一回55个百分点。就算只看 盈利变成不赚钱 ,也至少差了24个百分点。标题里那个数,就是这么来的。
一、两种成交口径差在哪
写回测时,买入价从哪来?多数人的第一反应是收盘价:今天收盘满足条件,就按今天收盘价记一笔买入。这是收盘价口径。
我用的是另一种:收盘后算出想买的票,第二天设一个挂单价,盘中价格碰到这个价才算成交;碰不到,这笔就当没发生过。卖出同理。我管它叫触及制——价格触及挂单价才算数。听起来是细节。数字说话。
二、+24%是怎么来的:上帝视角
我系统里留着一轮对照,样本是全市场3579只票、30个交易日的数据,同一套追涨型的规则:
- 按收盘价成交:+24%
- 按触及制成交:-31%
+24%看起来像不像一个值得认真研究的策略?我第一次跑出来也是这个感觉。问题在于,它需要一个前提:你能在信号算出来的那一刻,用产生信号的价格买入。
这在时间上是倒着来的。信号是收盘之后才算得出的,收盘价既是信号的原材料,又是这笔买入的成交价,等于先看了答案再下单。真正想入场只能等第二天,而能让规则出信号的票,大多是当天很强的票,第二天常常高开,你的真实成本比回测里高出一截。这是第一层损耗。
第二层损耗更狠:有的票第二天直接一字板,全天价格碰不到你的挂单价。回测里它照买不误,实盘里你一股都拿不到。还有的盘中冲高回落太快,挂单价没碰到就走了。这些 买不到 的票,在收盘价口径里全是贡献收益的好样本,在触及制里一笔都记不上。所以-31%不是策略变差了,是+24%里本来就有相当一部分,属于任何人都拿不到的钱。
三、更扎心的一个例子
如果说上面是口径的损耗,下面这个是口径的幻觉。
前段时间我复现一个别人宣传过的思路,回测胜率77.2%,数字漂亮到我盯着看了很久。把成交明细逐笔拉出来检查,发现问题:那些 买到 的交易,几乎全部发生在一字连板上——涨停价上整天只堆着卖盘,谁都在排队,谁也买不进。把一字板剔除之后,可执行的 样本直接归零。77.2%的胜率是真的,只是它是 如果价格碰到就算成交 那个世界的胜率。我们不在那个世界交易。
四、我自己的41笔重放
口径这笔账不能只算别人,也算我自己。同一套规则,历史上系统给出过41笔推荐。我把这41笔按触及制口径重放:挂单价触及才算成交,买不到就放弃。结果整体是负的,-7.9%,比对应的回测版本大幅跑输。这个百分比放在这里不是为了晒。反过来说,它说明我 没有战绩可晒。写出来只想讲清一件事:看到 回测赚钱、实盘亏钱 的案例时,先别急着归结为执行力或者心态。成交价的口径错了,回测和实盘之间隔的就是一堵墙,不是一层窗户纸。
五、把口径修对之后,还剩什么可信
把回测统一换成触及制之后,很多结论变了样。
最直接的一个:那套追涨规则在262个交易日的大样本里,每笔平均收益只有+0.4%上下。不再是神话,甚至算不上好看,但它是真的。我宁可拿真实的小数字做决策,也不拿虚的大数字做梦。
有两类东西活了下来。一类是相对结论:不同止盈参数、不同持有天数的横向对比,方向在两个口径下大体一致——A比B好,这类判断比 A能赚多少 可靠得多。另一类是证伪:一个策略在宽松口径下都不赚钱,收紧口径只会更难看,直接排除。
我的取舍标准现在很简单:一个结论,换成交价口径还成立,才配留在规则库里。
六、三条自查
如果你也自己写回测,有三件事我会先查。这是我的个人做法,不是投资建议:
1. 查买入价。你的回测用什么价成交?如果是信号当天的收盘价,把成交推迟到次日、加上 触及才算成交 的条件,重跑一遍。数字可能难看到不想发朋友圈,但那才是你真正面对的数字。
2. 查买不到的票。统计收益里有多少来自一字板或快速封板的票。这部分收益属于回测,不属于你。
3. 打个折再决策。修完口径的收益打对折、打三折之后,这套规则还值得继续投入时间,再继续。靠前视偏差撑起来的信心,会在实盘里连本带利还回去。这两个月的复盘让我确认了一件事:回测里最贵的错误,往往不是参数调得不好,而是你用来评估一切的那个价格,从一开始就买不到。
下一篇写另一个更隐蔽的坑:我的K线库本身有幸存者偏差,怎么发现的,影响多大。
--- 个人复盘记录,不构成任何投资建议,不荐股不预测。文中所有数据均为历史统计,不代表未来表现
话题与分类:
主题股票:
主题概念:
声明:遵守相关法律法规,所发内容承担法律责任,倡导理性交流,远离非法证券活动,共建和谐交流环境!
