回测要用多长时间的数据:先算笔数不算年数,日线策略一年只有 25 笔
回测该用多长的数据,这个问题的正确问法不是「几年」,是「几笔」和「几种市场状态」。年数只是这两个量的一个很差的代理:日线策略一年约 250 根 K 线,平均每 10 根出一个信号的话,一年只有 25 笔,要攒到 208 笔的显著性门槛需要 8.3 年。而同样的信号密度放到 15 分钟周期上,半年就够了。这篇把换算表全部给出来。
先给两道门槛,两道都要过:样本笔数 ≥ 208 笔,且覆盖至少三种市场状态(含一次幅度 20% 以上的下跌段)。
一、最硬的那个算式:年数换成笔数
A股一年约 243 个交易日,为便于估算取 250 根日线 K 线。假设你的策略平均每 k 根 K 线出一个信号:
年信号数 = 年 K 线根数 ÷ k
| 信号密度 | 年信号数 | 攒到 50 笔 | 攒到 208 笔 |
|---|---|---|---|
| 每 5 根一个 | 50 笔 | 1.0 年 | 4.2 年 |
| 每 10 根一个 | 25 笔 | 2.0 年 | 8.3 年 |
| 每 20 根一个 | 12.5 笔 | 4.0 年 | 16.6 年 |
| 每 40 根一个 | 6.2 笔 | 8.0 年 | 33.3 年 |
| 每 60 根一个 | 4.2 笔 | 12.0 年 | 49.9 年 |
这张表是本篇最硬的论据:一个每 10 根日线出一个信号的策略,五年数据只能给你 125 笔,t 值约 1.52,够不着 95% 显著。 而 208 笔这个门槛来自 n ≥ (1.96σ/E)²,代入期望值 0.2R、标准差 1.47R 得 207.4,推导见回测样本量要多少。
反过来看,一个每 40 根日线才出一个信号的策略,你想用实盘或回测证明它有效,需要 33 年数据。这类策略在个人交易者的时间尺度上是不可验证的,无论你用多长的历史数据,中间市场结构早就变过好几轮。
二、换个周期,答案完全不同
同样的信号密度(每 10 根 K 线一个),放到不同周期上,年信号数差两个数量级。
| 周期 | 年 K 线根数 | 年信号数 | 攒到 208 笔需要 |
|---|---|---|---|
| 日线(A股 250 交易日) | 250 | 25 | 8.3 年 |
| 60 分钟(每日 4 根) | 1000 | 100 | 2.1 年 |
| 4 小时(加密 24 小时,每日 6 根) | 2190 | 219 | 0.95 年 |
| 15 分钟(每日 16 根) | 4000 | 400 | 0.52 年 |
| 5 分钟(每日 48 根) | 12000 | 1200 | 0.17 年 |
所以「回测一年够不够」这个问题在不同周期上有相反的答案:
做 5 分钟的策略,一年数据给你 1200 笔,笔数远超门槛。 这时候一年的数据在笔数上绰绰有余,瓶颈完全转移到市场状态覆盖上(见第三节)。
做日线的策略,一年数据给你 25 笔,t 值 0.68。 这个样本量下回测出来的胜率盈亏比全是噪声,改参数改的也是噪声。
一条常被忽略的推论:短周期策略不能靠拉长数据解决状态覆盖问题,长周期策略不能靠缩短周期解决笔数问题。 两道门槛必须分开处理。

