A 股股指期货没有免费午餐
——三次转向、一个不存在的开源包,和一段 48% 缺失的数据
目 录
类型:原创审计研究 | 素材:一份外部方案的三轮审计 + 十年数据实证 系列:私家智囊·研究 第 8 篇 | 成稿:2026 年 9 月
⚠️ 阅读须知(请先读完这一段)
- 本文不是投资建议,也不构成对任何证券、产品或衍生品的评价。 本文记录的是审计过程,不含任何可照搬的操作规则。
- 本文涉及杠杆类衍生品,风险等级显著高于普通投资。 本文的结论是否定性的——它得出的答案是"不构成可靠的收益来源"。本文不推荐任何人参与相关交易。
- 本文所有数字都是历史回测结果,不是收益预测,也不表示未来会发生同样的结果。
- 本文对涉及的机构、人员、产品与标的名称一律匿名化处理,不列出名称——审计对象是论证方法,不是任何一家机构。
- 本文的方法与数据来源见文末。
引子:一份看起来很专业的方案
研究的起点,是一份从外部递进来的方案。
它写得很像样:策略有名字(通道突破 + 波动率风控),有分工(参数顾问、回测、报告),有数据来源,有预期指标,还列了几份"可以复用的券商与高校开源成果"。
它的问题不在于错,而在于——里面有几处是编造的。
这篇文章记录的是一次完整的审计过程。它的结论是"这条路走不通",但真正有价值的不是这个结论,而是三次转向里每一次的判断依据。
一、先说结论
- 拿到一份方案,先审"方案本身",别急着测策略。 我们在跑第一行代码之前,就已在方案里找出 3 处致命缺陷——每一处都足以让结论失效,且都是不修正就无法落地的那一类。
- 方案里引用的"现成资源",四项里有三项不存在。 链接、文件名、精确数字,全部检索不到。
- 幻觉有可识别的特征。 我总结出三条,其中一条几乎是"指纹级"的。
- 轮到怀疑自己的结果。 我们中途算出一个很漂亮的数字(报出 31.4% 的年化),独立复现的结果是 −0.7%——差了 32 个百分点。
- 再翻下去发现,48% 的数据是缺的——不是模型错了,是底座漏了。而两条路最终都不构成可靠的收益来源:A 股股指期货上没有免费午餐。
以上五条里,第 2 条和第 5 条是本文认为最可复用的:一条讲怎么识别不可信的输入,一条讲怎么识别不可信的结果。
二、第一道检验:先审方案,别急着测
大多数人的做法是:拿到方案 → 直接跑回测 → 看结果好不好。
我们的做法是:先逐条质问方案本身。 结果是 3 处致命 + 5 处重要缺陷。
三处致命的,都不是"精度不够",而是"在这个市场里根本无法执行":
| 缺陷 | 要害 |
|---|---|
| ① 漏掉了持仓限额规则 | 该品种在样本期内长时间存在开仓限额。方案假设双向自由开仓,但在限额期内程序化双向交易实际做不了。回测跑得再漂亮,也是跑一个不存在的市场。 |
| ② 成本模型漏掉了平今仓手续费 | 该品种当日平仓的手续费约为隔夜平仓的 15 倍。而方案的信号频率加止损设置,极易触发日内开平——成本被低估了一个数量级。 |
| ③ 数据前提不成立 | 方案依赖的"十年分钟级数据",其免费接口只保留最近约 1 个月。也就是说,方案设计所依赖的那批数据,免费根本拿不到。 |
五处重要缺陷里,还有一条特别典型:方案用了一个在国内并不存在的波动率指标(该指数的历史序列早已停止发布),来作为仓位调节因子。它引用的是一个在本土市场无法计算的量。
教训:一份方案的"专业感"和它的"可执行性"是两件事。成本模型、交易规则、数据可得性——这三样只要有一条不成立,后面所有数字都没有意义。
三、第二道检验:它引用的"现成资源",三项不存在
方案的后半部分建议"复用成熟的券商与高校开源成果,避免自己重复踩坑"。
方向没问题。但它引用了四项具体的资源。我们逐项做了检索核验:
| 引用项 | 声称的内容 | 核验结果 |
|---|---|---|
| 某券商"滚贴水策略开源版" | 一个数据压缩包、一个回测脚本、实盘验证、样本外收益区间 | 机构确实存在,但该"开源成果"不存在:发布渠道是付费平台,声称的文件名全网无痕 |
| 某券商"库存动能模型"GitHub 仓库 | 特定月份更新、夏普从某值提升到某值、一个具体的 Python 文件名 | 研报存在,但"复现仓库"与文件名均无痕 |
| 某高校"股票回报可预测性"复现项目 | 一个能自动识别"92% 数据缺陷"的脚本 | 未检索到该项目,"92%"无出处 |
| 某机构"技术指标回测规范" | 三条阈值指标 + 一个 25 品种数据集 | 原则可取,但阈值来源不明、数据集无痕(半幻觉) |
此外,支撑全文的三个对比数字("效率 4.2 倍""可靠性提升 63%""92% 的数据缺陷")——全部无出处。
结论:四项引用,三项确认为虚构,一项为半虚构。
幻觉的三条识别特征
这次核验里,我总结出三条可复用的判据,其中最后一条几乎是指纹级的:
① 精确到小数点的对比数字。 "效率 4.2 倍""可靠性提升 63%"——这类数字的共同点是:精确、好看、无出处。 真实的统计结论通常附带口径与区间;编造的数字只给结论。
② 全网无痕的文件名。 一个具体的压缩包名、一个具体的脚本名,看起来很可信。但如果全网检索不到任何痕迹,它就不是"冷门",而是不存在。
③ 术语的误用。 这是最锋利的一条。方案在描述期货合约切换时,用了一个属于股票退市的英文术语。两个场景毫无关系。 技术术语用错地方,是生成痕迹最直接的暴露点——因为术语是"知道才会用对"的东西,编造者只能从相似语境里搬。
顺便说一个好结果
检索过程中确实找到了真实存在的开源资产——几个成熟的量化回测框架和研究复现项目。
但把它们摊开看会发现一件事:它们全都是"框架类""选股类"的资产,没有一个是方案所声称的那种"清洗好的期货数据包 + 一键复现的策略"。
也就是说:方案声称的那类核心资产,在开源世界里并不存在。数据清洗与策略验证这两件事,无法外包,只能自己做。
(顺着这个方向找,也确实找到了一份真实的卖方研报——它给出的方向性证据反而支持了我们的下一步:那条路的风险特征比趋势型策略好一个数量级。于是有了第一次转向。)
四、第三道检验:怀疑自己的中间结果
转向之后,我们用自建的数据和引擎,跑了另一条路的回测。
第一次跑出来的结果非常漂亮:报出的年化是 31.4%,风险调整指标 2.31,最大回撤只有 −11%。
这份结果被当场质疑了。 质疑来自独立的一方,理由只有一句:
"这个指标在真实市场里极为罕见。一个简单的机械价差策略达到这个水平,要么市场结构极其特殊,要么另有一个我们没看见的原因。请把逐笔清单公开。"
于是我们做了一件现在回想很关键的事:没有庆祝,也没有急着解释,而是要求披露每一笔。
独立复现的结果是 −0.7%。
相差 32 个百分点。 一个漂亮的数字,和一个几乎是零的结果。
分歧没有消除之前,不出实盘指令。 这条原则当时就被明确下来——它不是流程装饰,它拦住了一次真金白银的投入。
五、逐笔审计:48% 的数据是缺的
接下来是逐笔核对。查下去发现了两个事实:
第一个:上百次持仓移仓的结算金额全部为 0。这不正常——移仓必然涉及价值结转。
第二个,也是根因:某品种的价差序列,只有一半的交易日有值——缺失率约 52%。
根因是一个定义错误。当时把"近月合约"定义成了"到期月份等于当前自然月"的那个合约。这个定义在每月交割日之后就失效了——于是每个月有约 10 个交易日,这个值算不出来,数据被静默丢弃。
被丢掉的是交割日之后那一段的价差变动。而恰恰是这一段,决定了策略账面上的盈亏。
把定义改成"按到期日最近排序、交割后自动切换",完整率从约 52% 升到 94%。
这就是"漂亮数字"的来源:不是模型聪明,是底座漏了。 数据完整性不是质量指标,它是可信度的第一道关。
六、修好之后,真相是 2–3%
修正定义、重跑之后,结果变成了这样(按四类宽基股指期货品种分别看):
| 品种 | 全周期表现 | 剔除极端年份后 |
|---|---|---|
| 沪深300 期货 | 年化约 13.6%,回撤 −25.4% | 常态化年化仅约 2.8%,回撤 −10.9% |
| 中证500 期货 | 年化约 13.6%,回撤 −49.0% | 常态化年化仅约 1.6%,回撤 −24.5% |
| 上证50 期货 | 年化约 8.6%,回撤 −24.4% | 常态化年化约 2.0% |
| 中证1000 期货 | 负 | 负 |
看清这张表的关键在最后一列:
全周期的亮眼表现,几乎全部来自一个极端年份——那一年贴水极深,单年贡献了极高的收益。 剔除那一年之后,四个品种的常态化水平落在 1.6%–2.8% 之间。
而且还有一段不能忽略:在贴水收窄的几年里,这些策略普遍连续亏损。
基差周期本身,就是这个策略最大的风险源。
那么,趋势型那条路呢?
回头看第一道检验之后跑出的结果,两条路对比起来更清楚:
| 路线 | 结果 |
|---|---|
| 趋势型(双向) | 十年为负,两个独立实现分别得到约 −46% 与约 −26%,风险调整指标接近 0,最大回撤约 −70%,十年只有十几笔交易 |
| 趋势型(仅做多方向) | 转正,但风险调整指标仅约 0.24,回撤 −30%,仍不达可执行标准 |
| 趋势型(仅做空方向) | 为负,是主要的亏损来源 |
| 结构型(跨期,修正后常态化) | 年化约 2–3%,回撤约 −11% |
关于参数还有一个必须说的结果:我们对趋势型策略做了 320 组参数的完整网格扫描——
达标组合:0 / 320。
也就是说,这不是"参数没调好",而是结构性的:那套规则在这个市场上不成立,怎么调都不成立。
七、为什么"做空必死"这件事值得单独说
上表里有一行特别值得停下来看:同一套规则,只做多头是正的,只做空头是深度为负的。
这不是偶然。原因有两条,都与这个市场的性格有关:
- 极端反弹剧烈。 样本期内出现过数次急促的向上修复行情,这类行情对空头是灾难。
- 结构性偏移不利于做空。 该市场长期存在的贴水结构,本身就对空头持仓不利。
合起来的效果就是那句话:做多勉强活,做空必死。
这提醒一件事:一个策略在不同方向上的表现可以完全不对称。 如果只报"双向合并"的总成绩,这个不对称就被平均掉了——而它恰恰是理解这个策略为什么会死的钥匙。
八、结论:没有免费午餐
把两条路放在一起看:
| 路线 | 赚的是什么钱 | 判定 |
|---|---|---|
| 趋势型 | 赚预测的钱 | 不稳定;且方向高度不对称,做空方向是亏损黑洞 |
| 结构型(跨期) | 赚结构的钱 | 常态化只有 2–3%;极端年份不可外推;贴水收窄期普遍连亏 |
两条路都不构成可靠的超额收益来源。
但这次审计留下的东西,比这个结论重要:三次转向,每一次都是"不信任某个输入"的结果——不信任外部方案的可执行性、不信任它引用的资源、不信任自己算出的漂亮数字。
最后一次不信任,救回了 32 个百分点。
九、这条研究的边界(诚实清单)
- 结论是否定性的:它说明某些做法不成立,不能反过来推断"什么一定能成"。
- 结构型路线的常态化水平约 2–3%,且主要超额来自一个极端年份,不可外推。
- 涉及杠杆:其中一份参照材料使用的是数倍杠杆假设。杠杆会等比例放大亏损,且会引入强平风险——本文不复述、也不推荐任何具体杠杆水平。
- 参照材料与外部引用的可信度有限:收益数据来自卖方研报、未计滑点,不能直接采信;另有部分外部引用无法核验真伪——"检索不到"不等于"确定不存在",本文的表述是"未发现痕迹",不是"已被证伪"。
- 两处关键修正(合约定义、数据完整性)是本次审计的核心产出,其余口径可能与更严谨的实现仍有细微差异;且样本为十年左右,对基差周期这类慢变量而言,统计功效有限。
金句墙
一份方案的"专业感"和它的"可执行性"是两件事。
精确、好看、无出处——三个特征同时出现时,先怀疑数字。
术语用错地方,是生成痕迹最直接的暴露点。
数据完整性不是质量指标,它是可信度的第一道关。
不是模型聪明,是底座漏了。
分歧没有消除之前,不出实盘指令——这条原则拦住了一次真金白银的投入。
一个策略在不同方向上的表现可以完全不对称,而总成绩会把它平均掉。
行动清单:审计任何外部方案的 5 个动作
- 先审可执行性,再跑回测。 查三样:交易规则(有没有限额/限制)、成本模型(有没有漏项)、数据可得性(宣称的数据真的拿得到吗)。
- 逐项核验引用。 每一个"现成资源""权威数据""行业指标",都要能检索到出处;检索不到就记"无痕",不记"可疑"。
- 警惕无出处的精确数字。 越精确越要问口径。
- 给自己的漂亮结果设一道否决权。 谁都可以质疑,质疑未消除前不进入下一步。
- 先查数据完整性,再看收益。 缺失率是比收益率更靠前的指标。
本文不提供任何投资行动建议。本文涉及杠杆类衍生品,风险等级显著高于普通投资,作者不推荐任何人参与相关交易。
数据来源与样本说明
★ 本文所有案例与测算均为作者基于公开数据的独立整理(原创),未引用第三方研究成果作为结论依据。
| 项目 | 说明 |
|---|---|
| 数据来源 | 交易所官方历史数据(月度公开数据包)+ 公开行情接口 |
| 数据区间 | 约十年(覆盖多轮基差周期) |
| 数据构成 | 多类宽基股指期货品种的全部历史合约日线;自行构建价差序列 |
| 效率说明 | 因公开接口逐日抓取效率极低(约 30 小时),改为官方月度数据包直取 + 并发,约 15 分钟完成十年 |
| 成本假设 | 佣金双边 + 卖出税费 + 每边滑点;含当日平仓费率(该项最初被遗漏,见正文) |
| 校验方式 | 两套独立实现交叉复现;逐笔明细审计;参数全网格扫描 |
| 关键修正 | ① 近月合约定义错误(按到期日排序,交割后自动切换)→ 数据完整率约 52% 提升至 94%;② 移仓结算口径 |
| 已知局限 | 结论为否定性;结构型路线的超额主要来自单一极端年份;未计部分实盘摩擦;外部引用部分无法核验 |
关于可复核性:本文对机构、人员、产品与品种名称作匿名化处理(理由见开头「阅读须知」)。但上面已给出数据来源、区间、成本口径、校验方式与关键修正内容——读者可据此自行构造同类数据,用同样的口径复跑。能复核的是方法与过程,不是几个名字。
本文研究对象为审计方法,不对任何机构、产品或标的作出评价、推荐或投资建议。
免责声明
本文为原创研究分享,所载内容与数据均来自公开渠道,仅供学习与方法探讨之用。
本文不构成任何投资建议、要约或承诺,不指向任何具体投资标的。本文对涉及的机构、人员、产品与标的名称采用匿名化处理,亦不构成对任何机构或个股的诊断、评价或影射。
本文所列百分比与统计量均为特定样本与特定区间内的历史回测结果,其中结构型路线的超额主要来自单一极端年份,常态化水平远低于全周期数字,不代表未来收益,也不构成任何形式的收益预测或承诺。
本文涉及杠杆类衍生品,其风险等级显著高于普通投资,可能导致本金全部损失。本文的结论是否定性的,作者不推荐任何人参与相关交易。
投资有风险,决策需谨慎。请根据自身实际情况独立判断,并自行承担相应后果。
本文属「私家智囊·研究」系列。同系列已发布:开栏篇《从企业价值到资本配置》,第 2 篇《"跌了这么多,总该抄底了吧"》,第 3 篇《"涨得多的,以后还会涨"》,第 4 篇《怎么杀死一个看起来很赚的策略》,第 5 篇《先写死标准,再跑数据》,第 6 篇《我把自己的铜策略定级为 C 级,然后停止优化》,第 7 篇《海龟突破:walk-forward 之后还剩多少》。