后复权

import pandas as pd
pd.set_option('expand_frame_repr',False)
df = pd.read_csv('.\data\sz300001.csv',encoding='gbk',)
df = df[['date','code','open','high','low','close','涨跌幅']]
df.sort_values(by=['date'],inplace=True)
df['涨跌幅2'] = df['close'].pct_change() #根据当日价格/前一个交易日价格 获得的涨幅(在复权日会产生错误)
# print(df1[abs(df1['涨跌幅2'] - df1['涨跌幅'])>0.001]) # 打印除权日的信息
df['复权因子'] = (df['涨跌幅']+1).cumprod() #基于真实涨跌幅得出,后复权价 = 上市价格*复权因子 --->后复权价
#上市价格计算
init_price = df.iloc[0]['close']/(1+df.iloc[0]['涨跌幅']) #上市价格23.800006382728984
#后复权价计算
df['fq_close'] = df['复权因子']*init_price
#根据等式: fq_open/fq_close = open/close ==> open_fq = (open/close)*fq_close
df['fq_open'] = ((df['open']/df['close'])*df['fq_close'])print(df)

前复权

import pandas as pd
pd.set_option('expand_frame_repr',False)#读入数据
df = pd.read_csv('.\data\sh600000p1.csv',encoding='gbk')
df2 =pd.read_csv('.\data\sh600000p2.csv',encoding='gbk')
#合并
df = df.append(df2)#去重、更新列名、排序、重置索引
df.drop_duplicates(subset=['交易日期'],inplace=True)
df = df[['交易日期','股票代码','开盘价','收盘价','涨跌幅']]
# 批量替换列名,原来的列名太长了,容易让数据无法对齐,不利于观察
df.columns = ['date','code','open','close','ad']
# df.sort_values(by=['date'], inplace=True)
df.reset_index(inplace=True, drop=True)
#开始复权:计算复权因子
# df['复权因子'] = (df['涨跌幅'] + 1).cumprod()
# apd(复权价):after price divisor
# df['apd'] = (df['ad']+1).cumprod()#获取当日收盘价 df['close']
#前复权因子:(1/(1+今日涨跌幅)) ==> 1/(1+df['ad])
#昨日收盘价 = 当日收盘价 * 复权因子df.sort_values(by=['date'], ascending=0)  #倒序处理,因为找不到累除函数
df['apd'] = (1/(1+df['ad'])).cumprod()*df.iloc[0]['close'] #前复权print(df)

备注:ad为英文的涨跌幅,读取数据时已经把标题处理成英文了

csv文档链接:
链接:https://pan.baidu.com/s/1vzqGYLqi2IzoJK_yPQ9-9A
提取码:ytrb

股票价格中后取复权的计算相关推荐

  1. 如何写python脚本抓取数据并计算_【小工具】利用Python脚本从Gaussian计算结果中提取信息...

    1.前言 高斯(Gaussian)是一个功能强大的量子化学综合软件包,所有从事计算化学相关领域的科研工作者应该都使用或者了解过这个软件.它的输出文件(.log文件)是一个文本文件,可以利用文本工具打开 ...

  2. ListView与.FindControl()方法的简单练习 #2 -- ItemUpdting事件中抓取「修改后」的值

    原文出處  http://www.dotblogs.com.tw/mis2000lab/archive/2013/06/24/listview_itemupdating_findcontrol_201 ...

  3. 二叉树前中后序遍历以及节点计算

    二叉树前中后序遍历以及节点计算 二叉树 分类 二叉链的数据结构 三叉链的数据结构 四种遍历方法 深度优先遍历:前中后序 广度优先遍历:层序遍历 计算 节点个数 叶子节点个数 树的高度 第k层的节点个数 ...

  4. matlab错位相减,在非节奏流水施工中,通常用来计算流水步距的方法是()。A.累加数列错位相减取大差值B.累加数列错...

    在非节奏流水施工中,通常用来计算流水步距的方法是().A.累加数列错位相减取大差值B.累加数列错 更多相关问题 引起喉痛的常见喉部疾病有().().().().(). 以下不属于公布目的的审计报告的服 ...

  5. R语言使用aov函数进行单因素协方差分析(One-way ANCOVA)、使用effects包中的effect函数来计算调整后的分组均值(calculate adjusted means)

    R语言使用aov函数进行单因素协方差分析(One-way ANCOVA).使用effects包中的effect函数来计算调整后的分组均值(effects library to calculate ad ...

  6. 获取分组后取某字段最大一条记录(求每个类别中最大的值的列表)

    获取分组后取某字段最大一条记录 方法一:(效率最高) select * from test as a where typeindex = (select max(b.typeindex) from t ...

  7. DOM中setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

    setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. <html> <head> <script type="text/javascript ...

  8. spring 数组中随机取几个_游戏编程中需要掌握哪些数学物理知识

    一. 相似三角形知识的应用 在摇杆控制物体运动的游戏中,摇杆的手柄(下图黄色圆饼),不能移出摇杆所在的套(下图灰色圆环),也就是说摇杆偏离中心点的最大距离为max_R.一旦触摸移动过程中移动的点超出此 ...

  9. python中的取余运算符是_python取余运算

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python中对负数求余的计算方法和求幂运算注意点python中对负数求余的计算 ...

  10. 汇编语言-016(SCASB 、STOSB 、LODSD 、数组中的取值、二维数组操作、冒泡排序和二分查找、CMPSW )

    1: SCASB : (字节)将AL的值与EDI寻址的一个字比较.进行在一个字符串检索特定的字符 .386 .model flat,stdcall.stack 4096 ExitProcess PRO ...

最新文章

  1. Pytorch手敲NLP 模型训练代码四大步骤总结
  2. 清华开源深度学习框架计图,开源超级玩家再进阶
  3. Spark出现java.lang.stackoverflowerror的解决方法
  4. 浅谈手机网站优化的需要注意哪些事项?
  5. 2020年女人体重表,看看你是不是标准的模特体重
  6. 百度咋做长文本去重(一分钟系列)--转
  7. App社交分享的后续行为可以这样统计
  8. 315道Python常见面试题
  9. 可被三整除的最大和—leetcode1262
  10. 小程序使用sass_如何使用Sass Maps生成所有实用程序类
  11. IDEA进行远程调试
  12. 掌握这个分析方法,数据分析就学会了一半
  13. Mathtype 免安装 | office自带UnicodeMath和LaTeX编辑功能
  14. JAVA程序员,你读过这些书吗?
  15. css3 border-radius详解
  16. K3Cloud BOS设计 值更新 字段拼接到文本字段
  17. 蓝桥杯_等差素数列_java
  18. 2021-11-13偏最小二乘法应用实例python程序代码
  19. 使用 jxls2.X 导出excel文件
  20. Leetcode 1217. Minimum Cost to Move Chips to The Same Position [Python]

热门文章

  1. 提升团队编码效率的几条经验
  2. 互联网研发团队-岗位职责
  3. mysql init 崩溃_MySQL · 引擎特性 · InnoDB崩溃恢复
  4. java.lang.UnsatisfiedLinkError: Couldn't load XXX
  5. Multigen VEGA簡介
  6. 最通俗的解释下云计算,云计算的核心是什么?
  7. Android自定义控件 芝麻信用分雷达图
  8. JavaScript中unshift() 方法
  9. 企业与个人必备安全测试工具
  10. python设置中文字体_python-docx设置中文字体