三、第二道门槛:市场状态覆盖
笔数够了不代表回测有效。208 笔全部来自 2020 年那一段单边上涨,你测的是「这个策略在单边上涨里行不行」,不是「这个策略行不行」。
最低要求是覆盖三种状态:一段明确的上涨、一段明确的下跌、一段横盘震荡。 其中下跌段必须包含一次幅度 20% 以上的回落,因为策略的致命伤几乎全部暴露在这类行情里。
怎么判断你的数据覆盖了几种状态,有一个不依赖主观判断的做法:
把回测区间按时间三等分,分别算三段的期望值。 三段符号一致,说明策略在这几种环境下都成立;有一段显著为负,说明你找到了策略的失效环境,这比整体正期望有价值得多。
再算三段里每段的最大回撤。 如果三段的最大回撤差异超过三倍,说明这个策略对市场状态高度敏感,回测的整体数字被最好的那一段拉高了。
A股的一个现实是:一轮完整的牛熊通常要三到五年展开。所以 A股日线策略的数据长度下限,实际上是被状态覆盖顶到五年以上的,而不是被笔数顶上去的。 两道门槛在日线上恰好指向同一个方向,这也是「五年」这个经验值流传广泛的原因。它是对的,但理由不是「五年这个数字好」。
四、加一年数据到底多买了什么
回测数据每加一年,你买到的是两样东西,价格完全不同。
买到的第一样是笔数,边际价值按平方递减。 t 值和 √n 成正比,从 100 笔加到 200 笔,t 值从 1.36 升到 1.92,提升 41%;从 400 笔加到 500 笔,t 值从 2.72 升到 3.04,只提升 12%。样本从不足到够用那一段最值钱,够用之后加数据的收益很快摊平。
买到的第二样是状态,边际价值取决于新增的这一年是不是新状态。 2021 年再加一个 2022 年,如果两年都是震荡,等于没加。加一年 2008 或 2015 那样的极端段,价值比加五年平常行情都大。
这推出一条选数据的原则:数据不够长的时候,优先往回补含极端行情的年份,而不是往前补最近的年份。 很多人只用最近三年数据,理由是「市场结构变了」,但这三年如果是同一种状态,等于一次状态都没测到。
数据太长也有代价:十五年前的交易制度、涨跌幅限制、费率结构都和现在不同。A股印花税 2023-08-28 才从 0.1% 减半到 0.05%,主板 ST 股涨跌幅 2026-07-06 才从 5% 放宽到 10%。用当前费率去跑十年前的数据,回测收益会被系统性高估。 处理办法是分段设置成本参数,而不是一刀切。
五、数据不够时的三条路
多数人手上没有 208 笔,也没有三种状态。下面三条按可靠性排序,前两条可以叠加使用。
第一条:多品种并行。 同一套逻辑在 10 个相关性低的品种上跑,笔数直接乘以 10,日线策略从 8.3 年压到 10 个月。前提是这 10 个品种之间的相关性要低,高度相关的品种跑出来的样本在统计上不算独立笔数。相关性对有效样本的压缩幅度,参照单一策略怎么过渡到多策略组合里的组合方差表。
第二条:蒙特卡洛重排序。 把已有的 80 笔盈亏打乱顺序重排一万次,能看出资金曲线的分布形态和最大回撤的置信区间。它不增加信息量(还是那 80 笔),但能把「这条曲线是不是靠运气」这个问题回答得比肉眼看图好得多。做法见蒙特卡洛模拟。
第三条:样本外留白。 数据总长的最后 30% 完全不看,参数在前 70% 上定死之后再在这段上跑一遍。这一条不增加笔数,但能挡掉最常见的那个错误:用同一批数据调参再用它验证。回测的其余陷阱见回测的七个致命陷阱。
不在这三条里的做法:延长回测期直到结果变好。 这是过拟合的另一种形式,只是把参数搜索换成了区间搜索。

