投资理财

前复权后复权换算器

贴入价格序列与除权事件,并排看原始价、前复权、后复权三条序列的差别。

  • 免费免注册
  • 结果可分享链接
  • 浏览器本地计算

已识别 8 个价格点。

除权事件列表

口径说明:前复权以最新价为基准——最新价保持不变,历史价被按复权因子调低;后复权以最早价为基准——历史价保持不变,除权之后的价格被放大。 两种口径算出的涨跌幅一致,只是坐标基准不同,图上看起来完全是两条线。

序号原始价前复权后复权因子
018.00018.00018.0001.000
119.00019.00019.0001.000
220.00020.00020.0001.000
310.00010.00010.0001.000
410.50010.50010.5001.000
511.00011.00011.0001.000
611.50011.50011.5001.000
712.00012.00012.0001.000

计算口径:单次除权的复权因子 =(除权前一日收盘价 − 每股分红)÷(除权前一日收盘价 ×(1 + 每 10 股送转 ÷ 10)); 表中「因子」列是该点之后所有事件因子的连乘(最新点为 1)。事件序号需落在序列范围内且不能是第 0 个点, 否则会被忽略。行情软件各家复权算法在分红再投资假设上略有差异,数值可能与本工具有小幅出入。 本工具仅为测算演示,不构成投资建议。

链接带当前参数,发给别人打开就是同一份结果。

怎么用

5 步
  1. 粘贴收盘价序列:按时间正序把一段收盘价贴进上方文本框,换行、逗号、空格、分号分隔都能识别。框下会回显识别到几个价格点,对不上说明分隔符里混了别的字符。
  2. 登记除权事件:每次分红送转登记一条:填「事件在第几个点之前」(1 起,不能填 0),再填每股分红与每 10 股送转。只分红不送股就把送转填 0,反之亦然。
  3. 按需增删事件:一段行情里可能发生过好几次除权,点「+ 添加事件」逐条补齐。事件序号不必按顺序填,工具会自己排序。
  4. 看四列表格对照:下方表格并排给出原始价、前复权、后复权和该点的累计因子。同一行横着看,就能看清三种口径在同一天分别是多少。
  5. 用两端算涨跌幅验证:拿后复权(或前复权)的首尾两个数相除,得到的才是真实涨跌幅。和原始价首尾相除的结果一比,就知道跳空缺口能骗人到什么程度。算完可复制结果链接或导出 CSV。
深入讲解

这东西在算什么

一家公司分红或者送股之后,股价会在除权日被按公式调低一截。这一截不是跌,是价格和股数之间的换算—— 你手上的总市值没变,只是同样的钱被切成了更多份、或者其中一部分以现金的形式发到了你账户里。 问题出在行情图上:图不认识「换算」这回事,它只忠实地画出成交价,于是那一天就留下一个明晃晃的跳空缺口。

复权做的事,就是把这个缺口填平。方法是给每个价格点配一个复权因子, 把曲线的一侧整体缩放,让断掉的线重新接上。单次除权的因子口径是: (除权前一日收盘价 − 每股分红)÷(除权前一日收盘价 ×(1 + 每 10 股送转 ÷ 10))。 表格里那一列「因子」,是该价格点之后所有事件因子的连乘,最新的那个点恒为 1。

拿工具里的示例走一遍最清楚。价格序列是 18、19、20、10、10.5、11、11.5、12,第 3 个点之前发生了一次 10 送 10。 按公式算,因子 =(20 − 0)÷(20 ×(1 + 1))= 0.5。于是前复权把前三个点乘以 0.5,变成 9、9.5、10,后面五个点原样不动; 后复权反过来,把送股之后的五个点除以 0.5(也就是放大一倍),变成 20、21、22、23、24,前三个点原样不动。 两条线都连上了,只是一条被压到下面,一条被抬到上面。

参数怎么理解

价格序列要按时间正序贴,最早的在前、最新的在后。顺序贴反了,前复权和后复权的结果会整个对调, 但工具不会报错——它没法判断哪一头是「今天」。贴完看一眼框下面「已识别 N 个价格点」,数字对不上就是分隔符里混进了别的字符。

