第 4 课
为什么账户收益和事件平均不同?
分清事件平均、账户盈亏和相对指数表现,理解有限资金与交易顺序怎样改变最终经历。
蛙兄在上一课的摘要上圈出了两行。
“超过沪深300,20.52个百分点。”
“账户收益,负5.21%。”
“这两行,是在夸我,还是在骂我?”
“它们都没在评价你。”蛙博士说,“一行在和市场比,一行在和你最初的100点比。”
我们的主账户从100点变成了94.79点,钱确实少了。同期指数下跌25.73%,账户跌得更少,所以它也确实跑赢了参照。
两句话可以同时成立。
不过,蛙兄更在意的是另一个问题。
“之前把那些九拍机会单独拿出来看,平均收益不是挺好吗?为什么真的让账户买卖,最后反而亏了?”
我们就从这个问题开始。先不找新指标,也不急着改规则,打开刚刚保存的交易记录,看看这笔钱实际去了哪里。
机会来了,钱却已经出门了
先看主账户最早的一笔实际买卖。
2021年2月1日,账户按规则买入了虚构公司“飞泉出行”。
2月4日,“晴岳出行”的买入机会也来了。
如果是在之前的事件研究里,我们可以把这两个机会都记下来,分别计算各自买入、卖出后的收益。它们的日期重叠,并不妨碍我们做统计。
但现在,程序面对的是一个账户。
“晴岳也符合条件,要不要买?”蛙兄问。
看看账户:钱还在飞泉出行的持仓里。根据约定,一次只持有一家,不能一边拿着股票,一边把它当成第二笔现金。
所以,这个机会被跳过了。
直到2月19日收盘,飞泉出行这笔交易才走到第十根有效日K,按规则退出。卖出后剩下的钱,才能从下一市场交易日开始继续使用。
晴岳出行那次已经错过的买入,也不会排队等着我们,更不能按2月4日的旧价格补买。

这不是一个偶尔发生的小插曲。整个研究期里,主账户实际买入了34笔;因为已经有持仓,跳过了119次机会;同一天出现多个可买机会时,又按代码排序放弃了9次。
表格里出现过的机会,并不等于账户实际买到的交易。
这也是为什么,前面的事件平均收益,不能直接拿来回答“这100点最后能赚多少”。账户参加的,已经不是那张表里的全部机会了。
蛙兄有点不甘心:“那是不是把那些错过的都买上,就能赚钱?”
先别急着这么想。没买到的机会里,也可能有亏损。只看“跳过了多少次”,不能判断跳过这件事到底让收益变好了还是变差了。
眼下我们能确定的是:资金有限,改变了账户实际参与的交易。 至于改变带来了多少收益差异,不能靠脑补把账算出来。
还有个容易混淆的小地方:前面的事件对照只统计了有完整观察窗口的事件;账户则按当时能知道的信息决定买不买,研究结束时尚未到期的持仓仍然保留。因此,两份记录的数量也不需要强行凑成一样。
下一笔用的,是上一笔剩下的钱
即使先不管错过的机会,账户还有一个和平均数不一样的地方。
它不会每做完一笔,就重新收到100点。
我们用一个小例子来看。下面只是算术示意,不是这次实验中的两笔交易。 暂时不考虑费用,假设先赚10%,再亏10%。
第一笔:100点涨了10%,变成110点。
第二笔:现在投入的是110点。跌了10%,少掉的是11点,最后剩99点。
“一个加10%,一个减10%,平均不就是零吗?”
平均确实是零。但第二次的10%,是按110点算的,不是按最初的100点算的。

这就是账户一笔接一笔运行时会发生的事:赚了以后,下一笔可用的钱变多;亏了以后,下一笔可用的钱变少。后面的盈亏,都在当时剩下的钱上继续发生。
没买股票的时候,这笔钱就待在账户里。按我们的教学约定,现金不计利息,不会因为股票表格里又出现几个机会,就自动多出收益。
所以,事件收益的平均数,是把每次机会的涨跌拿来做统计;账户收益,是同一笔钱按实际买卖不断变化之后的结果。
它们都可以算对,但不能互相冒充。
那两条靠得很近的线,为什么最后差了6点多?
现在再看上一课的主账户曲线。
一条按约定计入费用和滑点,另一条沿着同样的买卖路线,把这两项都设为零。
我们没有让零成本账户多买几次,也没有替它挑另一批交易,只改了成本这一件事。
| 同一条买卖路线 | 期末总资产 |
|---|---|
| 不计费用和滑点 | 101.35点 |
| 计入费用和滑点 | 94.79点 |
两者相差约6.57点。
“每次只扣一点点,怎么最后差这么多?”
因为这笔钱不只买卖一次。
交易费用会从账户里扣掉,滑点会让买入价稍高、卖出价稍低。到了下一笔,可用的钱已经受到影响;后面的交易又继续在这笔钱上运行。
所以,6.57点是两种成本设置跑到期末的总资产差额,不是把每笔手续费相加得到的账单。
在这次简化实验里,计入费用和滑点之后,同一路线从期末略高于100点,变成了低于100点。但这不是说“只要没有手续费,这套办法就值得投资”,也不意味着现实中的收费一定等于我们设定的数值。
我们能说的是:对于这条路线,成本不是一个可以算完收益以后随手略掉的小尾巴。
到这里,先前那个问号就有了着落。之前我们单独统计机会,现在账户只参加其中一部分,用剩余资金接着买卖,还要承担成本。两边回答的问题不同,最后的数字当然不能直接画等号。
最后少了5点,不代表中途只跌过5点
蛙兄把鼠标从曲线最右边,挪到了中间那段下跌。
“我刚才只看最后的94.79,还以为这一路没怎么折腾。”
我们把主账户的每日收盘记录拉出来。
2021年4月23日,账户总资产曾到达约115.16点。
到2022年4月28日,它降到了约65.40点。
从那个已经到过的高点算,跌幅约为43.21%。这是这条主账户曲线在研究期内,从此前高点到后续低点最深的一次下跌,也就是本次的最大回撤。
它不是说某一天跌了43.21%,也不是说期末一共亏了43.21%。它描述的是账户曾经经历过的一段下跌。

