AKShare-股票数据-B 股数据

数据科学实战

共 17950字,需浏览 36分钟

 · 2021-09-28

作者寄语

本次更新 B 股的实时行情和历史行情数据,当然也包括了分时行情的数据。

更新接口

  • "stock_zh_b_spot_em" # 实时行情数据-东财
  • "stock_zh_b_spot" # 实时行情数据-新浪
  • "stock_zh_b_daily" # 历史行情数据
  • "stock_zh_b_minute" # 分时数据

B股

实时行情数据

实时行情数据-东财

接口: stock_zh_b_spot_em

目标地址: http://quote.eastmoney.com/center/gridlist.html#hs_b_board

描述: 东方财富网-实时行情数据

限量: 单次返回所有 B 股上市公司的实时行情数据

输入参数

名称类型描述
---

输出参数

名称类型描述
序号int64-
代码object-
名称object-
最新价float64-
涨跌幅float64注意单位: %
涨跌额float64-
成交量float64注意单位: 手
成交额float64注意单位: 元
振幅float64注意单位: %
最高float64-
最低float64-
今开float64-
昨收float64-
量比float64-
换手率float64注意单位: %
市盈率-动态float64-
市净率float64-

接口示例

import akshare as ak
stock_zh_b_spot_em_df = ak.stock_zh_b_spot_em()
print(stock_zh_b_spot_em_df)

数据示例

      序号      代码    名称     最新价   涨跌幅  ...      昨收    量比   换手率  市盈率-动态   市净率
0      1  900920  上柴B股   0.585  3.72  ...   0.564  3.89  1.16   13.90  0.63
1      2  200054   建车B   6.100  3.39  ...   5.900  4.46  0.47  -38.36  3.66
2      3  900926   宝信B   3.759  1.54  ...   3.702  1.40  0.54   19.95  4.57
3      4  200596  古井贡B  98.000  1.03  ...  97.000  0.99  0.09   15.63  2.76
4      5  900923  百联B股   0.898  1.01  ...   0.889  1.71  0.15   10.13  0.59
..   ...     ...   ...     ...   ...  ...     ...   ...   ...     ...   ...
109  110  900947  振华B股   0.294 -4.23  ...   0.307  0.96  0.22   58.32  0.71
110  111  900921  丹科B股   0.244 -4.69  ...   0.256  0.59  1.05  -33.44  1.23
111  112  200771  杭汽轮B  14.940 -4.84  ...  15.700  2.46  0.31   11.01  1.13
112  113  900946  天雁B股   0.212 -5.36  ...   0.224  0.95  0.50  135.68  1.85
113  114  900908  氯碱B股   0.653 -6.71  ...   0.700  1.72  1.67    3.66  0.86

实时行情数据-新浪

接口: stock_zh_b_spot

目标地址: http://vip.stock.finance.sina.com.cn/mkt/#hs_b

描述: B 股数据是从新浪财经获取的数据, 重复运行本函数会被新浪暂时封 IP, 建议增加时间间隔

限量: 单次返回所有 B 股上市公司的实时行情数据

输入参数-实时行情数据

名称类型描述
---

输出参数-实时行情数据

名称类型描述
代码str-
名称str-
最新价float-
涨跌额float-
涨跌幅float注意单位: %
买入float-
卖出float-
昨收float-
今开float-
最高float-
最低float-
成交量float注意单位: 股
成交额float注意单位: 元

接口示例-实时行情数据

import akshare as ak
stock_zh_b_spot_df = ak.stock_zh_b_spot()
print(stock_zh_b_spot_df)

数据示例-实时行情数据

    代码        名称     最新价    涨跌额  ...      最高      最低         成交量         成交额
0   sh900901  云赛B股   0.451  0.001  ...   0.459   0.447   869400.0    395346.0
1   sh900902  市北B股   0.290 -0.004  ...   0.294   0.290   858200.0    251011.0
2   sh900903  大众B股   0.290 -0.006  ...   0.296   0.289  1775362.0    518333.0
3   sh900904  神奇B股   0.536 -0.006  ...   0.540   0.531    37060.0     19907.0
4   sh900905  老凤祥B   3.498 -0.011  ...   3.509   3.495   300400.0   1051414.0
..       ...   ...     ...    ...  ...     ...     ...        ...         ...
85  sz200761  本钢板B   3.260 -0.120  ...   3.380   3.240  2190800.0   7214306.0
86  sz200771  杭汽轮B  14.940 -0.760  ...  15.800  14.660   839948.0  12673391.0
87  sz200869  张 裕B  14.000  0.000  ...  14.000  13.810   176407.0   2461886.0
88  sz200992  中 鲁B   3.120  0.000  ...   3.130   3.080    17700.0     55129.0
89  sz201872   招港B   8.780 -0.220  ...   9.050   8.750   313566.0   2776833.0

