他跑了三十九次回测,赚钱的那次他改了参数

股票 · 今天 · 15 人浏览

三十九次。同一套逻辑,股票池也没换过,只是每次改点参数。最后一版跑出来年化百分之二十六,十万本金十年变一百万。

他说这数字他不信,第一反应是想让别人也跑一遍。找了两个人,一个真跑了,另一个没跑。

换平台是因为数据口径

他现在用的是两个免费的回测平台,聚宽和米筐,注册不要钱,浏览器打开就能写 Python,能取历史行情,能模拟下单。数据按年有上限,超了得等。

一开始他在自己电脑上写脚本,用 pandas 拉数据,慢慢发现麻烦:数据源得自己一个个找,停牌怎么处理、复权怎么算、前复权后复权差多少,每一个都得自己踩一遍。有一回他把某个除权日当成了真实下跌,策略回测直接废掉,排查了一晚上。那晚他喝了三罐可乐,键盘的 F 键从那天起就不太灵了。

换平台以后第一个好处是快。同样一个策略,本地跑要二十几分钟,平台上三四分钟。他那三十九次里有二十多次是熬夜跑的,第二天照常上班。

第二个好处他提得最多:口径是统一的。他说这个比什么智能选股都重要,两套数据算出来的收益放不到一张纸上比。

他改了十九个参数

回测最会骗人的地方,数据反而排在后面,问题出在他自己身上。

他一开始写的东西很简单:均线金叉买、死叉卖,跌百分之八止损,就这么点内容,跑出来年化百分之九,看着还行。

然后他开始改。加过滤条件,去掉 ST 股,只留某个行业,仓位从满仓改成八成,止损从百分之八改成百分之七……来回改到第十九个参数,回测年化变成了百分之二十六。

他给我看那张表格的时候,手指停在最右边那一列。那列数字好看得不像话。

"我改到第十九个参数的时候,逻辑早就找不到了,找的只是数字。"——这句是他自己说的,我原话记的。说完他还补一句,这话他到第二年才想通,想通之后又改了两个参数。

我问他那两个参数改了什么。他说不记得了,说参数表他存了三个备份,但备份命名都是按日期排的,他懒得翻。

回测和实盘那段缝

真正让他停下来的不是年化数字,是后来那半年。

策略跑完他实盘做了一段时间。前两个月还行,第三个月开始他发现回测里那个"跌百分之八就卖"的规则,他一次都没执行到——真跌到那个位置的时候,他手比脑子慢,等他反应过来,价格已经跌了十二个点。

他后来复盘,说这事的根子在于回测里卖出是零成本的,实盘卖出有手续费、有冲击成本、还有他自己犹豫的那几秒。

"回测里那个我,是机器人。"这句也是他说的。

改法他试过好几个,最有用的是把回测改成逐笔推送,信号出来就提醒,剩下的手工做。回测跑起来慢了十几倍,他说慢点无所谓,反正他一天也跑不了几个策略。

这套改完也不是没有问题。逐笔推送的意思是每根K线结束他都要看一眼,一年下来大概要看两千多根。有段时间他每天下班第一件事就是看推送,看到眼睛发酸,后来把手机调成只震动。

他说这行当最磨人的地方就在这儿,一个动作你要重复几千遍,重复到它变成纯体力活,脑子反而轻松了。他觉得这种状态还挺适合自己。

现在他只跑一条

他现在只留一条规则,一年改一次,改的时候写个说明为什么。

他说回测平台对他最大的用处,在于逼他把想法写清楚:为什么这个逻辑该有用,逻辑断在哪一步,哪一步需要人判断。写不出来就不跑。

他给我发过一个文档,里面有三十多个这样的说明,都是几句话,最长的两页。他说这些文档现在比代码值钱。

文档是腾讯文档建的,偶尔他会拉那个做金融的朋友进去看一遍。朋友每次只回两行字,一行说数据来源有问题,一行说第二段逻辑跳了。他自己看完改,改完再发。有一份来回改了九版。

后来那个年化百分之二十六的策略他不用了。他说那个数字跟他的账户没关系。

去年他账户是负的。好像是三万八,具体的记不太清了。

(本文为个人学习记录,不构成投资建议。)

炒股 工具 回测 量化
Theme Jasmine by Kent Liao