817 字
4 分钟
第一部分(上):金融数据结构 —— Bars 理论
原书第一板块的第一记重锤:你习以为常的”日线/分钟线”,在统计上是个糟糕的选择。采样方式本身是一个建模决策。
别用时间切数据
我们习惯的日线/分钟线是按时间等间隔采样的。López de Prado 指出这在统计上很糟糕:市场活跃度天差地别——午盘半小时的信息量可能不如开盘一分钟,重大新闻日一天的信息量顶平时一个月。按时间采样得到的序列统计性质极差:异方差严重、厚尾严重、自相关结构混乱——而后续所有统计工具都更喜欢接近正态、方差稳定的输入。
替代方案:按信息量采样
| 采样方式 | 每根”K 线”包含 | 直觉 |
|---|---|---|
| Tick bars | 固定笔数的成交 | 成交笔数≈事件数 |
| Volume bars | 固定的成交量 | 换手才是信息 |
| Dollar bars | 固定的成交额 | 修正价格水平变化后最稳定 |
| Imbalance bars | 买卖失衡累积到阈值 | 知情交易者进场的脚印 |
采样单位越接近”信息流”,得到的收益分布越接近正态、越适合建模。作者的实证:dollar bars 的统计性质普遍优于 time bars。最后一类失衡 bars 更激进——让”K 线”在信息到达时刻自动变密,在无事发生时自动变疏。
思想比技术重要
这一章对多数读者的价值不在”立刻改用 dollar bars”(本平台用日线做低频因子完全没问题——这个改造主要针对日内高频建模),而在观念:
“日线”不是自然事实,是一个默认没人质疑的建模决策。采样方式、数据颗粒度、复权口径——数据管线里每个”理所当然”都值得问一句:它是为我的问题设计的,还是只是行业惯性?
同样的追问适用于低频研究的很多默认项:为什么用收盘价而不是 VWAP?为什么因子月度调仓而不是按信息到达调仓?为什么股票池按市值截断而不是按流动性?——每个默认项都是一个没被检验的假设。
结构化数据之外
本部分还讨论了另类数据(新闻文本、订单流、基本面数据库)进入 ML 管线的处理原则,核心两条:
- 记录”信息何时可知”:财报数据必须用发布日而非报告期对齐(前视偏差的 ML 版,《黑箱》第 8 章的老朋友);
- 数据的结构化过程本身会引入偏差:情感打分的字典、行业分类的标准,都是别人的建模决策——用之前先审计。
本页带走的三句话
- 按时间采样统计性质差;按信息量(成交量/成交额)采样更接近正态;
- “日线”不是自然事实——数据管线里每个默认项都是没被检验的假设;
- 任何数据先问”信息何时可知”——前视偏差在 ML 管线里以十倍速度繁殖。