data
2025年9月5日大约 3 分钟
非常好,你已经准备将 Z-Score 策略应用到实盘回测,这一步非常关键。
✅ 回测这个 Z-Score 策略,你需要准备的数据包括以下几类:
🧩 一、基础财务因子数据
这是构建 Z-Score 打分的核心数据。包括:
因子 | 字段名称(示例) | 说明 |
---|---|---|
PE (TTM) | pe_ttm | 滚动市盈率,越低越好 |
PB | pb | 市净率,越低越好 |
ROE | roe_ttm | 净资产收益率,反映盈利能力 |
股息率 | dividend_yield | 年化分红/股价,现金流回报 |
净利润增长率 | net_profit_growth | 保证不是“价值陷阱” |
营业现金流 | ocf_to_profit | 盈利质量指标(可选) |
📝 频率建议:这些数据最好为每月或每季度更新。Z-Score 的标准化是“横截面”(即每期全市场对比)。
📈 二、股票价格数据
你需要用于模拟买入卖出的行情数据,最常用为日频数据:
字段 | 示例名 | 说明 |
---|---|---|
开盘价 | open | 可用于模拟开盘买入 |
收盘价 | close | 可用于计算收益 |
前复权价 | adj_close | 更准确的收益计算(包含分红) |
成交量 | volume | 可用于过滤流动性差的股票 |
股票代码 | ts_code / ticker | 股票唯一标识 |
📌 用于回测计算每期收益、调仓执行。
📅 三、时间轴管理数据
要明确回测的时间节点:
类型 | 说明 |
---|---|
调仓周期 | 常见为每月或每季度 |
财报发布日期 | 财务数据滞后披露时间(用于“未来可知性”校正) |
指数行情 | 用于计算相对收益或择时参考(如沪深300) |
🏢 四、行业分类数据(可选但强烈建议)
用于行业中性处理或行业暴露控制:
字段 | 示例 |
---|---|
股票代码 | ts_code |
所属行业 | industry ,如申万一级 |
🚫 五、股票池过滤信息
用于过滤掉ST股、退市股、停牌股、小市值等问题标的:
字段 | 说明 |
---|---|
是否ST | 排除 ST股 |
是否停牌 | 排除停牌期的股票 |
市值 | 过滤低于某个门槛的公司(如20亿) |
上市天数 | 排除新股 |
股票状态 | 排除退市股票 |
📦 数据源推荐
类型 | 平台 | 备注 |
---|---|---|
财务+行情 | 同花顺 iFinD / 雪球专业版 | 商业级、付费 |
财务+财报发布日期 | 聚宽(JoinQuant) | 免费注册即可试用 |
免费行情 | Yahoo Finance(限美股) | 可选 |
研究级 | Wind / Choice | 高质量数据(贵) |
✅ 建议:用聚宽(JoinQuant)或优矿(RiceQuant)搭建本地策略比较方便,有完整的 API 和数据接口。
🧑💻 举例:每月调仓回测,需要数据这样组织
日期 | 股票 | pe_ttm | pb | roe | 收盘价 | 行业 | 市值 |
---|---|---|---|---|---|---|---|
2023-01-31 | 600519 | 32 | 6.5 | 30% | 1700 | 食品饮料 | 2.1T |
2023-01-31 | 000333 | 10 | 1.8 | 16% | 40 | 家电 | 500B |
... | ... | ... | ... | ... | ... | ... | ... |
每个月末你计算 Z-Score → 排序 → 持仓 → 计算下月收益。
✅ 总结:你需要收集这些数据
类别 | 说明 |
---|---|
财务因子数据 | PE、PB、ROE、股息率等 |
股票价格数据 | 前复权收盘价、开盘价 |
股票池过滤信息 | 是否ST、市值、停牌等 |
行业分类数据 | 用于行业中性处理 |
调仓周期定义 | 明确回测频率(月度、季度) |
财报发布日期(可选) | 做未来可知性校正 |
📌 如果你想,我可以:
- 帮你设计一个回测框架(Python / 聚宽)
- 提供样本数据格式
- 给你写一段完整的策略原型
你打算在哪里回测?(比如聚宽、优矿、本地 Python)我可以根据平台给你定制。