Appearance
为什么历史数据不能直接给出交易答案?
上一篇文章介绍了交易研究中常见的五类数据。知道可以研究哪些数据以后,一个更实际的问题随之出现:
如果数据足够多,能不能直接算出应该买什么、什么时候卖?
很多人第一次接触量化研究时,都会期待历史数据给出这样的答案。毕竟,过去的价格、成交量和技术指标都已经记录下来,只要找到其中的规律,似乎就能知道下一次会发生什么。
但历史数据记录的是已经发生的市场,而一笔交易面对的是尚未发生的未来。
因此,历史数据可以为判断提供依据,却不能替我们消除不确定性。
过去经常发生,下一次也会发生吗?
假设过去 100 次出现某种行情条件后,有 80 次上涨、20 次下跌。
历史样本告诉我们:
text
过去样本中的上涨比例 = 80 ÷ 100 = 80%但它没有告诉我们第 101 次一定会上涨。即使样本条件没有改变,下一次仍然可能落在过去那 20 次下跌所代表的结果中。
更准确的表述不是:
出现这个条件,价格就会上涨。
而是:
在选定的历史样本和统计口径下,出现这个条件后,上涨结果占 80%。
这两句话看起来接近,结论强度却完全不同。前者是在预测单次结果,后者只是在描述历史样本。
那么,历史数据既然不能确定下一次涨跌,它还能提供什么?
单个数据为什么不能直接变成交易结论?
假设行情软件显示:
text
收盘价:1.200 元
CCI:-120
成交量:500 万这些数字描述了市场在某个时点的状态,但无法单独回答“明天应该买入还是卖出”。
要让它们具有研究价值,还需要把模糊的判断改写成可以统计的问题。例如:
当 CCI 小于 -100 时,如果在收盘价买入并持有 5 个交易日,扣除交易成本后的收益如何?
接下来才能从历史数据中检查:
- 符合条件的样本有多少;
- 盈利和亏损分别出现多少次;
- 平均收益和收益分布如何;
- 最大亏损和连续亏损如何;
- 不同市场阶段的结果是否一致。
因此,数据不会自动产生答案。研究者需要先定义条件、结果和计算口径,再用数据检验它们之间是否存在相对稳定的统计关系。
不过,即使统计结果看起来不错,也还不能立刻把它当成交易规则。
一个交易信号,最初只是一个假设
很多交易方法都从一个直觉开始:
- 跌得多了,价格可能反弹;
- 突破均线后,趋势可能延续;
- 指标达到极值后,价格可能反转。
这些想法可以成为研究起点,但在验证以前,它们都只是假设。
以“CCI 小于 -100 时买入”为例,至少还需要明确:
- 使用哪个品种和哪个时间周期;
- 在什么价格买入;
- 持有多久或在什么条件下卖出;
- 如何计算手续费和滑点;
- 如何处理停牌、涨跌停和无法成交的情况。
条件不同,得到的结果也可能完全不同。
这一步的价值,不是把一个想法包装成结论,而是把它改写成可以复现、可以比较,也可以被数据否定的实验。
假设定义清楚以后,下一步通常是回测。但回测同样有自己的边界。
回测是在验证假设,不是在寻找标准答案
如果不断更换指标、调整参数和筛选时间,总能在历史数据中找到一组表现很好的结果。
问题在于,这组参数可能只是碰巧贴合了过去的波动。它解释的是已经看过的数据,却未必能够适应新的数据。这种情况通常被称为过拟合。
因此,历史表现好只是继续研究的理由之一,而不是策略未来有效的证明。除了观察收益,还需要继续检查:
- 样本数量是否足够;
- 结果是否过度依赖少数极端行情;
- 更换时间区间后是否仍然成立;
- 未参与参数调整的数据表现如何;
- 加入交易成本后是否还保留优势。
回测真正能回答的是:
在给定规则、样本和计算口径下,这个假设过去表现如何?
它不能回答:
这套规则以后一定有效吗?
即使一项假设通过了初步回测,从统计结果走到交易决策,仍然少不了另一个关键判断。
胜率高,就值得交易吗?
不一定。
假设一个策略过去交易 100 次,其中 70 次盈利、30 次亏损。它的历史胜率是 70%,但如果每次平均盈利 1 元、平均亏损 3 元,那么暂不考虑交易成本时:
text
总盈利 = 70 × 1 = 70 元
总亏损 = 30 × 3 = 90 元
合计结果 = 70 - 90 = -20 元虽然胜率超过一半,长期结果仍然可能为负。
因此,从概率走向交易决策时,不能只看“猜对了多少次”,还需要一起考虑:
- 盈利与亏损的大小;
- 交易成本;
- 最大回撤;
- 连续亏损;
- 资金占用;
- 实际成交条件。
交易研究关注的不是某一次能否猜对,而是按照同一套规则重复执行后,收益与风险是否仍然具有可验证的优势。
这里的“优势”也只能代表当前样本中的结果。市场环境一旦变化,原来的统计关系可能随之改变。
为什么验证不能在回测结束后停止?
一套规则过去有效,并不意味着以后会保持不变。影响结果的条件可能包括:
- 市场参与者变化;
- 交易规则变化;
- 资金结构变化;
- 标的基本面变化;
- 交易成本与流动性变化。
因此,交易系统投入实际使用后,仍然需要持续记录和比较:
- 实际结果是否落在历史预期范围内;
- 回测与实盘之间出现了哪些偏差;
- 偏差来自市场、数据、成交还是执行;
- 原来的假设是否仍然成立。
如果实际结果持续偏离预期,需要重新检查假设,而不是简单地认为“这次只是运气不好”。
这也是为什么交易研究更像一个持续进行的实验:
text
历史数据
↓
提出假设
↓
定义规则
↓
回测验证
↓
实盘观察
↓
重新检查与迭代数据提供样本,统计描述过去,规则约束执行,而新的交易结果又会成为下一轮验证的数据。
当前结论
历史数据不能直接告诉我们明天一定上涨、今天一定可以买入,或者某个指标一定有效。
它更适合帮助我们回答:
在明确的条件和统计口径下,过去类似情况通常出现了什么结果?
从这个问题到一笔真实的交易,中间还需要提出假设、定义规则、检查收益与风险、进行回测,并用新的数据持续验证。
因此,历史数据不是现成的答案,而是检验交易想法的材料。它的价值不在于消除未来的不确定性,而在于让我们少依赖感觉,用可以记录、比较和复现的方法做出判断。
到这里,新的问题也更具体了:
一个交易假设的成功率应该怎样计算,统计结果又需要满足哪些条件,才值得继续验证?