股票数据

指数基本信息

async def fetch_index_info(self, *, to_frame=True) -> Union[List[Dict], pd.DataFrame]:

输入:

名称 类型 描述
to_frame bool 是否转DataFrame​格式

输出(仅描述DataFrame​):

名称 类型 描述
code str 指数代码
name str 指数名称
block str 板块
is_margin bool 是否融资融券,字段无意义
listing_date datetime 上市日期,字段无意义

示例:

>>> import qfetch as fetch
>>> await fetch.fetch_index_info()
      code   name block  is_margin listing_date
0     sh000001   上证综指    指数      False   1970-01-01
..        ...    ...  
[12 rows x 5 columns]

指数k线数据

async def fetch_index_bar(self, *, code: str, name: Optional[str] = None,
                              freq: Optional[int] = None,
                              start: Optional[date] = None, end: Optional[date] = None, skip_rt: bool = True, to_frame=True) -> Dict:

输入:

名称 类型 描述
code str 指数代码
name str 指数名称
freq int/BarFreq k线周期
start date 开始时间,默认全部
end date 结束时间,默认全部
skip_rt bool 是否忽略实时行情的数据
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 指数代码
name str 指数名称
freq int/BarFreq k线周期
bars DataFrame -
DataFrame格式
code str 代码
name str 名称
trade_date datetime 交易日
open float 开盘价
close float 收盘价
high float 最高价
low float 最低价
volume int 成交量
amount float 成交额
turnover float 换手率%
chg_pct float 涨跌%
volume_chg_pct float 成交量变化%
amount_chg_pct float 成交额变化%
hfq_factor float 后复权因子

示例:

In [3]: await fetch.fetch_index_bar(code='bj899050')
Out[3]: 
{'code': 'bj899050',
 'name': '北证50',
 'freq': 101,
 'bars':          code  name trade_date         open  ...  chg_pct  volume_chg_pct  amount_chg_pct  hfq_factor
 0    bj899050  北证50 2022-04-29  1000.000000  ...     0.00        0.000000        0.000000         1.0
 ..        ...   ...        ...          ...  ...      ...             ...             ...         ...
 [336 rows x 14 columns]}

股票基本信息

async def fetch_stock_info(self, *, to_frame=True) -> Union[List[Dict], pd.DataFrame]:

输入:

名称 类型 描述
to_frame bool 是否转DataFrame​格式

输出(仅描述DataFrame​):

名称 类型 描述
code str 指数代码
name str 指数名称
block str 板块
is_margin bool 是否融资融券
listing_date datetime 上市日期

示例:

>>> import qfetch as fetch
>>> await fetch.fetch_stock_info()
      code   name block  is_margin listing_date
0     sh600000   浦发银行    主板       True   1999-11-10
..        ...    ...  
[5056 rows x 5 columns]

融资股票信息

async def fetch_stock_info(self, *, to_frame=True) -> Union[List[Dict], pd.DataFrame]:​​

输入:

名称 类型 描述
to_frame bool 是否转DataFrame​格式

输出(仅描述DataFrame​):

名称 类型 描述
code str 股票代码

示例:

>>> import qfetch as fetch
>>> fetch.fetch_stock_is_margin()
      code
0     sz003040
...
[3500 rows x 1 columns]

股票k线数据

async def fetch_stock_bar(self, *, code: str, name: Optional[str] = None,
                              freq: Optional[int] = None,
                              start: Optional[date] = None, end: Optional[date] = None,
                              skip_rt: bool = True,
                              to_frame=True) -> Union[Dict, pd.DataFrame]:

输入:

名称 类型 描述
code str 股票代码
name str 股票名称
freq int/BarFreq k线周期
start date 开始时间,默认全部
end date 结束时间,默认全部
skip_rt bool 是否忽略实时行情的数据
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 股票代码
name str 股票名称
freq int/BarFreq k线周期
bars DataFrame -
DataFrame格式
code str 代码
name str 名称
trade_date datetime 交易日
open float 开盘价
close float 收盘价
high float 最高价
low float 最低价
volume int 成交量
amount float 成交额
turnover float 换手率%
chg_pct float 涨跌%
volume_chg_pct float 成交量变化%
amount_chg_pct float 成交额变化%
hfq_factor float 后复权因子

示例:

In [4]: await fetch.fetch_stock_bar(code='sz003040')
Out[4]: 
{'code': 'sz003040',
 'name': '楚天龙',
 'freq': 101,
 'bars':          code name trade_date   open  ...    chg_pct  volume_chg_pct  amount_chg_pct  hfq_factor
 0    sz003040  楚天龙 2021-03-22   5.54  ...  43.939999        0.000000        0.000000    1.000000
 ..        ...  ...        ...    ...  ...        ...             ...             ...         ...
 
 [605 rows x 14 columns]}

​​股票指标数据​

async def fetch_stock_index(self, *, index_date: Optional[date] = None, to_frame=True) -> Union[Dict[str, Dict], pd.DataFrame]:

输入:

名称 类型 描述
index_date datetime 指标日期
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 股票代码
name str 股票名称
freq int/BarFreq k线周期
bars DataFrame -
DataFrame格式
code str 代码
name str 名称
trade_date datetime 交易日
price float 当前价
pe float 收盘价
pb float 最高价
total_value float 总市值(元)
currency_value float 流通市值(元)

示例:

In [5]: await fetch.fetch_stock_index()
Out[5]: 
          code  name trade_date      price          pe     pb   total_value  currency_value
0     sh601992  金隅集团 2023-09-12   2.180000   28.379999   0.50  2.327754e+10    1.816847e+10
...        ...   ...        ...        ...         ...    ...           ...             ...

[5298 rows x 8 columns]

股票行业数据

async def fetch_stock_industry(self, *, to_frame=True) -> Union[List[Dict], pd.DataFrame]:

输入:

名称 类型 描述
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 行业代码
name str 行业名称

示例:

import qfetch as fetch
await fetch.fetch_stock_industry()
    code   name
0   BK1015   能源金属

股票行业明细

async def fetch_stock_industry_detail(self, *, code: Optional[str] = None,
                                          name: Optional[str] = None,
                                          to_frame=True) -> Union[List[Dict], pd.DataFrame]:

输入:

名称 类型 描述
code str 行业代码
name str 行业名称
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 行业代码
name str 行业名称
stock_code str 股票代码
sotck_name str 股票名称

示例:

In [9]: await fetch.fetch_stock_industry_detail(code='BK1046', name='游戏')
Out[9]: 
      code name stock_code stock_name
0   BK1046   游戏   sz300052        中青宝
1   BK1046   游戏   sh600715       文投控股
...

In [10]: 

股票行业日线数据

async def fetch_stock_industry_daily(self, *, code: str, name: Optional[str] = None,
                                         start: Optional[date] = None, end: Optional[date] = None,
                                         skip_rt: bool = True,
                                         to_frame=True) -> Union[Dict, pd.DataFrame]:

输入:

名称 类型 描述
code str 股票代码
name str 股票名称
start date 开始时间,默认全部
end date 结束时间,默认全部
skip_rt bool 是否忽略实时行情的数据
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 股票代码
name str 股票名称
freq int/BarFreq k线周期
bars DataFrame -
DataFrame格式
code str 代码
name str 名称
trade_date datetime 交易日
open float 开盘价
close float 收盘价
high float 最高价
low float 最低价
volume int 成交量
amount float 成交额
turnover float 换手率%
chg_pct float 涨跌%
volume_chg_pct float 成交量变化%
amount_chg_pct float 成交额变化%
hfq_factor float 后复权因子

示例:

In [10]: await fetch.fetch_stock_industry_daily(code='BK0474')
Out[10]: 
{'code': 'BK0474',
 'name': '保险',
 'freq': 101,
 'bars':         code name trade_date         open  ...  chg_pct  volume_chg_pct  amount_chg_pct  hfq_factor
 0     BK0474   保险 2007-01-09  1000.000000  ...     5.22        0.000000        0.000000         1.0
 ...      ...  ...        ...          ...  ...      ...             ...             ...         ...

 [4057 rows x 14 columns]}

股票概念数据

async def fetch_stock_concept(self, *, to_frame=True) -> Union[List[Dict], pd.DataFrame]:

输入:

名称 类型 描述
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 概念代码
name str 概念名称

示例:

In [11]: await fetch.fetch_stock_concept()
Out[11]: 
       code   name
0    BK1092   麒麟电池
.. .. ..
[432 rows x 2 columns]

股票概念明细

async def fetch_stock_concept_detail(self, *, code: Optional[str] = None,
                                          name: Optional[str] = None,
                                          to_frame=True) -> Union[List[Dict], pd.DataFrame]:

输入:

名称 类型 描述
code str 概念代码
name str 概念名称
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 行业代码
name str 行业名称
stock_code str 股票代码
sotck_name str 股票名称

示例:

In [13]: await fetch.fetch_stock_concept_detail(code='BK1084', name='数字哨兵')
Out[13]: 
      code  name stock_code stock_name
0   BK1084  数字哨兵   sz300188       美亚柏科
1   BK1084  数字哨兵   sz002908       德生科技
.. .. ..

股票概念日线数据

async def fetch_stock_concept_daily(self, *, code: str, name: Optional[str] = None,
                                         start: Optional[date] = None, end: Optional[date] = None,
                                         skip_rt: bool = True,
                                         to_frame=True) -> Union[Dict, pd.DataFrame]:

输入:

名称 类型 描述
code str 概念代码
name str 概念名称
start date 开始时间,默认全部
end date 结束时间,默认全部
skip_rt bool 是否忽略实时行情的数据
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 概念代码
name str 概念名称
freq int/BarFreq k线周期
bars DataFrame -
DataFrame格式
code str 代码
name str 名称
trade_date datetime 交易日
open float 开盘价
close float 收盘价
high float 最高价
low float 最低价
volume int 成交量
amount float 成交额
turnover float 换手率%
chg_pct float 涨跌%
volume_chg_pct float 成交量变化%
amount_chg_pct float 成交额变化%
hfq_factor float 后复权因子

示例:

In [15]: await fetch.fetch_stock_concept_daily(code='BK1084')
Out[15]: 
{'code': 'BK1084',
 'name': '数字哨兵',
 'freq': 101,
 'bars':        code  name trade_date         open  ...  chg_pct  volume_chg_pct  amount_chg_pct  hfq_factor
 0    BK1084  数字哨兵 2022-05-17   999.750000  ...    -1.16        0.000000        0.000000         1.0
 ..      ...   ...        ...          ...  ...      ...             ...             ...         ...
 
 [327 rows x 14 columns]}

股票融资融券

 async def fetch_stock_margin(self, *, code: str, start: Optional[date] = None, end: Optional[date] = None,
                                 to_frame=True) -> Union[List[Dict], pd.DataFrame]:

输入:

名称 类型 描述
code str 股票代码
start date 开始时间,默认全部
end date 结束时间,默认全部
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 股票代码
name str 股票名称
trade_date datetime 交易日
close float 收盘价
chg_pct float 涨跌%
rz_ye float 融资: 余额(元)
rz_ye_zb flaot 余额占流通市值比(%)
​rz_mre​ float 买入额(元)
​rz_che​ float ​偿还额(元)​
​rz_jme​ float ​​​净买入(元)​​
​rq_ye​ float ​​​​融券: 余额(元)​​​
​rq_yl​ float ​余量(股)​
​rq_mcl​ float ​卖出量(股)​
​rq_chl​ int ​偿还量(股)​
​rq_jmg​ int ​净卖出(股)​
​rz_rq_ye​ falot ​融资融券余额(元)​
​rz_rq_ye_cz​ float ​融资融券余额差值(元)​