事件序号填的是「这次除权发生在第几个价格点之前」,从 1 开始数,不能填 0。 填 3 的含义是:第 3 个点(也就是表里序号 3 那一行)已经是除权之后的价格了,第 2 个点还是除权之前的价格。 这个位置是整个计算的锚,填偏一格,缺口就补错了地方。填 0 或者超出序列长度的事件会被直接忽略,不参与计算。

每股分红每 10 股送转这两栏可以只填一个。 纯分红的场景,比如除权前一日收盘 20 元、每股派 0.5 元,因子就是 (20 − 0.5) ÷ 20 = 0.975,缩放幅度很小; 纯送转的场景,比如上面那个 10 送 10,因子直接是 0.5,缩放幅度非常大。这也解释了一个常见的观感差异: 送转带来的价格跳空往往触目惊心,分红带来的那一小截很多人根本不会注意到。

多次除权时,因子是连乘的。假设一段行情里先后发生了 10 送 10(因子 0.5) 和每股派 0.5 元(除权前一日 20 元,因子 0.975)两次事件,那么这两次事件之前的价格点,累计因子就是 0.5 × 0.975 = 0.4875。表格「因子」列显示的正是这个连乘结果,越往前的点因子越小,最新的那个点永远是 1。 看懂这一列,你就能反过来判断自己填的事件是不是登记对了:因子的台阶应该正好落在缺口所在的那一行。

常见误区

拿不复权的首尾价算长期收益率。 还是上面那组示例数字:原始价从 18 元走到 12 元,直接相除是 12 ÷ 18 − 1 = −33.3%,看着像亏了三分之一。 但换成后复权,起点 18、终点 24,24 ÷ 18 − 1 = +33.3%,实际是赚了三分之一。同一段行情, 两个结论一正一反、幅度还刚好都是三分之一。骗你的不是数据,是那个没被填平的跳空缺口。 前复权算出来也是一样的:12 ÷ 9 − 1 = +33.3%,三种口径里只有不复权会给出错的答案。

把前复权的历史价当成当年的成交价。 示例里前复权的第一个点是 9 元,可市场上从来没有以 9 元成交过——那天的真实成交价是 18 元。 如果你要核对某天的实际买入价、或者对账单上的数字,只能看不复权那一列,看前复权一定对不上。

以为两个软件数据打架就是有一方错了。 各家行情软件的默认口径并不统一,有的默认前复权、有的默认不复权。同一只票在两个软件上历史价对不上, 多半只是口径不同。跨软件比数据、或者拿别人的截图来核对时,先把口径对齐,再谈数字。

只登记送转、漏掉同时发生的分红。 现实里「10 送 10 派 5 元」这种组合方案很常见,很多人填参数时只记得填送转那一栏。 接着上面的示例:如果这次除权除了 10 送 10 还每股派了 0.5 元,因子应该是 (20 − 0.5) ÷ (20 × 2) = 0.4875, 而不是 0.5。前三个点会被调到 8.775、9.263、9.75,用前复权算出来的涨幅是 12 ÷ 8.775 − 1 = +36.75%, 比漏填分红时的 +33.3% 高出三个多百分点。漏掉的那部分现金分红,恰恰是实实在在到手的收益。

边界与假设

本工具按上面那条因子公式逐点缩放,不隐含「分红再投资」的假设。市面上有些软件的后复权带分红再投资口径, 算出来的数值会比这里略高,差异随分红次数和分红率累积,长序列上可能不小。 事件序号必须落在序列范围内且不能是第 0 个点,越界的事件会被静默忽略;价格里出现 0 或负数会被当作 0 处理, 对应的因子退回 1,这时那一行的三列数值会失去意义。表格结果保留三位小数,长序列上四舍五入的误差会有极小的累积。

风险提示:本工具只做价格口径换算,不涉及任何行情数据源,也不判断价格走势。 各行情软件在分红再投资假设等细节上的复权算法存在差异,数值可能与你所用软件有小幅出入。 本工具仅为测算演示,不构成投资建议。

常见问题