历史行情数据

历史行情数据

接口: stock_zh_b_daily

目标地址: https://finance.sina.com.cn/realstock/company/sh900901/nc.shtml(示例)

描述: B 股数据是从新浪财经获取的数据, 历史数据按日频率更新

限量: 单次返回指定 B 股上市公司指定日期间的历史行情日频率数据

输入参数

名称类型描述
symbolstrsymbol='sh900901'; 股票代码可以在 ak.stock_zh_b_spot() 中获取
start_datestrstart_date='20201103'; 开始查询的日期
end_datestrend_date='20201116'; 结束查询的日期
adjuststr默认返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据; hfq-factor: 返回后复权因子; qfq-factor: 返回前复权因子

股票数据复权

1.为何要复权:由于股票存在配股、分拆、合并和发放股息等事件,会导致股价出现较大的缺口。若使用不复权的价格处理数据、计算各种指标,将会导致它们失去连续性,且使用不复权价格计算收益也会出现错误。为了保证数据连贯性,常通过前复权和后复权对价格序列进行调整。

2.前复权:保持当前价格不变,将历史价格进行增减,从而使股价连续。前复权用来看盘非常方便,能一眼看出股价的历史走势,叠加各种技术指标也比较顺畅,是各种行情软件默认的复权方式。这种方法虽然很常见,但也有两个缺陷需要注意。

2.1 为了保证当前价格不变,每次股票除权除息,均需要重新调整历史价格,因此其历史价格是时变的。这会导致在不同时点看到的历史前复权价可能出现差异。

2.2 对于有持续分红的公司来说,前复权价可能出现负值。

3.后复权:保证历史价格不变,在每次股票权益事件发生后,调整当前的股票价格。后复权价格和真实股票价格可能差别较大,不适合用来看盘。其优点在于,可以被看作投资者的长期财富增长曲线,反映投资者的真实收益率情况。

4.在量化投资研究中普遍采用后复权数据。

输出参数-历史行情数据

名称类型描述
datedatetime64交易日
closefloat64收盘价
highfloat64最高价
lowfloat64最低价
openfloat64开盘价
volumefloat64成交量; 注意单位: 股
outstanding_sharefloat64流动股本; 注意单位: 股
turnoverfloat64换手率=成交量/流动股本

接口示例-历史行情数据(前复权)

import akshare as ak
stock_zh_b_daily_qfq_df = ak.stock_zh_b_daily(symbol="sh900901", start_date="20101103", end_date="20201116", adjust="qfq")
print(stock_zh_b_daily_qfq_df)

数据示例-历史行情数据(前复权)

           date  open  high  ...     volume  outstanding_share  turnover
0    2010-11-03  0.55  0.55  ...  1508633.0        293370465.0  0.005142
1    2010-11-04  0.54  0.54  ...  1791380.0        293370465.0  0.006106
2    2010-11-05  0.54  0.55  ...  1700666.0        293370465.0  0.005797
3    2010-11-08  0.55  0.56  ...  2519000.0        293370465.0  0.008586
4    2010-11-09  0.56  0.56  ...  1569375.0        293370465.0  0.005349
         ...   ...   ...  ...        ...                ...       ...
2276 2020-11-10  0.49  0.49  ...   105610.0        293370465.0  0.000360
2277 2020-11-11  0.49  0.49  ...   257303.0        293370465.0  0.000877
2278 2020-11-12  0.49  0.49  ...   172259.0        293370465.0  0.000587
2279 2020-11-13  0.48  0.49  ...   172150.0        293370465.0  0.000587
2280 2020-11-16  0.48  0.49  ...   236700.0        293370465.0  0.000807

接口示例-历史行情数据(后复权)

import akshare as ak
stock_zh_b_daily_hfq_df = ak.stock_zh_b_daily(symbol="sh900901", start_date='20201103', end_date='20201116', adjust="hfq")
print(stock_zh_b_daily_hfq_df)

数据示例-历史行情数据(后复权)

        date    open    high  ...    volume  outstanding_share  turnover
0 2020-11-03  180.74  184.17  ...  259617.0        293370465.0  0.000885
1 2020-11-04  184.17  187.97  ...  171320.0        293370465.0  0.000584
2 2020-11-05  184.93  187.97  ...  403833.0        293370465.0  0.001377
3 2020-11-06  187.97  187.97  ...  108805.0        293370465.0  0.000371
4 2020-11-09  185.69  190.64  ...  415910.0        293370465.0  0.001418
5 2020-11-10  190.26  190.26  ...  105610.0        293370465.0  0.000360
6 2020-11-11  188.35  189.11  ...  257303.0        293370465.0  0.000877
7 2020-11-12  189.11  189.11  ...  172259.0        293370465.0  0.000587
8 2020-11-13  185.69  188.73  ...  172150.0        293370465.0  0.000587
9 2020-11-16  186.83  189.49  ...  236700.0        293370465.0  0.000807