后来账户回升到94.79点,但这不会把前面那段下跌从历史里擦掉。
这就是为什么只看最后的收益,还不够了解一条资金曲线。
这里的回撤按每天收盘时的总资产计算。一天之内更细的波动,我们这轮日频实验没有完整展示。
你不必因此学会一整套风险指标。先能分清“最后剩多少”和“中间曾跌多深”,就已经比只盯着期末数字多看见了一件重要的事。
晚几天出发,经历也可能不同
看完主账户,再回头看看另外九个。
同样从100点开始,规则一样,但在每隔十个市场交易日启动一个账户的这一轮里,最高收益为−5.21%,最低为−17.06%,中位数为−9.37%。
这让我们知道:主账户的结果不是这组出发安排里唯一可能出现的结果。换个时间开始等待,可能赶上不同的首次买入,之后能参加的交易也可能不同。
但别急着把十个账户当成十次完全不同的经历。
比如,A03在2月1日启动,A04在2月22日启动。两者第一笔买入不同,完整路线也不同,却仍然共享了33次买入事件。
看起来是两本账,后面很多页记的其实是同一批买卖。
而且,所有账户都在同一天结束。晚出发的人少经历了一段行情,所以结果差异不只是“早几天、晚几天的运气”。不能只按最终收益排个名,就说哪一天出发最好。
十个账户都超过了各自同期指数,也只能如实说明这一轮的结果,不能翻译成“以后一定跑赢”。
这次错峰检查的价值,是让我们不再只看一个起点、一本账。它让我们多看到了几种经历,但没有替我们预测未来。
也让 AI 解释一下你的那本账
如果你用了自己的筛选器,或者本地账户跑出了不同的结果,不必硬套我们刚才的解释。
你可以继续在 Codex 或 WorkBuddy 中追问,让它从你的记录里找证据,而不是替你编一个听起来合理的故事。
可选对话
请读取当前项目已经完成的2021—2022年账户回测摘要、交易记录和每日总资产记录,带我理解结果。先简要确认我实际使用的规则,找不到文件就让我提供,不要假设你知道课程示例。
请结合真实记录,用大白话解释:账户实际参与的机会与之前的事件研究有什么不同;费用和滑点是否改变了结果;最后的收益与中途最深的下跌分别是多少、在说什么。若有错峰账户,也说说它们哪些经历相同、哪些不同。没有同一买卖路径的零成本对照时,请说明暂时无法精确区分成本影响,不编造差额。没有记录支持的原因请明确说无法确定,别把所有差异都归到一个原因上。
只解释已保存的结果,不重新搜索参数或运行新的策略实验,不读取2023年的行情、指标、信号或收益。把主要解释简短补充到已有研究摘要中,保留原来的数字;如果我没听懂,就拿其中一笔真实交易继续讲。
你不需要拿到一份术语齐全的报告。能顺着记录说明“这笔钱为什么买了这次、跳过了那次,最后的数字该怎么看”,比复述一串指标名称更有用。
这段路看明白了,下一段呢?
蛙兄终于把那两张表分开了。
一张在统计机会,一张在记录同一笔钱走过的路。它们不是谁把谁算错了,而是各自回答了不同的问题。
我们也看见了:这条路线在研究期里超过了指数,却没有让账户盈利;期末数字之外,还有中途的下跌、交易成本,以及不同起点带来的不同经历。
这些都是值得留下的研究结果,不需要为了让故事好看,把它们改成另一种样子。
不过,还有一个问题没回答。
买入筛选器和卖法,是看着这段研究数据选出来的。现在连账户怎么用钱也说清楚、跑过一遍了。
如果不再改规则,换到那段没有参与挑选规则的数据里,会怎样?
下一课,我们就带着已经确定的方案,打开2023年的信封。
课后讨论
留下你的问题、理解或不同意见,也看看其他学习者怎么想。