股票复权计算

股票复权计算复权 上市公司在除权除息之后 股价会产生变化 但实际成本并未发生变化 导致 K 线走势图上出现断层 给人以股价下跌的错觉 而复权就是按照实际涨跌绘制股价走势路 修复除权除息后产生的断层 便于对股票进行分析处理 在复权中有向前复权 向后复权 和定点复权 这里我们只讨论向前复权和向后复权 向前复权 一般用作短线技术分析 就是保持现有价位不变

大家好,我是讯享网,很高兴认识大家。
  • [复权]
    • 上市公司在除权除息之后,股价会产生变化,但实际成本并未发生变化,导致K线走势图上出现断层,给人以股价下跌的错觉,而复权就是按照实际涨跌绘制股价走势路,修复除权除息后产生的断层,便于对股票进行分析处理,在复权中有向前复权,向后复权和定点复权,这里我们只讨论向前复权和向后复权
  • [向前复权] — 一般用作短线技术分析
    • 就是保持现有价位不变,将以前的价格缩减,将除权前的K线向下平移,使图形吻合,保持股价走势的连续性
  • [向后复权] — 一般用作长线基本面分析
    • 向后复权,就是保持先前的价格不变,而将以后的价格增加。

某上市公司在出现10送8分红2.8后的k线走势
,某上市公司在出现10送8分红2.8后的k线走势
讯享网

股票复权算法

现有流行的复权算法一般经典复权算法,递归前复权算法,递归后复权算法,涨跌幅复权算法,其中经典复权算法得到结果和递归后复权结果相同,

  • 经典复权算法
    经典复权算法
  • 递归前复权算法
    在这里插入图片描述
  • 递归后复权算法
    在这里插入图片描述
  • 涨跌幅算法
    复权因子=当日的前收盘价/昨天的收盘
    向前复权 = 实际价 * 每一次的复权因子
    向后复权 = 实际价 / 每一次的复权因子

粘一段前复权代码 后复权原理相同

double calc_recvoer_pre_right_price(double px, STOCK_RIGHT &jrjRight) { 
    // 前复权:复权后价格=[(复权前价格-现金红利)+配(新)股价格×流通股份变动比例]÷(1+流通股份变动比例) double fChgRatio = (jrjRight.fSGBL+jrjRight.fZGBL+jrjRight.fPGBL)/10.0; return ((px-jrjRight.fLRFH)+jrjRight.fPGJG*fChgRatio)/(1.0+fChgRatio); } // 进行前复权 void recover_pre_right(map<int, KLINE> &mapKLine, list<STOCK_RIGHT> &listRight, int nPrice) { 
    const double PRESION_AJUST_MOUNT = 0.000005; // 精度较正值 for (list<STOCK_RIGHT>::iterator itRight=listRight.begin(); itRight!=listRight.end(); ++itRight) { 
    // find date in mapTdxKLine map<int, KLINE>::iterator itKLine = mapKLine.find(itRight->nFQRQ); if (itKLine==mapKLine.end() || itKLine==mapKLine.begin()) continue; // 从除权的前一个交易日开始复权 do { 
    --itKLine; KLINE & kLineTest = itKLine->second; kLineTest.nOpenPx = nPrice*(PRESION_AJUST_MOUNT+calc_recvoer_pre_right_price(1.0*kLineTest.nOpenPx/nPrice, *itRight)); kLineTest.nHighPx = nPrice*(PRESION_AJUST_MOUNT+calc_recvoer_pre_right_price(1.0*tdxKLine.nHighPx/nPrice, *itRight)); kLineTest.nLowPx = nPrice*(PRESION_AJUST_MOUNT+calc_recvoer_pre_right_price(1.0*tdxKLine.nLowPx/nPrice, *itRight)); kLineTest.nLastPx = nPrice*(PRESION_AJUST_MOUNT+calc_recvoer_pre_right_price(1.0*kLineTest.nLastPx/nPrice, *itRight)); }while(itKLine!=mapKLine.begin()); } } 

讯享网
小讯
上一篇 2025-02-10 22:27
下一篇 2025-04-08 20:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/117167.html