AKShare-股票数据-行情数据
作者寄语
考虑到原来新浪财经的股票每日行情接口存在大量获取股票数据会封禁 IP 问题、获取速度较慢等问题,本次提供东方财富的每日行情数据,该接口获取的速度快,基本没有限制且数据质量相对较高。
更新接口
"stock_zh_a_hist" # 日频率行情-东财
日频率-东财
接口: stock_zh_a_hist
目标地址: http://quote.eastmoney.com/concept/sh603777.html?from=classic(示例)
描述: 从东方财富获取的 A 股日频率数据; 历史数据按日频率更新, 当日收盘价请在收盘后获取
限量: 单次返回指定 A 股上市公司指定日期间的历史行情日频率数据
输入参数
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
symbol | str | Y | symbol='603777'; 股票代码可以在 ak.stock_zh_a_spot_em() 中获取 |
start_date | str | Y | start_date='20210301'; 开始查询的日期 |
end_date | str | Y | end_date='20210616'; 结束查询的日期 |
adjust | str | Y | 默认返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据 |
股票数据复权
1.为何要复权:由于股票存在配股、分拆、合并和发放股息等事件,会导致股价出现较大的缺口。若使用不复权的价格处理数据、计算各种指标,将会导致它们失去连续性,且使用不复权价格计算收益也会出现错误。为了保证数据连贯性,常通过前复权和后复权对价格序列进行调整。
2.前复权:保持当前价格不变,将历史价格进行增减,从而使股价连续。前复权用来看盘非常方便,能一眼看出股价的历史走势,叠加各种技术指标也比较顺畅,是各种行情软件默认的复权方式。这种方法虽然很常见,但也有两个缺陷需要注意。
2.1 为了保证当前价格不变,每次股票除权除息,均需要重新调整历史价格,因此其历史价格是时变的。这会导致在不同时点看到的历史前复权价可能出现差异。
2.2 对于有持续分红的公司来说,前复权价可能出现负值。
3.后复权:保证历史价格不变,在每次股票权益事件发生后,调整当前的股票价格。后复权价格和真实股票价格可能差别较大,不适合用来看盘。其优点在于,可以被看作投资者的长期财富增长曲线,反映投资者的真实收益率情况。
4.在量化投资研究中普遍采用后复权数据。
输出参数-历史行情数据
名称 | 类型 | 默认显示 | 描述 |
---|---|---|---|
日期 | object | Y | 交易日 |
开盘 | float64 | Y | 开盘价 |
收盘 | float64 | Y | 收盘价 |
最高 | float64 | Y | 最高价 |
最低 | float64 | Y | 最低价 |
成交量 | int32 | Y | 注意单位: 股 |
成交额 | float64 | Y | 注意单位: 元 |
振幅 | float64 | Y | 注意单位: % |
涨跌幅 | float64 | Y | 注意单位: % |
涨跌额 | float64 | Y | 注意单位: 元 |
换手率 | float64 | Y | 注意单位: % |
接口示例-历史行情数据-不复权
import akshare as ak
stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="603777", start_date="20210301", end_date='20210616')
print(stock_zh_a_hist_df)
数据示例-历史行情数据-不复权
日期 开盘 收盘 最高 ... 振幅 涨跌幅 涨跌额 换手率
0 2021-03-01 10.43 10.64 10.67 ... 2.50 2.11 0.22 0.48
1 2021-03-02 10.67 10.59 10.78 ... 2.82 -0.47 -0.05 0.47
2 2021-03-03 10.56 10.69 10.75 ... 2.55 0.94 0.10 0.49
3 2021-03-04 10.62 10.63 10.80 ... 2.43 -0.56 -0.06 0.51
4 2021-03-05 10.60 11.25 11.42 ... 8.18 5.83 0.62 1.50
.. ... ... ... ... ... ... ... ... ...
68 2021-06-09 13.69 15.09 15.09 ... 11.52 9.99 1.37 3.32
69 2021-06-10 16.60 16.60 16.60 ... 3.64 10.01 1.51 8.89
70 2021-06-11 16.47 16.40 17.98 ... 12.95 -1.20 -0.20 10.95
71 2021-06-15 15.57 16.00 16.42 ... 9.15 -2.44 -0.40 7.13
72 2021-06-16 15.70 17.60 17.60 ... 12.31 10.00 1.60 6.19
接口示例-历史行情数据-前复权
import akshare as ak
stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="603777", start_date="20210301", end_date='20210616', adjust="qfq")
print(stock_zh_a_hist_df)
数据示例-历史行情数据-前复权
日期 开盘 收盘 最高 ... 振幅 涨跌幅 涨跌额 换手率
0 2021-03-01 10.43 10.64 10.67 ... 2.50 2.11 0.22 0.48
1 2021-03-02 10.67 10.59 10.78 ... 2.82 -0.47 -0.05 0.47
2 2021-03-03 10.56 10.69 10.75 ... 2.55 0.94 0.10 0.49
3 2021-03-04 10.62 10.63 10.80 ... 2.43 -0.56 -0.06 0.51
4 2021-03-05 10.60 11.25 11.42 ... 8.18 5.83 0.62 1.50
.. ... ... ... ... ... ... ... ... ...
68 2021-06-09 13.69 15.09 15.09 ... 11.52 9.99 1.37 3.32
69 2021-06-10 16.60 16.60 16.60 ... 3.64 10.01 1.51 8.89
70 2021-06-11 16.47 16.40 17.98 ... 12.95 -1.20 -0.20 10.95
71 2021-06-15 15.57 16.00 16.42 ... 9.15 -2.44 -0.40 7.13
72 2021-06-16 15.70 17.60 17.60 ... 12.31 10.00 1.60 6.19
接口示例-历史行情数据-后复权
import akshare as ak
stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="603777", start_date="20210301", end_date='20210616', adjust="hfq")
print(stock_zh_a_hist_df)
数据示例-历史行情数据-后复权
日期 开盘 收盘 最高 ... 振幅 涨跌幅 涨跌额 换手率
0 2021-03-01 15.70 16.00 16.04 ... 2.36 1.98 0.31 0.48
1 2021-03-02 16.04 15.93 16.19 ... 2.63 -0.44 -0.07 0.47
2 2021-03-03 15.88 16.07 16.15 ... 2.39 0.88 0.14 0.49
3 2021-03-04 15.97 15.98 16.22 ... 2.24 -0.56 -0.09 0.51
4 2021-03-05 15.94 16.85 17.09 ... 7.63 5.44 0.87 1.50
.. ... ... ... ... ... ... ... ... ...
68 2021-06-09 20.27 22.23 22.23 ... 10.93 9.45 1.92 3.32
69 2021-06-10 24.34 24.34 24.34 ... 3.46 9.49 2.11 8.89
70 2021-06-11 24.16 24.06 26.27 ... 12.37 -1.15 -0.28 10.95
71 2021-06-15 22.90 23.50 24.09 ... 8.73 -2.33 -0.56 7.13
72 2021-06-16 23.08 25.74 25.74 ... 11.74 9.53 2.24 6.19
现在加入“数据科学家”星球,即可享VIP快速提问通道,数据接口、金融量化、机器学习、Python编程等Albert King直播课程,快来加入知识星球吧~