量化概念 07:复权(前复权 vs 后复权,回测为什么必须用它)

📅 2026/8/25 13:41:32
量化概念 07:复权(前复权 vs 后复权,回测为什么必须用它)
打开行情软件某只股票 K 线突然断崖式暴跌从 100 掉到 50。别慌看一眼公告10 送 10。不是暴跌是除权。价格为什么会跳公司会定期调整股本和权益送股/转增10 送 10股本翻倍价格减半。100 股变 200 股市值不变价格从 100 变 50现金分红派完钱每股权益少了价格下调配股折价配售价格下调统称除权除息。它不改变你的市值但价格序列上留了坑——K 线不连续了。三种价格不复权真实成交价。看盘口、算市值、实盘下单用前复权以当前价为基准把历史价格往下调平。行情软件默认图形连续、最新价真实适合看图后复权以最早日期为基准把之后的价格往上调。历史价格固定不被未来的分红改写关键区别一句话前复权的历史是动态的后复权的历史是静态的。明天再除一次权前复权把全部历史挪一遍后复权一动不动。复权因子数据商如 Tushare提供一个乘数 adj_factor后复权价 收盘价 × 复权因子每次除权除息调一次保证价格连续。现金分红日因子会小幅下降——这不是数据错误是除息语义。我写校验规则时就踩过最初设计了复权因子必须单调递增真实数据直接纠正我——茅台分红那天因子从 8.0205 变 8.02。回测为什么必须用后复权三个理由算不对收益。年初 100 元、100 股。年中 10 送 10除权后 200 股 × 50 元市值不变。年底实际价 55 元——200 股 × 55 11000真实收益 10%但不复权价年初 100、年底 55看着像亏了 45%。除权那天不复权价就是一次假的巨额涨跌。指标全乱。均线、动量、布林带这些基于价格的指标在除权日出假信号动量因子的 20 日收益率被一个坑污染。权益跳变。真实价撮合 固定股数10 送 10 那天价格腰斩、股数没变账户权益凭空缩水一半。我系统的回测就出过 300% 的假收益换成后复权口径才消掉。那前复权呢它的基准是当下而回测模拟的是历史——前复权价是用未来的除权事件反推的历史等于偷看未来。每次新的分红都会改写全部历史同一个策略上个月回测和这个月回测结果不一样。回测要稳定的历史必须后复权。常见误区以为除权是下跌除权不改市值填权还是贴权才是真涨跌拿不复权价算历史涨幅高分红股票看着阴跌其实分红一直在落袋前复权做因子和回测历史被未来改写结果不可复现嫌后复权价太贵茅台后复权价好几万那不是真价格是累计复权的刻度小结看盘不复权看图前复权算收益、做因子、跑回测——一律后复权。记一句后复权历史固定前复权历史跟着最新价漂回测要稳定的历史。