HoppyQuant
EN

第 5 课

打开 2023 年的信封

保持研究期选定的规则不变,用封存的 2023 年数据检查账户结果哪些重复、哪些没有。

蛙兄已经看懂了那本账:跑赢指数,和自己赚到钱,不是一回事。

接下来,终于轮到这轮九拍研究一直留着的2023年数据了。

可他把文件找出来以后,又有点犹豫。

“要不先把规则再改好一点?现在这条曲线,拿出去没什么底气。”

“改到什么时候?”蛙博士问。

“至少改到我看着比较满意吧。”

“那我们可能又要在旧数据里待很久了。”

蛙兄看了看屏幕。之前换筛选器、试卖法,不就是一边看结果,一边作选择吗?

这当然是研究的一部分。但还有另一件事没做:选好的方案,离开帮我们选规则的那段数据,还会表现成什么样?

这次,我们先不改了。

蛙兄和蛙博士准备打开2023年的信封,先保留已定规则
图 1|打开 2023 年以前,先保留研究期已经冻结的规则。

这次换的是数据,不是答案

前面,我们用2021—2022年找机会、试条件,也看过这套账户是怎么运行的。现在把同一套办法带到2023年,不再根据新结果临时换行业、改卖出日。

这就是之前留出一段数据的用意。它没有帮我们挑选这轮买卖规则,现在可以用来看看:那些在研究期里看见的表现,到了另一段时间还会不会出现。

我们把它叫作留出验证。

这里有个小补充:之前做数据体检时,用过2023年的日期可用性来检查缺口。所以不能说这段数据完全没有碰过;我们没有用它的价格和收益来挑选这轮九拍方案。

“原规则带过去,是把之前买过的股票再买一遍吗?”

不是。我们带过去的是怎么找机会、什么时候买卖、钱怎么用,不是一张照抄的交易名单。

2023年出现什么新机会,就按规则处理什么。没有机会时,也可以一直拿着现金。

开封前,先和AI对一下约定

打开你的研究项目,继续使用Codex,或者WorkBuddy。

不用重新安装环境,也不用另找一套回测程序。先让AI读懂项目里已经留下的规则和研究记录。

你可以这样说:

交给 AI 研究助手

我准备把当前项目已经确定的买卖方案,拿到2023年做留出验证。请先读取已有研究交接、买卖规则和账户规则,简短复述我们最终选了什么,不要自行换成另一个历史候选版本。找不到文件或规则互相矛盾时,请先问我。

这次先约定:验证期为2023-01-03至2023-12-29;每个账户重新从100点现金、空仓起步,不继承之前的持仓和盈亏,但股票的历史计数和指标要接续。十个账户分别从验证期首个市场交易日之后第0、10、20……90个市场交易日启动,最早者固定为主账户。不按结果再改起点,相同交易路径也保留。

买卖、资金、费用、滑点和期末处理沿用当前已定规则。请把这些整理成一份简短的验证约定,单独保存,不覆盖旧研究。先不要读取或计算2023年的价格、信号和收益,等我确认后再运行。

这里真正需要你看一眼的是:AI复述的,还是不是你前面选好的那套办法?

课程参考路线仍是:从原来通过体检的公司中,只考虑PY-10“出行网络”;下行九拍完成后,下一根有效日K开盘进入,买入日算第1根,第10根收盘退出。每个账户100点,不拆资金,一次只持有一家;费用和滑点也照旧。

如果你之前保留了自己的筛选器,就让AI接着用你的版本。不要为了方便对照,悄悄把个人方案换成课程方案。

这次重新给账户100点,是为了单独观察2023年的表现。它不是上一段账户亏了钱,偷偷往里面补钱;我们会把两段结果分开保存。

至于跨年时九拍数到几,也不需要你手算。让AI接着已有历史往下数,别因为日历翻到了新一年,就从头开始。

可以了,让它跑一遍

确认约定以后,就可以开封了。

