很多"指标突然失灵""均线金叉之后立刻反向死叉"的困惑案例,第一嫌疑往往不是策略逻辑出了问题,而是除权除息把价格序列硬生生打出了一道缺口,而计算指标的程序并不知道这道缺口的性质。
一、除权除息发生时到底改变了什么
上市公司分红、送股或转股后,交易所会按既定规则对开盘参考价做调整,使得K线图上出现价格跳空或不连续的情况。这对人眼看盘影响不大,多数人一眼就能识别"这是除权,不是暴跌";但对量化程序而言,均线、MACD等指标的计算逻辑并不理解"公司分红"这个事件,它只会读到"价格突然发生了变化",并据此产生相应的交叉或突破信号。
二、对几类常见技术指标的具体干扰方式
- 1. 均线系统:除权当日价格下跳,短周期均线会比长周期均线更快反应,可能触发一次和实际趋势无关的假死叉;而在随后的填权行情中,又可能反向制造一次假金叉,两次信号叠加,很容易让人误判为趋势反转。
- 2. 突破/创新高类信号:在未复权的价格序列里,除权后的价格基准整体下移,"股价突破前期高点"这句话的含义已经被扭曲——除权前的高点和除权后的价格根本不在同一个可比较的尺度上。
- 3. MACD、KDJ 等依赖价格连续性的指标:这类指标本质上是对价格变化率的加工,除权造成的价格跳空会在指标曲线上形成一次不代表真实趋势的脉冲式交叉,容易被误读为买卖信号。
三、不同研究类型该选哪种复权口径
| 研究类型 | 建议口径 | 原因 |
|---|---|---|
| 均线、MACD、趋势突破类策略 | 后复权 | 把历史分红送股的影响向后修正,价格序列保持连续,减少除权造成的假信号 |
| 涨停板、连板、封板判断 | 未复权 | 涨跌停幅度是按当日实际报价计算的,必须用真实价格判定,用复权价会算错涨跌停位置 |
| 单纯肉眼复盘看图 | 前复权也常见 | 但注意不要把前复权下的观感和后复权口径下的回测结果混着比较 |
选错口径不是小问题:同一套均线策略,在后复权序列和未复权序列上跑出来的信号数量和位置可能明显不同,历史年化收益也会因此产生偏差,这种偏差和策略逻辑本身无关,纯粹是数据口径的问题。
四、实操层面的三个建议
第一,在策略备注或研究笔记里明确写清楚使用的复权口径,避免几个月后自己都记不清当时用的是哪种价格序列;第二,做动画复盘时,专门抽查除权除息日前后几天的信号,看是否存在被除权噪声污染的可疑交叉;第三,趋势类和打板类研究应该分别建立独立的回测模块,不要拿两套口径下算出来的年化收益直接放在一起比较高低,这种比较本身就没有意义。
青柠量化 的常规历史回测默认采用后复权口径,涉及涨跌停判定的打板类研究走未复权逻辑,帮助你避免把除权造成的数据噪声当成策略本身的优势。
下载与说明见产品页:
https://www.zpyztech.com/product/qingquant/
免责声明: 本文仅作量化知识科普,不构成任何投资建议。历史回测不代表未来表现,请独立判断并自行承担投资风险。
读到这里,不如自己验证一次
文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。