3. 数据准备基础:所需数据字段与频率选择
绩效归因模型的精度与可靠性,首先取决于输入数据的质量与完整性。本章聚焦于构建归因模型所需的核心数据字段及其频率选择策略,为后续的数据切分与模型训练奠定基础。
3.1 核心数据字段全景
一套完整的绩效归因数据集至少包含以下四类字段,它们共同构成了从持仓到风险因子暴露的完整链路。
| 字段类别 | 核心字段 | 数据用途 | 典型来源 |
|---|---|---|---|
| 持仓数据 | 证券代码、持仓市值、持仓数量、成本价、交易方向 | 计算组合权重、行业/风格暴露、交易成本 | 交易系统、托管行对账单 |
| 基准数据 | 基准指数代码、基准成分股权重、基准收益率 | 计算超额收益、基准暴露、主动权重 | 指数编制公司、金融数据终端 |
| 收益率数据 | 证券日收益率、组合日收益率、无风险利率 | 计算超额收益、风险调整收益、因子收益 | 行情数据、估值系统 |
| 因子暴露数据 | 市值因子、估值因子、动量因子、质量因子等 | Brinson归因、Barra风险归因、因子贡献分解 | 因子库、量化平台、自建因子模型 |
数据对齐要点: 持仓数据与基准数据必须使用同一估值日期的价格进行市值计算,否则会导致主动权重计算偏差。建议在数据入库前进行日期对齐校验。
3.2 数据频率选择策略
数据频率直接影响归因模型的时效性与计算复杂度。不同归因方法对频率的敏感度不同,需根据分析目标与数据可得性综合权衡。
- 日频数据: 适用于高频交易策略、T+0归因、实时风控。数据量大,需处理停牌、涨跌停等异常事件。
- 周频数据: 平衡时效性与计算成本,适合大多数中低频股票多头策略。通常取每周最后一个交易日的数据。
- 月频数据: 适用于长期配置型组合、保险资金、养老金。计算量小,但可能掩盖短期风格漂移。
- 自定义频率: 根据调仓周期(如每10个交易日)或事件驱动(如分红、指数调整日)进行采样。
推荐实践: 对于A股市场,建议至少保留日频原始数据,归因计算时可根据需要降采样至周频或月频。日频数据可用于校验调仓日权重突变,避免因数据频率过低导致的归因失真。
3.3 数据字段与频率的匹配关系
不同字段对数据频率的要求存在差异,下表展示了常见匹配模式:
| 字段类别 | 推荐最低频率 | 频率选择依据 |
|---|---|---|
| 持仓数据 | 日频 | 调仓日权重变化需精确捕捉;月频可能遗漏中间调仓 |
| 基准数据 | 日频 | 基准指数成分股及权重每日调整;指数收益率需日频计算 |
| 收益率数据 | 日频 | 计算波动率、协方差矩阵、因子收益需要日频序列 |
| 因子暴露数据 | 月频 | 大部分风格因子(市值、估值)月度间变化较小;日频更新成本高 |
3.4 数据准备流程概览
下图展示了从原始数据到归因模型输入的数据准备流程,重点标注了字段对齐与频率转换的关键节点。
3.5 数据质量检查清单
在进入模型训练前,建议按以下清单对数据进行逐项检查:
- 完整性检查: 检查是否存在缺失的持仓日期、缺失的因子暴露值。
- 一致性检查: 组合总权重是否接近100%(考虑现金与杠杆),基准权重是否严格等于100%。
- 异常值检查: 收益率是否超出合理范围(如日收益率超过±20%需标记),因子暴露是否在3倍标准差之外。
- 时间戳对齐: 所有数据表是否使用同一日历日期序列,是否存在非交易日数据。
- 未来函数检查: 因子暴露数据是否使用事后数据(如使用未来财报数据),需确保数据发布时间在持仓日期之前。
常见陷阱: 因子暴露数据容易引入未来函数。例如,使用月末发布的财报数据计算估值因子时,应确保该财报数据在月末之前已公开可用。建议在因子暴露字段中增加“数据发布日期”列,用于时间戳校验。
3.6 数据存储与版本管理
为支持可复现的归因分析,建议采用以下数据管理规范:
- 分层存储: 原始数据层(raw_data)、清洗层(cleaned_data)、特征层(feature_data)、模型输入层(model_input)。
- 版本标记: 每次数据更新或修正后,使用时间戳或版本号标记数据集。
- 快照保留: 对于持仓数据,保留每日完整快照,而非仅保存变动记录,便于回溯历史归因。
数据准备是绩效归因流程中最耗时但最关键的环节。扎实的数据基础将直接提升后续模型训练的稳定性与归因结果的解释力。