示例:

n [17]: await fetch.fetch_stock_margin(code='sz000001')
Out[17]: 
          code  name trade_date      close  chg_pct  ...  rq_mcl   rq_chl  rq_jmg      rz_rq_ye   rz_rq_ye_cz
0     sz000001  平安银行 2023-09-11  11.340000   0.6211  ...   72300   232700 -160400  4.306517e+09  4.274436e+09
...        ...   ...        ...        ...      ...  ...     ...      ...     ...           ...           ...

[3256 rows x 16 columns]

股票业绩报表

async def fetch_stock_yjbb(self, *, year: int, season: int,
                               to_frame=True) -> Union[List[Dict], pd.DataFrame]:

输入:

名称 类型 描述
year int 年份
season int 季度: 1, 2, 3, 4
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
year ing 年份
season ing 季度: 1, 2, 3, 4
season_date datetime 季度时间
code str 股票代码
name str 股票名称
mg_sy float ​​​每股收益​​
yysr float 营业收入
yysr_tbzz float 营业收入-同比增长
yysr_jdhbzz flaot 营业收入-季度环比增长
jlr float 净利润
jlr_tbzz float 净利润-同比增长
jlr_jdhbzz float 净利润-季度环比增长
mg_jzc float 每股净资产
jzc_syl float 净资产收益率
mg_jy_xjl float 每股经营现金流量
xs_mll float 销售毛利率

示例:

In [20]: await fetch.fetch_stock_yjbb(year=2023, season=2)
Out[20]: 
       year  season season_date      code  name  ...  jlr_jdhbzz    mg_jzc   jzc_syl  mg_jy_xjl     xs_mll
0      2023       2  2023-06-30  sh688657  浩辰软件  ...    0.000000  9.646614  9.646614   0.756221  91.050240
...     ...     ...         ...       ...   ...  ...         ...       ...       ...        ...        ...

[11657 rows x 16 columns]

股票实时排名

async def fetch_stock_hot_rank(self, *, code: Union[str, list],
                                   to_frame=True) -> Union[Dict, pd.DataFrame]:

输入:

名称 类型 描述
code Union[str, list]
单个或一组股票代码

输出:

名称 类型 描述
code str 行业代码
market_all_count str 行业名称
rank int 当前排名
rank_chg int 排名变化
calc_time datetime 当天时间

示例:

In [21]: await fetch.fetch_stock_hot_rank(code ='sz000001')
Out[21]: 
       code  market_all_count  rank  rank_chg           calc_time
0  sz000001 

股票千股千评

async def fetch_stock_comment(*, code: Optional[Union[List[str], str]] = None,
                              to_frame=True) -> Union[Dict, pd.DataFrame]

输入:

名称 类型 描述
code Union[str, list]
单个或一组股票代码

输出:

主力成本名称 类型 描述
code str 行业代码
name str 行业名称
close float 收盘价
chg_pct float 涨跌%
turnover float 换手率
pe float 市盈率
cost float 主力成本
engage float 主力参与度
score float 综合得分
rank int 排名
rank_chg float 排名变化
attention float 关注度
trade_date datetime 当天时间

示例:

In [17]: await fetch.fetch_stock_comment(code=['sz000001'])
Out[17]:
       code  name  close  chg_pct  turnover  ...      score  rank  rank\_chg  attention      trade\_date
0  sz000001  平安银行  10.47     0.87      0.55  ...  71.047424   233      -414       90.0  20240823000000
[1 rows x 13 columns] 

股票千股千评历史

async def fetch_stock_comment_his(*, code: str,
                                  to_frame=True) -> Union[Dict, pd.DataFrame]:

输入:

名称 类型 描述
code Union[str, list]
单个或一组股票代码

输出:

主力成本名称 类型 描述
code str 行业代码
name str 行业名称
close float 收盘价
chg_pct float 涨跌%
turnover float 换手率
pe float 市盈率
cost float 主力成本
engage float 主力参与度
score float 综合得分
rank int 排名
rank_chg float 排名变化
attention float 关注度
trade_date datetime 交易日

示例:

In [18]: await fetch.fetch\_stock\_comment\_his(code\='sz000001')
Out[18]:
        code  name  close  chg\_pct  turnover  ...      score  rank  rank\_chg  attention      trade\_date
0   sz000001  平安银行   9.98  -0.2000    0.4880  ...   0.000000     0         0   0.000000  20240624000000
1   sz000001  平安银行  10.08   1.0020    0.3968  ...   0.000000     0         0   0.000000  20240625000000
2   sz000001  平安银行  10.08   0.0000    0.3239  ...   0.000000     0         0   0.000000  20240626000000
3   sz000001  平安银行  10.13   0.4960    0.4787  ...   0.000000     0         0   0.000000  20240627000000
4   sz000001  平安银行  10.15   0.1974    0.4731  ...   0.000000     0         0   0.000000  20240628000000
5   sz000001  平安银行  10.35   1.9704    0.6921  ...   0.000000     0         0   0.000000  20240701000000
6   sz000001  平安银行  10.40   0.4831    0.7134  ...   0.000000     0         0   0.000000  20240702000000
7   sz000001  平安银行  10.31  -0.8654    0.3675  ...   0.000000     0         0   0.000000  20240703000000
8   sz000001  平安银行  10.26  -0.4850    0.3788  ...   0.000000     0         0   0.000000  20240704000000
9   sz000001  平安银行   9.97  -2.8265    0.8829  ...   0.000000     0         0   0.000000  20240705000000
10  sz000001  平安银行   9.93  -0.4012    0.4476  ...   0.000000     0         0   0.000000  20240708000000
11  sz000001  平安银行  10.07   1.4099    0.5321  ...   0.000000     0         0   0.000000  20240709000000
12  sz000001  平安银行  10.14   0.6951    0.4503  ...   0.000000     0         0   0.000000  20240710000000
13  sz000001  平安银行  10.13  -0.0986    0.3717  ...   0.000000     0         0   0.000000  20240711000000
14  sz000001  平安银行  10.31   1.7769    0.6257  ...   0.000000     0         0   0.000000  20240712000000
15  sz000001  平安银行  10.33   0.1940    0.4480  ...  63.161259   149       230  90.800003  20240715000000
16  sz000001  平安银行  10.30  -0.2904    0.4859  ...  64.401863   201       -52  88.400002  20240716000000
17  sz000001  平安银行  10.40   0.9709    0.6288  ...  64.775063   224       -23  88.000000  20240717000000
18  sz000001  平安银行  10.41   0.0962    0.5602  ...  64.658623   182        42  88.800003  20240718000000
19  sz000001  平安银行  10.37  -0.3842    0.4631  ...  63.469402   188        -6  89.199997  20240719000000
20  sz000001  平安银行  10.23  -1.3500    0.5125  ...  63.452164   416      -228  85.199997  20240722000000
21  sz000001  平安银行  10.18  -0.4888    0.5257  ...  63.272633   409         7  85.599998  20240723000000
22  sz000001  平安银行  10.13  -0.4912    0.3734  ...  62.601505   453       -44  84.400002  20240724000000
23  sz000001  平安银行  10.09  -0.3949    0.4413  ...  62.226879   411        42  85.199997  20240725000000
24  sz000001  平安银行  10.03  -0.5946    0.4790  ...  62.834686   443       -32  84.800003  20240726000000
25  sz000001  平安银行  10.11   0.7976    0.4027  ...  66.200012   503       -60  85.199997  20240729000000
26  sz000001  平安银行  10.08  -0.2967    0.3160  ...  61.531887   476        27  84.800003  20240730000000
27  sz000001  平安银行  10.27   1.8849    0.5653  ...  69.033257   507       -31  84.400002  20240731000000
28  sz000001  平安银行  10.27   0.0000    0.3782  ...  64.054733   682      -175  82.400002  20240801000000
29  sz000001  平安银行  10.14  -1.2658    0.3042  ...  61.089195   777       -95  81.599998  20240802000000
30  sz000001  平安银行  10.05  -0.8876    0.3911  ...  62.205414   649       128  83.599998  20240805000000
31  sz000001  平安银行   9.93  -1.1940    0.6521  ...  62.438190   792      -143  82.000000  20240806000000
32  sz000001  平安银行   9.93   0.0000    0.2667  ...  60.818207   881       -89  81.199997  20240807000000
33  sz000001  平安银行   9.94   0.1007    0.2579  ...  64.815414   974       -93  80.400002  20240808000000
34  sz000001  平安银行  10.04   1.0060    0.3763  ...  65.761078   946        28  80.800003  20240809000000
35  sz000001  平安银行  10.01  -0.2988    0.1819  ...  61.457481   703       243  83.199997  20240812000000
36  sz000001  平安银行   9.95  -0.5994    0.3206  ...  62.377365   728       -25  82.400002  20240813000000
37  sz000001  平安银行   9.92  -0.3015    0.2249  ...  62.039284   734        -6  82.400002  20240814000000
38  sz000001  平安银行  10.03   1.1089    0.4000  ...  66.938240   737        -3  82.400002  20240815000000
39  sz000001  平安银行  10.13   0.9970    0.6495  ...  68.291466   509       228  84.400002  20240816000000
40  sz000001  平安银行  10.29   1.5795    0.7642  ...  67.467194   368       141  86.400002  20240819000000
41  sz000001  平安银行  10.34   0.4859    0.8086  ...  64.091919   134       234  89.199997  20240820000000
42  sz000001  平安银行  10.35   0.0967    0.5333  ...  64.804741   107        27  90.000000  20240821000000
43  sz000001  平安银行  10.38   0.2899    0.5715  ...  63.826473   119       -12  89.599998  20240822000000
44  sz000001  平安银行  10.47   0.8671    0.5524  ...  71.047424   119         0  90.000000  20240823000000
[45 rows x 13 columns]

