【AKShare】高效提取A股上市公司历史行情数据的实用工具解析
为了提取A股上市公司的历史行情数据,我们可以使用AKShare这个Python库。AKShare是一个开源的金融数据接口包,它提供了包括股票、期货、基金、外汇、债券等金融数据的接口。
以下是一个使用AKShare提取A股上市公司历史行情数据的示例代码:
```python
import akshare as ak
# 选择股票代码和起始日期
stock_code = "000001.SZ" # 以平安银行为例
start_date = "20210101"
end_date = "20210131"
# 使用ak.stock_zh_a_hist接口获取股票的历史行情数据
stock_hist_df = ak.stock_zh_a_hist(symbol=stock_code, period="daily", start_date=start_date, end_date=end_date)
# 显示获取到的数据
print(stock_hist_df)
```
在上面的代码中,我们首先导入了akshare库,然后选择了股票代码和起始日期。这里以平安银行(股票代码:000001.SZ)为例,并设定了查询的起始日期为2021年1月1日,结束日期为2021年1月31日。
使用`ak.stock_zh_a_hist`函数,我们可以获取到指定股票在指定日期范围内的日K线数据。这个函数的参数包括股票代码、周期(这里使用"daily"表示日K线)、起始日期和结束日期。
最后,我们打印出获取到的数据。
请注意,由于AKShare是一个第三方库,您需要在您的
相关内容:
输入参数:
名称 | 类型 | 描述 |
symbol | str | symbol='601006'; 股票代码可以在 ak.stock_zh_a_spot_em() 中获取 |
period | str | period='daily'; 可选值为 {'daily', 'weekly', 'monthly'} |
start_date | str | start_date='20250401'; 开始查询的日期 |
end_date | str | end_date='20250525'; 结束查询的日期 |
adjust | str | 默认返回不复权的数据;qfq:返回前复权后的数据;hfq:返回后复权后的数据 |
timeout | float | timeout=None; 默认不设置超时参数 |
关于前复权和后复权:
由于股票存在配股、分拆、合并和分红发放股息等事件,会导致股价出现较大的差价变化。
为了保证数据连贯性,常通过前复权和后复权对股票系列价格进行调整。
1. 前复权的含义:保持当前价格不变,将历史价格按照发生的股票权益事件进行增减,从而使股价连续。
2. 后复权:保持历史价格不变,在每次股票权益事件发生后,调整当前的股票价格。
输出参数:
名称 | 类型 | 描述 |
日期 | object | 交易日 |
股票代码 | object | 不带市场标识的股票代码 |
开盘 | float64 | 开盘价 |
收盘 | float64 | 收盘价 |
最高 | float64 | 最高价 |
最低 | float64 | 最低价 |
成交量 | int64 | 注意单位:手 |
成交额 | float64 | 注意单位:元 |
振幅 | float64 | 注意单位: % |
涨跌幅 | float64 | 注意单位: % |
涨跌额 | float64 | 注意单位:元 |
换手率 | float64 | 注意单位: % |
代码示例:
import akshare as ak
#获取601006个股2025年4月1日到2025年5月25日期间历史行情,不复权价格
stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="601006", period="daily", start_date="20250401", end_date='20250525', adjust="")
print(stock_zh_a_hist_df)
运行结果:
日期 股票代码 开盘 收盘 最高 ... 成交额 振幅 涨跌幅 涨跌额 换手率
0 2025-04-01 601006 6.52 6.57 6.59 ... 3.735332e+08 1.22 0.46 0.03 0.28
1 2025-04-02 601006 6.56 6.58 6.59 ... 3.798858e+08 1.22 0.15 0.01 0.29
2 2025-04-03 601006 6.56 6.63 6.64 ... 4.682276e+08 1.52 0.76 0.05 0.35
3 2025-04-07 601006 6.50 6.47 6.55 ... 1.187358e+09 3.77 -2.41 -0.16 0.91
4 2025-04-08 601006 6.45 6.73 6.74 ... 1.169471e+09 4.79 4.02 0.26 0.88
5 2025-04-09 601006 6.73 6.76 6.76 ... 7.892758e+08 2.82 0.45 0.03 0.59
6 2025-04-10 601006 6.75 6.68 6.75 ... 9.115922e+08 2.81 -1.18 -0.08 0.68
7 2025-04-11 601006 6.66 6.65 6.68 ... 4.469259e+08 1.35 -0.45 -0.03 0.33
8 2025-04-14 601006 6.62 6.60 6.64 ... 3.450803e+08 0.90 -0.75 -0.05 0.26
9 2025-04-15 601006 6.60 6.68 6.74 ... 6.130105e+08 2.58 1.21 0.08 0.46
10 2025-04-16 601006 6.68 6.81 6.81 ... 7.997145e+08 2.25 1.95 0.13 0.59
11 2025-04-17 601006 6.80 6.85 6.85 ... 4.980634e+08 1.62 0.59 0.04 0.36
12 2025-04-18 601006 6.84 6.77 6.84 ... 2.989857e+08 1.46 -1.17 -0.08 0.22
13 2025-04-21 601006 6.77 6.75 6.81 ... 2.976114e+08 1.03 -0.30 -0.02 0.22
14 2025-04-22 601006 6.75 6.76 6.80 ... 3.047141e+08 0.74 0.15 0.01 0.22
15 2025-04-23 601006 6.77 6.76 6.78 ... 3.173371e+08 1.04 0.00 0.00 0.23
16 2025-04-24 601006 6.76 6.80 6.84 ... 4.025677e+08 1.18 0.59 0.04 0.29
17 2025-04-25 601006 6.80 6.72 6.83 ... 3.225711e+08 1.76 -1.18 -0.08 0.24
18 2025-04-28 601006 6.72 6.77 6.83 ... 3.685955e+08 1.64 0.74 0.05 0.27
19 2025-04-29 601006 6.77 6.77 6.80 ... 2.349956e+08 0.89 0.00 0.00 0.17
20 2025-04-30 601006 6.57 6.49 6.57 ... 9.804841e+08 1.92 -4.14 -0.28 0.75
21 2025-05-06 601006 6.50 6.58 6.59 ... 6.129922e+08 1.85 1.39 0.09 0.47
22 2025-05-07 601006 6.63 6.63 6.64 ... 5.800314e+08 1.67 0.76 0.05 0.44
23 2025-05-08 601006 6.60 6.64 6.68 ... 3.314834e+08 1.66 0.15 0.01 0.25
24 2025-05-09 601006 6.63 6.66 6.70 ... 3.476349e+08 1.36 0.30 0.02 0.26
25 2025-05-12 601006 6.65 6.63 6.67 ... 3.615383e+08 1.35 -0.45 -0.03 0.27
26 2025-05-13 601006 6.65 6.73 6.73 ... 4.705507e+08 1.81 1.51 0.10 0.35
27 2025-05-14 601006 6.72 6.72 6.73 ... 2.961452e+08 0.74 -0.15 -0.01 0.22
28 2025-05-15 601006 6.71 6.71 6.77 ... 3.225478e+08 1.19 -0.15 -0.01 0.24
29 2025-05-16 601006 6.69 6.68 6.71 ... 4.103686e+08 1.49 -0.45 -0.03 0.31
30 2025-05-19 601006 6.66 6.67 6.71 ... 3.000726e+08 0.90 -0.15 -0.01 0.22
31 2025-05-20 601006 6.67 6.65 6.70 ... 2.433403e+08 1.20 -0.30 -0.02 0.18
32 2025-05-21 601006 6.66 6.65 6.69 ... 3.187113e+08 0.75 0.00 0.00 0.24
33 2025-05-22 601006 6.64 6.70 6.70 ... 3.283959e+08 1.35 0.75 0.05 0.24
34 2025-05-23 601006 6.67 6.63 6.75 ... 3.605948e+08 1.79 -1.04 -0.07 0.27
该函数输出结果中,除了包含个股每天收盘价格以外,还有当天最高价、当天最低价数据,这个数据可以用来获取一段时间内例如10年最低价格、10年最高价格等。