六、一份可以照抄的判定清单
拿到一个策略和一段历史数据,按顺序过这六条。
第一,数信号。 在这段数据上跑一遍,数出总信号数。低于 50 笔直接停,这批回测不产生任何结论。
第二,算 t 值。 t = 平均 R 值 × √n ÷ R 值的样本标准差。低于 1.96 的话,结论只能写成「方向性提示」,不能写成「策略有效」。
第三,三等分检查符号。 三段期望值符号不一致时,先找出失效的那一段属于什么行情,把它写进策略的失效场景,而不是当异常值剔掉。
第四,查有没有 20% 以上的下跌段。 没有的话往回补数据,补到有为止。
第五,按时间段设置成本参数。 跨越 2023-08 的数据要分段设印花税,跨越制度调整的品种同理。
第六,留 30% 样本外。 参数定死后才动这一段,且只跑一次。跑第二次就不再是样本外了。
六条全过,这次回测的结论可以写进交易系统文档。过不了的,标注清楚卡在第几条,不要把「数据不够」写成「策略有效但需要观察」。
写在最后
「回测多长时间的数据才够」这个问题之所以难回答,是因为它把两个独立的约束压进了一个单位。年数既不度量笔数,也不度量状态,它只是这两者的一个模糊代理。
把它拆开之后,答案变得很具体:日线策略要 8 年左右才够笔数,5 年左右才够状态,取大的那个;15 分钟策略半年就够笔数,但仍要 3 到 5 年才够状态,同样取大的那个。
所以短周期策略的数据长度是被状态顶上去的,长周期策略是被笔数顶上去的。两者的答案碰巧都落在「五年上下」,但走到那里的路完全不同,而路的不同决定了数据不够时你该往哪个方向补。
3秒免费测一下你的”管不住手指数”:journal.xtradingtime.com(记住 3316,就能找到我们)
本文内容仅供教育和参考用途,不构成任何投资建议。K 线根数按 A股每年约 243 个交易日、估算取 250 计,其他市场需按各自交易日历调整。交易有风险,入市须谨慎。
在微信里搜「Tom讲交易」即可关注,每周更新交易教学
推荐课程
合约陪跑实战训练营
不只教方法,更带你实盘执行。从仓位管理到止损止盈,手把手纠正你的交易习惯,建立可复制的盈利系统。
相关文章
一个交易系统需要回测多少笔才算有效:公式 n ≥ (1.96σ/E)²,附四档期望值对照表
回测五十笔就下结论是自欺,一百笔也远远不够。所需样本量有一个可以直接算的公式,它只依赖两个数:单笔期望值和单笔标准差。这篇给出公式的来源、标准差怎么算、以及期望值 0.1R 到 0.5R 四档下所需笔数的完整对照表。核心结论是平方关系:期望值降一半,样本量需求变四倍。文末给出样本量之外必须同时满足的四个条件。
量化交易回测的 7 个致命陷阱:为什么回测好的策略实盘亏钱
回测是量化交易最重要的环节,也是最容易被自己骗的环节。90% 的散户量化策略“回测亮眼实盘亏损”,原因都在这 7 个回测陷阱里:过拟合、生存偏差、前视偏差、数据窥探、不真实的执行、忽略成本、样本不足。本文逐一拆透每个陷阱的本质 + 散户能用的检测方法。读完你会成为“会看回测”的少数人。
量化交易不写代码能不能做回测:四条路径的能力边界,加六个选型维度
新手不写代码也能做回测,四条路径各有各的天花板:手工翻图样本上不去、表格法卡在盘中触发顺序、平台内置测试器要写几行脚本、无代码平台上手最快但黑盒最大。这篇给出四条路径的能力对照、六个选型维度(数据与复权、成本设置、出场表达力、能不能导出逐笔明细、样本外支持、可复现性),以及一条和写不写代码无关的硬边界。
量化交易回测胜率多少才算及格:孤立的胜率没有及格线,及格的是期望值 0.2R 加样本 208 笔
回测跑出 55% 胜率就当系统能用,是这批参数里最贵的误判。胜率的及格线完全由盈亏比决定:盈亏比 1:1 时及格线是 60%,1:3 时只要 30%。更要命的是第二个条件,及格线越低的系统越难被证明,盈亏比 1:3 需要 323 笔样本而 1:2 只要 208 笔。这篇给出按盈亏比查的及格胜率表、对应的样本量表,以及回测及格之外必须同时满足的三条。
量化交易用 Excel 做最简回测:十二列公式跑通一套系统,以及它做不到的三件事
Excel 能做回测,前提是你接受它的边界。这篇给出一个十二列的完整框架,信号、持仓状态、入场价、出场价、R 倍数、累计 R 全部用公式自动算,可以直接粘贴,没有循环引用也不需要宏。同时说清楚 Excel 回测做不到的三件事:盘中触发顺序、滑点与流动性建模、多品种共享资金,以及出现哪四个信号时必须换工具。
量化交易Pine Script 入门:三行出一条均线,四条执行规则决定你写的对不对
写一个能在图上画出均线的指标,Pine Script 只需要三行,本文第一段就能直接粘贴运行。但真正决定你写出来的东西准不准的,是四条执行规则:脚本按每根 K 线执行一遍、所有变量都是序列、未收盘的那根 K 线会被反复重算、脚本跑在 TradingView 服务器上而不是你的电脑上。这篇给出三段可直接粘贴的完整代码(均线、放量金叉信号、策略骨架),讲透四条执行规则,并列出 Pine 做不到的五件事。
觉得有用?关注公众号
扫码或在微信里搜「Tom讲交易」,每周更新交易教学文章