股票全量实时行情

async def fetch_stock_rt_quot(*, codes: Optional[Union[str, List[str]]], to_frame=True) -> Union[List[Dict], pd.DataFrame]

注意,该接口是准实时,有几秒的延迟,切勿高频,只使用与股票的全量行情获取。

输入:

名称 类型 描述
codes Optional[Union[str, List[str]]] 代码列表
to_frame bool 是否转DataFrame​格式

输出:

名称 类型 描述
code str 代码
name str 名称
last_close float 昨收价
price float 现价
open float 开盘价
high float 最高价
low float 最低价
pe float 市盈率
pb float 市净率
chg float 涨跌额
chg_pct float 涨跌%
volume int 成交量
amount float 成交额
turnover float 换手率%,可转债等没有该值
total_value float 总市值,可转债等没有该值
currency_value float 流通市值,可转债等没有该值
rise_speed float 涨速
vol_ratio float 量化

示例:

In [3]: await fetch.fetch_stock_rt_quot(code =['bj873576', 'sz000001'])
Out[3]: 
       code                time  last_close   open  ...  turnover   total_value  currency_value  is_trading
0  sz000001 2023-09-12 15:04:42       11.34  11.35  ...      0.26  2.188988e+11    2.188946e+11       False
1  bj873576 2023-09-12 15:32:21       13.45  13.33  ...      1.01  1.446856e+09    3.959731e+08       False

[2 rows x 15 columns]