和 AI 一起做研究,很容易错过该收工的时候。试完一个想法,又对另一个条件产生兴趣;验证完这个条件,又想换个市场试试。问问 AI,通常就能找到办法。改改代码,就可以再跑一遍。
就这样,我研究系统化交易已经有一年左右了。
这个过程确实有意思。我喜欢把原本只存在于脑子里的想法拿来实际测试。如果每次有疑问,都得先琢磨自己有没有能力实现,大概有不少想法会被搁置。有了 AI,至少能动手试的事情变多了。
不过,能试的事情变多,也有代价。我必须自己决定哪些事情不去试。
比如,回测结果不满意时,总能找到可以调整的地方。可以改一改入场条件,单独看看表现特别差的时期,也可以把策略用到另一个市场。每一次尝试,AI 都能帮忙,通常还能给出一套听起来挺合理的解释。
研究到这里,界限就开始模糊了。修正错误的假设,和不断调整条件直到结果令人满意,在实际操作中看起来很像。因为两者都在改代码,然后重新运行。
所以,需要记下来的东西越来越多。实验开始前,要写清这次想验证什么,什么结果会让我放弃这个想法。看完结果后,还要记录自己改了哪些条件。虽然麻烦,但不记下来,过后连修改的理由都可能被我记得比当时更有说服力。
代码里也有类似的问题。程序跑完,数字出来了,人就容易松口气。但有数字,并不保证计算正确。生成信号的时点和下单时点可能没有对齐,订单数量的取整也可能让原本打算做的交易消失。只看资金曲线,很难发现这些细节。
因此,交给 AI 的任务也得具体。不仅要它实现策略,还要确认某一天为什么出现这笔订单,当时读取了什么数据,数量是怎么算出来的。聊着整体结果,最后往往又回到一笔交易、一行计算上。
这样的工作,从外面看可能没什么动静。忙了一整天,结论也许只是“这个结果还得再检查”。但要是跳过这一步,做下一个实验时,我就不知道自己究竟在依赖什么了。
AI 在这里帮了不少忙。我可以和它一起重新读已有的代码,比较不同运行的结果,寻找遗漏的假设。但它不能替我负责判断:我是不是正把问题引向自己想要的答案。这件事始终还是我的责任。
这也是我想开始写博客的原因。研究的时候,下一个任务总会冒出来,很少有机会好好解释一路是怎么走过来的。写成文字,应该能更清楚地看出哪些地方我真正理解了,哪些地方只是含糊地带过去了。
接下来,我想一次谈一个实验、一个问题:最初为什么觉得值得尝试,实际做了以后有什么不同,又因此改了什么。
看看过去一年积累的记录,短期内应该不会缺写作素材。只是整理这件事,稍微落后了一点。