HoppyQuant
EN

第 4 课

好消息,但还不是策略

读完整体分布、样本依赖和比较边界,理解事件研究中的积极结果为什么还不是交易策略。

蛙兄盯着刚刚跑出来的结果,有点兴奋。

“十日平均收益比随机日期高了不少。那我们是不是可以继续往下做了?”

蛙博士没有急着回答。

“先别急着买,也先别急着往上加新条件。我们得先看看,这次实验到底跑出了什么。”

“表格不是已经写得很清楚了吗?1.35%,比 0.60% 高。”

“那是表格里最显眼的两个数字,不是表格讲完的整个故事。”

一份研究结果,不能只挑最好看的数字读。

平均收益、中位数、正收益比例和收益分布,可能正在从不同方向提醒我们:这次发现确实有点意思,但没有简单到一句“九拍后会上涨”就能说完。

蛙兄指着醒目的平均收益,蛙博士请他先读完平均数、中位数、正收益比例和完整分布。
图 1|先读完平均数、中位数、正收益比例和完整分布。

四个时间窗口,讲的不是同一个故事

我们先把四个观察窗口重新放到一起:

观察窗口九拍平均收益随机实验平均收益中位数随机实验的 5%—95% 区间这一眼看见什么
3 日-0.02%0.20%0.01%—0.39%九拍没有更好,反而略低
5 日0.26%0.32%0.07%—0.58%与随机日期很接近
10 日1.35%0.60%0.23%—0.94%九拍结果明显突出
20 日1.68%1.25%0.76%—1.75%看起来更高,但随机日期也经常能跑到附近

如果只看九拍自己的平均收益,20 日的 1.68% 比 10 日的 1.35% 还高。

但这不代表 20 日的证据更强。

因为我们问的不是“哪个数字最大”,而是“九拍日期有没有比普通日期更特别”。

到了 20 日,随机日期的平均收益也跟着升高了。它的常见波动范围最高可以到 1.75%,九拍的 1.68% 仍然落在里面。

换句话说,随便抽一批普通日期,也不难抽出与它差不多的结果。

10 日窗口则不同。九拍平均收益 1.35%,高过了这 1,000 轮随机实验的所有结果,因此通过了我们在实验前定下的弱规律门槛。

这里还有一条很重要的研究纪律:10 日原本就是我们提前选定的主要观察窗口。

如果我们看完答案,才在 3、5、10、20 日里挑一个最顺眼的,就像射完箭以后再把靶心画到箭旁边。数字可能很好看,研究却已经悄悄换了问题。

四个观察窗口的九拍平均收益与随机日期范围;只有提前选定的十日窗口明显越过随机范围。
图 2|四个观察窗口里,预先选定的十日结果最突出。

1.35% 是平均成绩,不是每一次九拍的成绩

蛙兄又看了一眼 1.35%。

“所以,碰到一次下行九拍,十天以后大概就能赚 1.35%?”

“平均身高一米七,不代表房间里每个人都正好一米七。”蛙博士说,“平均收益也是一样。”

把 1,908 次合格九拍事件摊开以后,十日结果是这样的:

观察角度结果大白话怎么读
平均收益1.35%所有事件的收益加起来再平均
中位数0.50%从低到高排队,站在中间的事件只赚了 0.50%
正收益比例53.14%每 100 次里,大约 53 次是正收益
中间 90% 的范围-11.00%—15.82%大多数结果散得很开,亏损与盈利都不少

这张表把 1.35% 还原成了一个更真实的样子。

它不是“每次赚 1.35%”。

它甚至不是“绝大多数时候都赚钱”。

正收益比例只有 53.14%。如果把 100 次九拍放进一个篮子,大约 53 次在十日后是正收益,剩下的大约 47 次没有取得正收益。

中位数只有 0.50%,也比平均数低不少。这说明表现特别好的事件,确实抬高了平均值。

不过,它也不是只靠一两次暴涨硬撑起来的。把最高和最低各 1% 的事件暂时拿掉,平均收益仍有 1.16%;把两端的极端值压回边界以后,平均收益是 1.25%。两项检查仍然保留了原来的方向。

