回测踩坑记:涨跌停、T+1 和费用口径,少算一样结果全变

举报
yd_249282546 发表于 2026/10/25 06:54:15 2026/10/25
【摘要】 回测信号没问题也可能全错:数据更新、涨跌停与T+1、费用口径和定义取错,都会让结果失真;先统一口径、再看收益率。

刚开始自己写回测的时候,我以为只要把买卖信号写对,结果就可信。跑了几轮才发现,信号本身没问题,死的全是口径。

第一个坑是数据更新。我的回测一开始只维护 656 只大盘股,后来想扩到全市场 4935 只,才发现有 2068 只停在 9 月 30 日、2349 只停在 10 月 15 日——信号是按旧数据算出来的,看着漂亮,全是假的。后来加了全市场回填,数据口径统一了,策略的真实表现才露出来。教训很简单:跑策略之前,先查一遍每只票的最后更新日期。

第二个坑是涨跌停和 T+1。A 股涨停买不进、跌停卖不出,今天买明天才能卖,这些规则不写进引擎,胜率会被系统性高估。还有 ST 票的 5% 涨跌停,我一开始也没单独处理,小盘回测里这是个不能忽略的口径。现在我的做法是:涨跌停、停牌、T+1 全部按真实规则处理,宁可少算几笔信号,也不用假信号充数。

第三个坑是费用。佣金万 2.5(最低 5 元)、卖出印花税 0.05%、过户费万 0.1,单笔看着都不大,但短线策略一年几百笔下来,费用能吃掉一大块收益。不算费用跑出来的年化,实盘根本复现不了。

还有一次是定义取错了:策略的第一版把买点定义写偏了,测出来全是假信号,后来重写定义、重新跑才作数。那次之后我立了个规矩:先把规格(定义、确认条件、离场)写清楚再开跑,跑完先审计定义对不对,再看收益率。

回测这东西,代码不难,难的是口径。信号可以慢慢优化,口径错了,优化全是白搭。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。