'''
###学习笔记(20220124)
## 复权价的计算
1.正常情况下“实收=前收”,但有派红分息时两者不等
2,算出“实收”和“前收”的增幅比值,累乘出“复权因子”,即1元从开始至N行应该是多少元
2. 按“实收/因子“的比值,前复权比尾,后复权比头
## 前收的计算
1. 推导过程
df[因子2】=df[因子1】*df[收盘2】/df【前收盘2】
df[因子3】=df[因子2】*df[收盘3]/df【前收盘3】
df[后复价n]/df[收盘0】=df【因子n]/df【因子0】 df【因子n]/df[因子n-1】=df[收盘n]/df[前收盘n] =df[后复n]/df[收盘0]
df[前收盘n]=df[收盘n]*df[因子n-1]/df[因子n]= df[收盘n]*df【后复n]/df【后复n-1]
2. 公式:本行前收盘=本行实收盘*上行复权价/本行复权价,(前后复权价均可)
3.此法可以使用复权后的价格算出前收盘价,但首行的“前收”“增幅”无法确定,直接设为1即可
'''
import pandas as pd
pd.set_option('expand_frame_repr', False)
pd.set_option('max_rows', 5000)
df = pd.read_csv(filepath_or_buffer='../../*.csv',
skiprows=1,
encoding='gbk')