接口示例-前复权因子

import akshare as ak
qfq_factor_df = ak.stock_zh_b_daily(symbol="sh900901", adjust="qfq-factor")
print(qfq_factor_df)

数据示例-前复权因子

         date            qfq_factor
0  2021-07-28    1.0000000000000000
1  2020-07-24    1.0198866222149000
2  2019-07-26    1.0348110274690000
3  2018-07-27    1.0498863629661000
4  2017-06-01    1.0683657827715000
5  2016-06-07    1.0812587249539000
6  2007-06-26    1.0888116113319000
7  2006-06-07    1.1976927724651000
8  2005-06-09    1.3880065788605000
9  2004-06-09    1.4194157006466000
10 2003-06-11    1.4324281797957000
11 2002-06-19    1.4463411525706000
12 2001-07-17    1.5936677862694000
13 2000-06-23    1.6120404854245000
14 1998-07-07    1.8138100600697000
15 1996-06-03    2.1765720720836000
16 1995-05-29    2.3942292792919000
17 1994-05-09    2.8730751351503000
18 1993-03-29    3.3877374747485000
19 1992-12-01    3.8807719054656000
20 1992-02-21  388.0771905465590000
21 1900-01-01  388.0771905465590000

接口示例-后复权因子

import akshare as ak
hfq_factor_df = ak.stock_zh_b_daily(symbol="sh900901", adjust="hfq-factor")
print(hfq_factor_df)

数据示例-后复权因子

         date            hfq_factor
0  2021-07-28  388.0771905465590000
1  2020-07-24  380.5101293551464000
2  2019-07-26  375.0222796675719000
3  2018-07-27  369.6373286059189000
4  2017-06-01  363.2437474175006300
5  2016-06-07  358.9124245569568600
6  2007-06-26  356.4227149192948300
7  2006-06-07  324.0206499266317000
8  2005-06-09  279.5931924653872300
9  2004-06-09  273.4062969500634000
10 2003-06-11  270.9226165893487000
11 2002-06-19  268.3164963237175600
12 2001-07-17  243.5119752624272000
13 2000-06-23  240.7366279292711800
14 1998-07-07  213.9569071149911000
15 1996-06-03  178.2974225958258000
16 1995-05-29  162.0885659962053200
17 1994-05-09  135.0738049968378200
18 1993-03-29  114.5535016922676000
19 1992-12-01  100.0000000000000000
20 1992-02-21    1.0000000000000000
21 1900-01-01    1.0000000000000000

分时数据

接口: stock_zh_b_minute

目标地址: http://finance.sina.com.cn/realstock/company/sh900901/nc.shtml

描述: 新浪财经 B 股股票或者指数的分时数据,目前可以获取 1, 5, 15, 30, 60 分钟的数据频率, 可以指定是否复权

限量: 单次返回指定股票或指数的指定频率的最近交易日的历史分时行情数据

输入参数

名称类型描述
symbolstrsymbol='sh900901'; 同日频率数据接口
periodstrperiod='1'; 获取 1, 5, 15, 30, 60 分钟的数据频率
adjuststradjust=""; 默认为空: 返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据;

输出参数

名称类型描述
dayobject-
openfloat64-
highfloat64-
lowfloat64-
closefloat64-
volumefloat64-

接口示例

import akshare as ak
stock_zh_b_minute_df = ak.stock_zh_b_minute(symbol='sh900901', period='1', adjust="qfq")
print(stock_zh_b_minute_df)

数据示例

                       day      open      high   low  close volume
0      2020-10-30 11:24:00  0.471946  0.471946  0.47   0.47  20000
1      2020-10-30 11:27:00  0.470973  0.470973  0.47   0.47  11300
2      2020-10-30 13:01:00  0.470973  0.470973  0.47   0.47   7400
3      2020-10-30 13:03:00  0.470000  0.470000  0.47   0.47   2993
4      2020-10-30 13:05:00  0.470000  0.470000  0.47   0.47      7
                    ...       ...       ...   ...    ...    ...
19995  2021-09-24 14:52:00  0.450998  0.450998  0.45   0.45  10350
19996  2021-09-24 14:55:00  0.450000  0.450000  0.45   0.45   5000
19997  2021-09-24 14:56:00  0.450000  0.450000  0.45   0.45   4000
19998  2021-09-24 14:57:00  0.450000  0.450000  0.45   0.45    100
19999  2021-09-24 15:00:00  0.450000  0.450000  0.45   0.45  11100


浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报