这一轮仍然保留两份结果:一份把每次机会单独算,另一份让有限的资金实际参与买卖。上一课刚刚分清的两件事,现在一起带到新时期看。

动手试试

我确认刚刚保存的验证约定。现在请按它实际运行2023年的留出验证,不修改规则或重新挑选参数。

第一份结果:把符合已定买卖规则、实际进入日在2023年内的机会逐个计算,沿用之前的事件收益公式,不考虑资金占用,不扣交易成本。只有在2023年内完成退出的事件才进入收益统计;来不及完成、或者还没有下一根可进入K线的信号单列,不记为零收益,不向2024年延伸。2022年已确认、原定进入日在2023年的机会可以参与,已经错过的买点不能补买。

第二份结果:按已确认的十个起点运行有限资金账户,每个账户与各自同期沪深300参照比较,另保留同一买卖路径的零费用、零滑点对照。账户不能提前查看未来是否有完整退出窗口,再决定今天买不买;期末未完成持仓按既定规则估值保留。

请保存逐事件结果、交易记录、每日总资产和一份大白话摘要,画出主账户曲线,以及最后一个账户启动后、每天固定十账户的中位数曲线。中位数保留此前盈亏,不重新归一,指数也使用各自匹配参照的中位数。新结果单独保存,不覆盖研究期文件。

请自行检查信号确认早于进入、历史计数没有清零、资金没有重复使用、成本和估值正确,并用另一种计算方式复核关键结果。重复运行同一程序检查是否一致,告诉我实际保存了哪些文件、查了什么、有没有未解决的问题。普通技术错误请继续排查;结果不好不算程序错误,不要因此调整规则。

这段话不是要求你等着收一份“成功报告”。

等AI完成后,打开它保存的曲线和摘要,看看两份结果有没有分开、约定有没有照做。如果它只写了一段预测,却没有实际运行和留下文件,就继续让它执行。

如果你的项目之前写过“禁止读取2023年”的限制,可以明确告诉AI:现在允许这次已确认范围内的验证,其他研究边界不变。不需要因此删除所有约定。

接下来看看课程实验得到了什么。你也可以先完成自己的运行,再继续往下读。

第一封结果:每次机会,没那么好看了

我们先不看账户,只把符合课程规则的机会单独拿出来。

这里回到“完整持有十根”的那组研究期结果,共151次;之前比较不同卖法时,需要每次机会都有二十根数据,所以只用了150次。两张表的样本要求不同。

看什么2021—2022研究期2023验证期
完整十根事件数15159
平均收益2.71%−0.42%
收益中位数1.93%−0.11%
正收益比例62.25%44.07%

蛙兄原本准备找几个更亮眼的数字,结果先看到了两个负号。

之前这些机会的平均收益是正的,中位数也是正的。到了2023年,两者都略低于零,赚钱的事件也不到一半。

研究期里看到的那种正收益表现,这次没有照样出现。

这59次不是为了让结果好看,临时挑出来的一部分。我们一共得到67个候选:59个在当年完成十根,7个到年底还不够十根,另1个没有下一根可进入的K线。后两类单独保留,没有把它们算成零收益。

“所以,九拍彻底不行了?”蛙兄问。

这一步还不能这么下结论。我们测的是选定行业加十根退出的这套方案。这次没有重新做随机日期对照,也没有与不筛行业的版本比较。

因此,我们可以说这套方案的逐事件正收益表现没有重复,却不能顺手把它改写成“九拍这个信号在任何情况下都没用”。

先把眼前的结果说准,比急着宣布胜负更重要。

第二封结果:账户还是亏了,但仍然跑赢指数

再打开主账户曲线。

2023年主账户的扣成本、零成本与同期沪深300参照曲线
图 2|2023 年主账户、零成本版本与同期指数参照。
看什么2023年主账户
100点最后变成多少98.38点
账户净收益−1.62%
同期沪深300收益−11.22%
比指数高多少9.61个百分点
最大回撤15.12%

