复权收盘价与原始收盘价:选错数据会让你的回测彻底报废

深入拆解股票分红、送转股与拆股对收盘价的扭曲机制。搞懂前复权、后复权与不复权的实战差异,避免策略指标严重失真。

MyTrade Academy 内容团队
7 分钟阅读

很多刚入股市或开始尝试量化分析的新手,都经历过这样的“虚惊一场”:某天早上一开盘,发现持仓里的一只绩优股价格从 100 元断崖式跳水到 50 元,跌幅看似高达 -50%,以为公司遭遇了惊天暴雷。但实际上,账户里的总资产一分钱都没少,只是因为公司实施了“每 10 股送 10 股”的拆股送配。

在真实的交易日,这种因为公司分红派息或股票拆细导致的价格自然下调被称为除权除息。如果你直接把未经过任何处理的原始收盘价(Close)扔给量化回测软件,系统就会把这次除权判定为灾难性暴跌,瞬间击穿所有均线,触发虚假平仓止损。

这就是金融数据中原始收盘价(Raw Close)复权收盘价(Adjusted Close)的本质差异。选错这列数据,是无数回测结果沦为废纸的隐形元凶。

TL;DR

原始收盘价(Close / 不复权) 是该交易日在真实市场上最终结算的原始成交价,它是报税核算、期权行权价匹配与交割单审计的唯一真实凭证。复权收盘价(Adjusted Close) 则是通过数学算法将历史上的拆股送转现金分红消除后的价格序列,能够还原股票真实的连续总回报率。在量化策略回测与技术指标计算中,必须使用复权数据,否则跳空缺口会彻底污染移动平均线并产生大量虚假信号。

原始收盘价 vs 复权收盘价核心差异对比表
对比维度原始收盘价 (不复权 / Raw Close)复权收盘价 (Adjusted Close)
数据定义历史特定日期真实发生的实际撮合成交结算价剔除分红派息与股本扩张影响后重构的经济连续价格
拆股送配反应价格图表上出现巨大断崖式跳空缺口(如 1拆2 时直接腰斩)平滑缩放历史各期价格,图表上不产生任何人为虚假跌幅
现金分红处理完全不计入现金派发,除息日价格自然回落显得像亏损将派发现金按再投资逻辑折算回历史基数,真实体现全收益
技术指标影响严重污染 50 日、200 日等长周期均线与 MACD、RSI 指标技术指标平滑连续,能够真实反映价格动量与趋势形态
最适用场景期权合约对账、交割结算审计、核对真实历史价格记忆点量化选股模型、策略历史回测、多周期因子收益率归因

现金分红的“隐形侵蚀”:为什么高息股不复权看起来不涨?

如果说拆股导致的断崖式跳空一眼就能看穿,那么现金分红带来的长期扭曲则隐蔽得多

除息后股价通常会反映股息价值的调整,但实际开盘成交价仍由市场买卖决定,不会机械保证刚好下跌等同股息的金额。股东虽然账面上股价可能产生折价调整,但现金分红已进入证券账户,总体财富并未因派息本身而缩水。

如果你用不复权的收盘价来观察一只年年大额分红的公共事业股或金融股,你会发现它的股价走势图十几年都在横盘甚至微跌;但一旦换成包含分红再投资的后复权或全收益价格,它的真实累计回报曲线其实一直在稳步攀升。

股票 1 拆 2 拆股除权原始收盘价:从 100 元突降至 50 元(非经济性断崖)
前复权处理方式以当前 50 元为基准,将历史所有收盘价乘以 0.5(昨天变成 50 元,走势平滑)
假设案例:连续 10 年派息对比(仅作示意)Illustrative 假设示意:不复权走势看似累计涨 30%,复权全收益则展现复利积累差异
回测均线修复周期原始价格的跳空断崖需要整整 200 个交易日才能从 200 日均线中完全代谢完毕
什么时候你依然必须使用原始未复权收盘价?

绝对不要从数据库中彻底丢弃原始 Close 字段!以下三个场景必须严格使用原始成交价: 1. 期权交易: 期权行权价(如 100 元认购期权)是刚性的实际美元或人民币计价,不能用复权后的折算价格去匹配期权链。 2. 真实交割单与账单核对: 券商提供的历史对账单记录的是当时的真实结算价格。 3. 历史关键心理整数关口: 比如某只股票历史上是否曾突破过 1,000 元的心理大关,必须以当天的实际挂牌价格为准。

量化研发中处理复权数据的三大铁律

为了确保你的数据流水线既不失真也不引入未来信息,务必遵守以下规范:

  1. 11. 技术指标计算一律采用复权数据: 均线、布林带、ATR、MACD 等所有基于价格几何序列的指标,必须基于复权价格计算,杜绝除权断档。
  2. 22. 分清“前复权”与“后复权”的适用场景: 日常盘面分析与近端策略观察推荐用前复权(当前价格与实际挂牌价一致);而长期策略回测和多品种收益横向比对推荐使用后复权(历史起点固定,避免未来分红改变历史点位)。
  3. 33. 下单委托必须转回真实物理价格: 策略模型在复权序列上生成买入信号后,提交给券商的买入指令必须折算回当前真实的物理挂牌价与股数,严禁将折算后的虚拟价格直接作为限价单送入交易所。

常见问题

前复权与后复权有什么根本区别?

前复权以当前最新价格为基准向历史过去折算,优点是当前看到的最新价与真实市场价完全一致;后复权以上市第一天的价格为基准向未来累加折算,优点是历史数据点位永远固定,不会因为今天新发生一次分红而导致过去几年的历史数据集体变动。

股票拆股(分拆)会让股东的钱变多吗?

不会。拆股只是把一张大面额的披萨切成了更多的小块。比如 1 股拆成 2 股,持股数量翻倍,但每股价格减半,你的持仓总市值在拆股瞬间没有任何变化。

复权收盘价会出现负数吗?

在极少数极端情况下会出现。例如某只上市数十年的股票经历了天量累积分红派息,如果采用前复权且不进行对数调整,倒推至几十年前的早期历史价格可能会在数学上算成负数。正规机构数据源通常会引入比例调整因子来防止出现负价格。

掌握金融数据采集与 API 架构基础

第四十三课《金融数据与 API 基础》带你认识 K 线、订单簿切片、幸存者偏差与时间戳校准原则。

学习第四十三课:数据收集