6 条
复权是什么意思
复权就是把除权除息造成的价格跳空「填平」,还原成一条连续可比的价格曲线。分红送转之后,股价会按公式被调低一截,这一截不是下跌,而是价格与股数的换算。但历史行情图上它就是一个明晃晃的缺口,直接拿缺口两边的价格比较涨跌,结论一定是错的。复权做的就是按复权因子把缺口一侧的价格整体缩放,让曲线接上。常见有三种口径:不复权是真实历史成交价,除权日有跳空缺口;前复权以最新价为基准,把历史价调低,最新价保持不变;后复权以最早价为基准,把后续价格放大,历史价保持真实。三种口径算出来的涨跌幅是一致的,只是坐标基准不同,图上看起来完全是两条线。
前复权和不复权的区别
不复权给你的是「当年真实成交价」——那一天在市场上就是这个价钱成交的,但代价是遇到分红送转会出现跳空缺口,曲线不连续,跨越缺口比较涨跌会算错。前复权给你的是「连续可比的曲线」——它以最新价为基准,把历史价按复权因子整体调低,最新价保持不变,所以图形是连续的,形态看起来直观。代价有两个:一是前复权的历史价不是当年真实的成交价,你在图上看到的十年前那个价格,市场上从来没有以那个价钱成交过;二是每发生一次新的除权,整条历史曲线的数值都会被重新缩放一遍,也就是说同一个历史点位,今天看和明年看数字可能不一样。
前复权和后复权哪个准
没有哪个更准,只有哪个更适合当下这件事,因为三种口径算出来的涨跌幅本来就是一致的,差别只在坐标基准。分工大致是这样:看图形态用前复权,因为它以最新价为基准,曲线连续、和你此刻要下单的价格在同一量级上,看起来最直观;算长期真实收益率用后复权,因为它以最早价为基准,历史价保持真实、不会被后续除权改写,把起点和终点代进去算出来的倍数才稳定;看真实成交价用不复权,比如你要核对当年某一天的实际成交价格,就只能看不复权。把这三句话记住,比纠结哪个更权威有用得多。上面的工具会把同一组价格序列的三种口径并排列出来,改一次事件参数就能看到三列同步变化。
为什么复权后价格不一样
因为复权本质上是把整条曲线乘以一组缩放因子,而「以谁为基准不缩放」这件事,前复权和后复权的选择是相反的。前复权选定最新价为基准,最新价保持不变,除权之前的历史价被按因子调低;后复权选定最早价为基准,历史价保持不变,除权之后的价格被按因子放大。同一只股票、同一段历史,两种口径下的绝对数值当然对不上,但两条曲线的形状是相似的、算出来的涨跌幅是一致的。还有一个常被误认为是数据错误的现象:前复权的历史数值会随时间变化——每发生一次新的除权,所有历史价都会被重新乘一遍新因子。所以你去年截的图和今年看到的图,同一个历史点位数字不同,这是口径决定的,不是数据出了问题。
看图应该用前复权还是后复权
看图形态用前复权,算长期真实收益率用后复权,看真实成交价用不复权。理由很直接:前复权保持最新价不变,曲线连续且和当前价格在同一量级,判断形态、比较近期位置时最不容易产生错觉;后复权保持历史价真实,历史数值不会因为后续除权而被改写,用它算「这些年翻了几倍」这类问题才稳定。还有一条实务提醒:不同行情软件的默认复权口径并不统一,有的默认前复权、有的默认不复权,所以同一只股票在不同软件上看到的历史价可能不一样,这不是数据错误,而是口径差异。跨软件对比数据、或者把别人的截图拿来核对时,先确认双方用的是同一个口径,否则很容易得出错误结论。本工具仅为测算演示,不构成投资建议。
前复权的历史价为什么会变来变去
因为前复权是「以最新价为基准」的口径,而最新价这个基准每天都在往后移。每发生一次新的除权,工具就要把这次事件的因子再乘进所有历史价里,于是整条历史曲线的数值被重新缩放一遍。你去年截的图上某一天是 12 元,今年再看可能变成 11.4 元,两个数都没错,只是基准换了。这个特性带来一个实际后果:前复权的历史数值不适合写进笔记、不适合做长期的数值留档,也不适合两个人隔着时间互相核对。要留档、要算倍数,用后复权更稳,因为它以最早价为基准,历史值不会被后续事件改写。

本工具仅为测算演示,不构成投资建议。计算结果受输入假设影响,实际情况请以官方规定与金融机构公布为准。

回到计算器