所以,更合适的说法是:

下行九拍完成以后,十日收益整体出现了一点向上的倾向,但不同事件之间的差别很大。

“有一点倾向”与“每次都会反弹”,中间还隔着很远。

1,908次下行九拍的十日收益分布,同时标出平均数、中位数、正收益比例和中间九成事件的范围。
图 3|1,908 次十日收益的平均数、中位数与完整分布。

1,908 次事件,也可能一起淋到同一场雨

还有一件事藏在“1,908 次九拍”这个大数字后面。

这些事件并不是平均散落在每一个交易日。它们只分布在 352 个九拍完成日期上,最多的一天,同时出现了 62 次下行九拍。

现在只看它对研究证据有什么影响。

假设某天下了一场大雨,街上有 62 个人都被淋湿了。

我们当然可以记录 62 个人的结果,但不能把它理解成 62 场互不相关的天气实验。他们很可能只是一起遇到了同一片乌云。

股票也一样。

同一天完成的许多九拍,可能共同经历了相似的市场环境。如果那段时间市场刚好反弹,它们的收益就可能一起变好;如果市场继续下跌,它们也可能一起受影响。

为了看看这种“扎堆”会不会影响判断,课程在主实验之外,让 AI 补做了一轮检查:把同一天、或者相邻一段市场时间里的事件放在一起重新看,而不是把它们当成互不相干的事件。

这是课程额外做的检查,不是上一节要求你完成的步骤。你的 AI 没有生成这项结果,不代表漏做了任务;这里先理解它提醒了我们什么就好。

把“大家可能一起遇到同一段行情”考虑进去以后,九拍比普通日期更好的优势就没那么确定了,也不能排除没有优势的可能。

第一轮确实达到了我们预设的门槛;补充检查则提醒我们,还不能对这个优势太有把握。两件事需要一起记下来。

同一场雨淋湿许多青蛙,说明同一天出现的许多信号可能受到同一段市场行情影响。
图 4|同日信号可能共同受到同一段市场行情影响。

到这里,我们可以怎样描述这次结果?

蛙兄把刚才差点写下的“九拍后会上涨”划掉,重新写了一遍:

在这次研究中,下行九拍的十日表现比同股票的随机日期更突出。这个差异不仅出现在平均收益里,中位数和正收益比例也给出了相同方向。不过,每次九拍的表现相差很大,而且很多信号集中在相同的市场日期,因此目前更适合把它叫作一条值得继续研究的弱规律。

这句话不够激动人心,却比“九拍可以抄底”准确得多。

量化研究不是比赛谁的结论喊得响。

它更像拿着一盏手电筒往前走:照亮一小块,就先说清楚这一小块;还有看不清的地方,也老老实实留在黑暗里。

既然每次九拍不一样,能不能加入一些条件?

读完分布以后,下一个问题自然出现了。

所有合格下行九拍放在一起,已经出现了一点值得继续研究的历史优势。但这些事件的结果并不整齐:有些上涨,有些下跌,有些表现很好,有些表现很差。

那么,如果加入九拍完成时已经能够知道的条件,能不能找到历史表现更好的一组九拍?

例如:

  • 九拍完成时,MACD 处在什么状态;
  • 当时的成交量,相比它自己平时是多还是少;
  • 这家公司当时的市值属于哪一档;
  • 它属于哪个行业。

这些条件不会改变九拍什么时候完成,也不会把买入日期搬来搬去。

下一次实验会先固定同一个买入时点和同一个临时退出规则,再把这些条件一个个放进去比较。

我们还不知道它们会不会让结果变好。可能有条件表现更好,也可能所有尝试都不如原始九拍。

这正是下一次实验要回答的问题,而不是我们现在应该提前写下的答案。

蛙兄合上结果表。

1.35% 还在那里,但它现在不再像一个句号。

它更像下一个问题前面的冒号。

带走一句话

先把平均数背后的分布和扎堆看明白,再问怎样改进结果;研究的下一步,应该从证据里长出来。

课后讨论

留下你的问题、理解或不同意见,也看看其他学习者怎么想。