作者寄语
本次更新股票历史行情的数据接口,增加对北交所行情的支持
更新接口
- "stock_zh_a_hist" # 历史行情数据-东财
历史行情数据-东财
接口: stock_zh_a_hist
目标地址: http://quote.eastmoney.com/concept/sh603777.html?from=classic(示例)
描述: 东方财富-沪深京 A 股日频率数据; 历史数据按日频率更新, 当日收盘价请在收盘后获取
限量: 单次返回指定沪深京 A 股上市公司、指定周期和指定日期间的历史行情日频率数据
输入参数
名称 | 类型 | 描述 |
---|---|---|
symbol | str | symbol='603777'; 股票代码可以在 ak.stock_zh_a_spot_em() 中获取 |
period | str | period='daily'; choice of {'daily', 'weekly', 'monthly'} |
start_date | str | start_date='20210301'; 开始查询的日期 |
end_date | str | end_date='20210616'; 结束查询的日期 |
adjust | str | 默认返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据 |
股票数据复权
1.为何要复权:由于股票存在配股、分拆、合并和发放股息等事件,会导致股价出现较大的缺口。若使用不复权的价格处理数据、计算各种指标,将会导致它们失去连续性,且使用不复权价格计算收益也会出现错误。为了保证数据连贯性,常通过前复权和后复权对价格序列进行调整。
2.前复权:保持当前价格不变,将历史价格进行增减,从而使股价连续。前复权用来看盘非常方便,能一眼看出股价的历史走势,叠加各种技术指标也比较顺畅,是各种行情软件默认的复权方式。这种方法虽然很常见,但也有两个缺陷需要注意。
2.1 为了保证当前价格不变,每次股票除权除息,均需要重新调整历史价格,因此其历史价格是时变的。这会导致在不同时点看到的历史前复权价可能出现差异。
2.2 对于有持续分红的公司来说,前复权价可能出现负值。
3.后复权:保证历史价格不变,在每次股票权益事件发生后,调整当前的股票价格。后复权价格和真实股票价格可能差别较大,不适合用来看盘。其优点在于,可以被看作投资者的长期财富增长曲线,反映投资者的真实收益率情况。
4.在量化投资研究中普遍采用后复权数据。
输出参数-历史行情数据
名称 | 类型 | 描述 |
---|---|---|
日期 | object | 交易日 |
开盘 | float64 | 开盘价 |
收盘 | float64 | 收盘价 |
最高 | float64 | 最高价 |
最低 | float64 | 最低价 |
成交量 | int32 | 注意单位: 手 |
成交额 | float64 | 注意单位: 元 |
振幅 | float64 | 注意单位: % |
涨跌幅 | float64 | 注意单位: % |
涨跌额 | float64 | 注意单位: 元 |
换手率 | float64 | 注意单位: % |
接口示例-历史行情数据-不复权
代码语言:javascript复制import akshare as ak
stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20170301", end_date='20210907', adjust="")
print(stock_zh_a_hist_df)
数据示例-历史行情数据-不复权
代码语言:javascript复制 日期 开盘 收盘 最高 ... 振幅 涨跌幅 涨跌额 换手率
0 2017-03-01 9.49 9.49 9.55 ... 0.84 0.11 0.01 0.21
1 2017-03-02 9.51 9.43 9.54 ... 1.26 -0.63 -0.06 0.24
2 2017-03-03 9.41 9.40 9.43 ... 0.74 -0.32 -0.03 0.20
3 2017-03-06 9.40 9.45 9.46 ... 0.74 0.53 0.05 0.24
4 2017-03-07 9.44 9.45 9.46 ... 0.63 0.00 0.00 0.17
... ... ... ... ... ... ... ... ...
1100 2021-09-01 17.48 17.88 17.92 ... 5.11 0.45 0.08 1.19
1101 2021-09-02 18.00 18.40 18.78 ... 5.48 2.91 0.52 1.25
1102 2021-09-03 18.50 18.04 18.50 ... 4.35 -1.96 -0.36 0.72
1103 2021-09-06 17.93 18.45 18.60 ... 4.55 2.27 0.41 0.78
1104 2021-09-07 18.60 19.24 19.56 ... 6.56 4.28 0.79 0.84
接口示例-历史行情数据-前复权
代码语言:javascript复制import akshare as ak
stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20170301", end_date='20210907', adjust="qfq")
print(stock_zh_a_hist_df)
数据示例-历史行情数据-前复权
代码语言:javascript复制 日期 开盘 收盘 最高 ... 振幅 涨跌幅 涨跌额 换手率
0 2017-03-01 8.65 8.65 8.71 ... 0.93 0.12 0.01 0.21
1 2017-03-02 8.67 8.59 8.70 ... 1.39 -0.69 -0.06 0.24
2 2017-03-03 8.57 8.56 8.59 ... 0.81 -0.35 -0.03 0.20
3 2017-03-06 8.56 8.61 8.62 ... 0.82 0.58 0.05 0.24
4 2017-03-07 8.60 8.61 8.62 ... 0.70 0.00 0.00 0.17
... ... ... ... ... ... ... ... ...
1100 2021-09-01 17.48 17.88 17.92 ... 5.11 0.45 0.08 1.19
1101 2021-09-02 18.00 18.40 18.78 ... 5.48 2.91 0.52 1.25
1102 2021-09-03 18.50 18.04 18.50 ... 4.35 -1.96 -0.36 0.72
1103 2021-09-06 17.93 18.45 18.60 ... 4.55 2.27 0.41 0.78
1104 2021-09-07 18.60 19.24 19.56 ... 6.56 4.28 0.79 0.84
接口示例-历史行情数据-后复权
代码语言:javascript复制import akshare as ak
stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20170301", end_date='20210907', adjust="hfq")
print(stock_zh_a_hist_df)
数据示例-历史行情数据-后复权
代码语言:javascript复制 日期 开盘 收盘 最高 ... 振幅 涨跌幅 涨跌额 换手率
0 2017-03-01 1575.20 1575.20 1584.95 ... 0.83 0.10 1.63 0.21
1 2017-03-02 1578.45 1565.45 1583.32 ... 1.24 -0.62 -9.75 0.24
2 2017-03-03 1562.20 1560.57 1565.45 ... 0.73 -0.31 -4.88 0.20
3 2017-03-06 1560.57 1568.70 1570.32 ... 0.73 0.52 8.13 0.24
4 2017-03-07 1567.07 1568.70 1570.32 ... 0.62 0.00 0.00 0.17
... ... ... ... ... ... ... ... ...
1100 2021-09-01 3009.83 3074.84 3081.34 ... 4.83 0.42 13.00 1.19
1101 2021-09-02 3094.34 3159.35 3221.11 ... 5.18 2.75 84.51 1.25
1102 2021-09-03 3175.61 3100.84 3175.61 ... 4.12 -1.85 -58.51 0.72
1103 2021-09-06 3082.97 3167.48 3191.86 ... 4.30 2.15 66.64 0.78
1104 2021-09-07 3191.86 3295.88 3347.89 ... 6.21 4.05 128.40 0.84