我们试图在五个货币对上跑赢随机游走,这是成绩单
我们在五年的真实数据、五个货币对上跑了外汇预测测试。随机游走全胜。更有意思的发现是:仅凭两个看似合理的选择,就足以让结果看起来像是我们赢了。
我们把教程中的测试搬到了五个货币对、五年每日数据上真实运行。随机游走在每一个货币对上都守住了阵地。 但诚实的故事并不是"我们的模型输了"。真正的重点是:两个普通、看似合理的分析选择,就足以让一个货币对看起来像存在真实的、统计显著的优势——这也正是为什么任何外汇预测的结论都值得怀疑地阅读。
实验设定
与教程完全相同的配方,对每个货币对一视同仁地应用:
- 数据: 通过
/v1/range端点获取 2021 年 1 月至 2026 年 1 月的每日汇率,丢弃前向填充的周末和假日行。 - 划分: 前 70% 用于训练,最后 378 个交易日(五个货币对统一使用这一天数)作为留出测试集。模型永远看不到测试窗口。
- 简单模型: 基于八个廉价特征(收益率滞后项、一周和一月动量、十日已实现波动率)的岭回归。
- 复杂模型: 将同样的特征扩展为 300 个随机傅里叶特征,训练集和测试集共用同一个随机基。
- 基准: 无漂移的随机游走。它对明天收益率的预测永远是零。
- 打分方式: 相对随机游走的样本外 R²,以及单侧 Clark-West 检验。t 统计量高于 1.645 即跨过 5% 门槛。
我们是在看到任何结果*之前*就选定了 70/30 划分和普通标准误,这一点对后文很关键。
成绩单
在我们事先承诺的设定下,没有任何货币对跑赢随机游走。五个货币对中有四个的样本外 R² 为负,也就是说训练出的模型比"假设完全不变"表现更差。表中最好的 Clark-West t 统计量是 1.50(USD/CAD),未能达到 5% 优势所需的 1.645。USD/CAD 的 +0.61% R² 是唯一的正值,但其 0.067 的 p 值仍未过线。照表面数据读下来,故事就是:没有优势。
复杂性让情况变得更糟,且在每一个货币对上都是如此。 300 特征的模型并没有发现隐藏的结构。在每个特征平均只有约三行训练数据的情况下,它记住了训练噪声,样本外则全面崩溃,落在 -20% 到 -25% 的 R² 区间。在 USD/JPY 上,其 Clark-West t 统计量为 -2.05:不只是比随机游走差,而是显著更差。样本内,这个模型拟合得非常漂亮。它看起来很出色,直到遇到没见过的数据——这就是复杂性这个警示故事,浓缩在一个货币对里。
方向预测就是抛硬币。 预测涨跌的正确率落在 48.7% 到 53.2% 之间。在 378 个测试日下,任何落在大致 45%-55% 区间的结果都是统计噪声,而每个货币对都落在这个区间内。抛硬币也能拿到 50%。
你原本可以怎样"赢"下它
接下来这部分,应该让你对任何外汇预测结论都心存怀疑——包括我们自己的。"没有人跑赢随机游走",这个结论只在我们事先固定的那组确切选择下成立。只要改动其中一两个,而且每一个改动单独看都合情合理,画面就会发生变化。
换掉标准误。 我们在 Clark-West 检验中用的是普通标准误。审稿人完全可以合理地要求改用 Newey-West(HAC)标准误,因为每日预测误差存在轻微的自相关。仅做这一处替换,就有两个货币对跨过了 5% 的门槛:
数据本身没有任何变化。变的只是误差范围的计算公式,而此刻却多出了两个"显著"结果,片刻之前它们还都不存在。
挪动划分点。 我们留出了最后 30% 作为测试集。改成留出最后 40%——同样是一条随意划定的线——USD/CAD 的 Clark-West t 统计量就爬升到了 2.26。在我们尝试过的每一个划分点上,它都保持为正:
有了两个可调的旋钮(用哪种标准误、用哪个划分点),再加上五个可挑选的货币对,一个有动机的分析者就足以炮制出一条标题:"机器学习在 USD/CAD 上跑赢随机游走,统计显著。"每一步单独看都合情合理。叠加在一起,这正是一个伪结果混进论文的方式。
为什么这种情况会不断发生
短期的主要货币对外汇市场,几乎是最接近有效市场的存在。每天有数万亿美元易手,任何简单到岭回归模型仅凭价格历史就能发现的规律,早在传到你的笔记本之前就已经被套利消除了。今天的价格是对明天价格最好的点预测,因为下一期收益率的条件期望本质上就是零变化。模型没有问题,这种有效性本身就是发现。
不过要注意*点预测*这个措辞。条件均值不可预测,并不意味着整个分布都不可预测。波动率会聚集、区间会收窄和放大,这种结构既真实又可预测。这也正是真正有价值的地方。
我们从中得到的结论
我们做的是一个汇率 API,所以不妨把这个不便明说的结论直接说出来。我们不会上线一个"预测汇率"接口,因为在每日主要货币对上,我们无法诚实地跑赢"返回今天的汇率"。我们能做的,是准确、快速地提供当前汇率,并附上元数据(source、前向填充标志、波动率),让你能够量化不确定性,而不是假装它不存在。
如果你仍想自己试试,以上一切都可以在免费套餐上复现,代码来自姊妹篇教程。真正能让我们印象深刻的门槛是:事先选定划分点和标准误,并在全部五个主要货币对的样本外数据上,跑赢经过 Bonferroni 校正的 Clark-West 统计量。做到这一点,你就完成了文献认为真正罕见的成就。