阶段1综合思维●●●●●

新手三大错误:未来函数、无视成本、无限调参

我的掌握程度:
q-085精讲

先掌握这个答案

三错误详解:①未来函数:shift少写一个、rolling方向反了、财务对齐用报告期、全样本标准化——防错:代码审查清单+截断重跑检验(q-063);②无视成本:「先看信号好不好」的侥幸心理——防错:回测框架默认强制扣费(不可关闭),让没有成本假设的回测直接报错;③无限调参:20日动量试成18/19/21/22日,直到年化最高——防错:参数敏感性报告(参数±20%结果应平滑),调参次数记账(每多调一次,可信度打折)。

先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。

从理解到使用

以信息可得时间对齐

财报报告期结束日不是市场获知信息的时间。对每个特征记录available_at,并确认不晚于决策时点;盘后数据通常不能用于同日收盘前下单。保留历史修订与退市样本,检查删尾重跑是否稳定。

成本必须按成交口径计算

声明换手是单向还是双向,是否有单笔最低佣金、卖出税费、借券利息和期货展期。成交价差、冲击与资金占用不能混为一个固定常数;对费率和参与率做压力测试。

本阶段实战方法 · 把行情数字变成可比较的收益

看股票、基金或策略业绩时,先对齐本金、起止日期、现金流与费用。

  1. 选一个固定区间,记录期初价值、期末价值、分红、出入金和交易费用。
  2. 没有中途出入金时,用(期末价值+已取出分红-期初价值-费用)÷期初价值计算收益;有出入金时先区分时间加权与资金加权。
  3. 用相同区间的基准作比较,同时记录最大亏损;不要单凭一次盈利评价能力。

使用边界

  • 不同期限的收益不可直接排名;年化只是换算,不是未来收益承诺。
  • 模拟价格不是实时行情。普通股票交易手数、T+1和费用应按具体市场规则核对。
背景 · 从一个困惑说起
四大杀手在新手身上的典型化身是三个动作:代码里悄悄用了未来数据、回测不计成本、参数调到图表好看为止。每一个都让「学习」变成「自我欺骗的排练」。
由此产生的问题
三大错误的具体形态和防错机制是什么?
核心概念
三错误详解:①未来函数:shift少写一个、rolling方向反了、财务对齐用报告期、全样本标准化——防错:代码审查清单+截断重跑检验(q-063);②无视成本:「先看信号好不好」的侥幸心理——防错:回测框架默认强制扣费(不可关闭),让没有成本假设的回测直接报错;③无限调参:20日动量试成18/19/21/22日,直到年化最高——防错:参数敏感性报告(参数±20%结果应平滑),调参次数记账(每多调一次,可信度打折)。
为什么需要它
①错误的复利:三个错误常常叠加,回测虚高50%+很常见;②习惯的力量:新手期养成的每个坏习惯都会带进正式研究——现在多花10分钟做对,未来少付一年学费;③诚实的复利:学术界的「预注册」思想(先写假设和参数再跑数据)是最好的解药,量化研究同样适用。
实际应用场景
三件防错工具:①回测框架强制成本参数;②每次实验登记(日期/假设/参数/结果)的实验日志;③「预注册」习惯:分析前把假设写死,跑完不许改口径再重跑「直到好看」。
与之前知识的联系
q-084的宏观认知落到三个微观习惯。q-086的费曼检验会从外部再设一道防线。
⚠ 常见误解
  • 只犯一点点没关系:前视哪怕只影响5%的交易日,也可能贡献大部分超额(错误集中在信息事件日)
  • 调参是优化,不是错误:调参本身中性,无限调参+只报告最好结果=多重检验欺诈;报告分布而非最优值
  • 以后工作了有同事把关就不怕:坏习惯在无人监督的个人研究期养成的概率最大——现在就是养成期

🤖 AI导师

导师会先检查你的前置知识(四大杀手),再用案例、公式和代码帮助理解。此功能需要先启用服务。