“这一段我会看了。”蛙兄说,“自己少了钱,但比指数少跌了一些。”

对。不是所有结果都一起反转了。

逐事件平均收益转负,而主账户仍然跑赢同期指数。这两句话不打架:前者统计每次机会,后者记录一笔有限资金,再与同期市场参照比较。

主账户实际买入17笔,其中16笔完成退出,年底还留着1笔。它不是把59次完整事件全买了一遍,期末98.38点也不全是已经卖出拿回的现金。

同一买卖路线如果不计费用和滑点,期末是101.69点;计入后是98.38点。上一课看到的成本影响,在这里依然需要算进去。

还有,别因为之前亏5.21%、这次亏1.62%,就直接宣布“策略进步了”。规则没有升级,两段行情也不一样:前一段是两年,后一段是一年,不能只拿累计收益排高低。

另外九个账户,有没有不同经历?

有,而且这次有几个账户赚到了钱。

十个固定起点的结果是:

  • 4个账户盈利,10个都超过各自同期指数;
  • 收益中位数为−1.62%;
  • 最高收益为21.93%,最低为−5.20%;
  • 共7条不同的完整交易路径,相同路径仍然保留。
2023年十个错峰账户及各自指数参照的逐日中位数,保留此前盈亏
图 3|2023 年十个错峰账户与各自同期参照的逐日中位数。

蛙兄一眼就看见了21.93%。

“这个挺好!要不以后就按它那天出发?”

问题是,我们现在已经知道那天出发的结果了。

十个日期是在开封前定下的,主账户也早就确定了。如果看完以后再把表现最好的那个推到前面,就变成了又按答案挑一次。

而且,后出发的账户少经历了一段行情,不同路径之间也可能共享很多笔交易。它们并不是十次互不相关的验证。

这张中位数图让我们不只盯着最好的那个,但它也不是一只真的账户。我们仍然需要把十个原始结果都留下来,包括重复的、亏损的,以及看起来最诱人的那一个。

那这次到底算什么结果?

不必硬塞进一个“通过”或“失败”的框里。

就这轮课程实验,我们可以把结论写成这样:

本次记录

在2023年的虚构教学数据里,选定方案的逐事件平均收益和中位数转负,研究期的正收益表现没有重复。主账户仍然亏损,但超过同期沪深300;十个固定起点有盈有亏,不能把最好的一个当成整套方案的代表。

它没有我们最开始想象的“找到一个规律,然后一路赚钱”那么整齐,但这就是实际跑出来的结果。

如果你的结果不同,也先别让AI把数字改成课程这一组。先问清楚:用的是不是同一份数据、同一版买卖和账户规则?它有没有把事件收益和账户收益混在一起?

你采用了自己的筛选器,本来就可能得到不同结论。采用相同规则却有明显差异,则让AI回到实际记录里检查;不要直接要求它“把收益修到某个数字”。

最后,让AI把你这一轮看到的结果和仍然说不清的地方,补充到验证摘要里。原研究期摘要保留,不用把旧结论涂掉,假装当时就知道后来会怎样。

看完以后,还能再改吗?

当然可以有新想法。

只是,看过2023年的答案以后,再根据它改出的版本,已经不是刚才那套未经这段收益挑选的方案了。

这不是禁止继续研究,而是别把“看过答案后改对了”,说成“没看答案也答对了”。

蛙兄最终没有删掉那两个负号,也没有把21.93%的账户改名为“主账户”。

他把结果存了下来。

从最初“数到9是不是就能抄底”,到现在有规则、有实验、有账户,也有一段没有帮我们挑规则的数据给出的反馈,这次研究已经走了很远。

但它仍然只是虚构教学数据和简化假设下的实验,不构成任何现实投资建议。

最后一课,我们回头看看:经历了这一整段过程,除了几张有涨有跌的曲线,我们究竟学会了什么?

课后讨论

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