量化选股模型的基础数据主要分为三类:行情数据、财务数据和另类数据。行情数据提供价格与成交量,财务数据反映公司基本面,另类数据则包括舆情、产业链等非传统信息。三者缺一不可,是构建有效模型的前提。
核心数据分类与常见因子
行情数据是最基础的数据层,包括开盘价、收盘价、最高价、最低价、成交量、换手率等。这类数据用于计算动量因子(如过去N日收益率)、波动率因子等。行情数据通常以日频或分钟频获取,需注意复权处理(前复权或后复权),以消除分红、送股对价格连续性的影响。
财务数据用于构建估值与质量因子。常见指标包括:
- 市盈率(PE):衡量股价与盈利的比值,反映市场估值水平。
- 市净率(PB):股价与每股净资产的比值,常用于金融、周期行业。
- 净资产收益率(ROE):净利润与净资产的比值,代表股东回报效率。
- 营收增长率、毛利率、负债率等,用于评估企业成长性与财务健康度。
财务数据发布频率低(季报/年报),且存在披露滞后性(如年报在次年4月底前完成披露),建模时必须做数据对齐——即使用最新可得数据,而非最新报告期数据,否则会引入未来信息偏差。
另类数据包括:新闻舆情(文本情绪分析)、产业链数据(如上游原材料价格)、机构调研记录、专利数量等。这类数据能提供传统指标之外的增量信息,但获取成本高、清洗难度大,适合进阶模型。
数据清洗与回测对齐
数据质量直接决定模型可靠性。关键清洗步骤包括:
- 去极值处理:剔除因数据错误或极端事件(如停牌复牌后跳空)导致的异常值,常用MAD(中位数绝对偏差)或百分位截断。
- 缺失值填充:财务数据常出现缺失(如新上市公司无历史数据),可填充行业均值或前值。
- 数据对齐:确保所有因子在同一时间截面(如每月最后一个交易日)计算,且使用当时可获取的数据。回测中需严格模拟无未来函数,例如使用T-1日收盘价计算因子,T日开盘买入。
免费与付费数据源对比
| 数据源类型 | 代表平台 | 优势 | 局限 |
|---|---|---|---|
| 免费 | Tushare、AKShare、东方财富Choice(部分免费) | 零成本,适合学习与轻量回测 | 数据频率低(多为日频),财务数据更新可能延迟,稳定性一般 |
| 付费 | Wind、聚宽(JQData)、RiceQuant(RQData) | 数据全(分钟级/Tick级),清洗规范,售后支持 | 年费数千至数万元,门槛较高 |
选型建议:初学者先从免费数据源(如AKShare)搭建原型,验证策略逻辑;实盘或高频策略需切换至付费数据源,确保数据完整性与时效性。
常见问题
量化选股模型必须用实时行情数据吗?
不一定。 多数选股模型基于日频数据(收盘价、成交量)即可。高频策略(如日内回转交易)才需要分钟级或Tick级数据,且对数据延迟要求极高,通常需要付费数据源支持。
回测中如何避免“幸存者偏差”?
核心方法是使用全样本数据,包括已退市、被ST的股票。 免费数据源通常只提供当前存续股票的历史数据,需手动补充退市股数据,或使用付费数据源(如Wind、聚宽)提供的“全量历史”接口。
财务数据更新慢,会影响模型效果吗?
会,但可通过“最新可得数据”规则缓解。 例如,4月底发布年报后,模型应立刻切换到最新数据,而非等待所有公司披露完毕。常见做法是每月末更新一次财务数据,确保因子计算基于当时的最新报告。