获取股票概况

包含股票的上市时间、退市时间、代码、名称、是否是ST等。

获取合约基础信息数据

该信息每交易日9点更新

内置Python

提示

旧版本客户端中,函数名为ContextInfo.get_instrumentdetail

调用方法


ContextInfo.get_instrument_detail(stockcode)

释义

根据代码获取合约详细信息

参数

字段名数据类型解释
stockcodestring标的名称,必须是 'stock.market' 形式

返回值

根据stockcode返回一个dict。该字典数据key值有:

名称类型描述
ExchangeIDstring合约市场代码
InstrumentIDstring合约代码
InstrumentNamestring合约名称
ProductIDstring合约的品种ID(期货)
ProductNamestring合约的品种名称(期货)
ProductTypeint合约的类型, 默认-1,枚举值可参考下方说明
ExchangeCodestring交易所代码
UniCodestring统一规则代码
CreateDatestr创建日期
OpenDatestr上市日期(特殊值情况见表末)
ExpireDateint退市日或者到期日(特殊值情况见表末)
PreClosefloat前收盘价格
SettlementPricefloat前结算价格
UpStopPricefloat当日涨停价
DownStopPricefloat当日跌停价
FloatVolumefloat流通股本(注意,部分低等级客户端中此字段为FloatVolumn)
TotalVolumefloat总股本(注意,部分低等级客户端中此字段为FloatVolumn)
LongMarginRatiofloat多头保证金率
ShortMarginRatiofloat空头保证金率
PriceTickfloat最小价格变动单位
VolumeMultipleint合约乘数(对期货以外的品种,默认是1)
MainContractint主力合约标记,1、2、3分别表示第一主力合约,第二主力合约,第三主力合约
LastVolumeint昨日持仓量
InstrumentStatusint合约停牌状态(<=0:正常交易(-1:复牌);>=1停牌天数;)
IsTradingbool合约是否可交易
IsRecentbool是否是近月合约

提示

字段OpenDate有以下几种特殊值: 19700101=新股, 19700102=老股东增发, 19700103=新债, 19700104=可转债, 19700105=配股, 19700106=配号 字段ExpireDate为0 或 99999999 时,表示该标的暂无退市日或到期日

字段ProductType 对于股票以外的品种,有以下几种值

国内期货市场:1-期货 2-期权(DF SF ZF INE GF) 3-组合套利 4-即期 5-期转现 6-期权(IF) 7-结算价交易(tas) 沪深股票期权市场:0-认购 1-认沽 外盘: 1-100:期货, 101-200:现货, 201-300:股票相关 1:股指期货 2:能源期货 3:农业期货 4:金属期货 5:利率期货 6:汇率期货 7:数字货币期货 99:自定义合约期货 107:数字货币现货 201:股票 202:GDR 203:ETF 204:ETN 300:其他

示例

# coding:gbk
def init(C):
	pass
	
def handlebar(C):
	data = C.get_instrumentdetail("000001.SZ")
	print(data)

原生Python

调用方法

from xtquant import xtdata
xtdata.get_instrument_detail(stock_code)

参数

名称类型描述
stock_codestring合约代码

返回值

  • 一个字典, 有如下键值,找不到指定合约时返回None:
名称类型描述
ExchangeIDstring合约市场代码
InstrumentIDstring合约代码
InstrumentNamestring合约名称
ProductIDstring合约的品种ID(期货)
ProductNamestring合约的品种名称(期货)
ProductTypeint合约的类型, 默认-1,枚举值可参考下方说明
ExchangeCodestring交易所代码
UniCodestring统一规则代码
CreateDatestr创建日期
OpenDatestr上市日期(特殊值情况见表末)
ExpireDateint退市日或者到期日(特殊值情况见表末)
PreClosefloat前收盘价格
SettlementPricefloat前结算价格
UpStopPricefloat当日涨停价
DownStopPricefloat当日跌停价
FloatVolumefloat流通股本(注意,部分低等级客户端中此字段为FloatVolumn)
TotalVolumefloat总股本(注意,部分低等级客户端中此字段为FloatVolumn)
LongMarginRatiofloat多头保证金率
ShortMarginRatiofloat空头保证金率
PriceTickfloat最小价格变动单位
VolumeMultipleint合约乘数(对期货以外的品种,默认是1)
MainContractint主力合约标记,1、2、3分别表示第一主力合约,第二主力合约,第三主力合约
LastVolumeint昨日持仓量
InstrumentStatusint合约停牌状态(<=0:正常交易(-1:复牌);>=1停牌天数;)
IsTradingbool合约是否可交易
IsRecentbool是否是近月合约

提示

字段OpenDate有以下几种特殊值: 19700101=新股, 19700102=老股东增发, 19700103=新债, 19700104=可转债, 19700105=配股, 19700106=配号 字段ExpireDate为0 或 99999999 时,表示该标的暂无退市日或到期日

字段ProductType 对于股票以外的品种,有以下几种值

国内期货市场:1-期货 2-期权(DF SF ZF INE GF) 3-组合套利 4-即期 5-期转现 6-期权(IF) 7-结算价交易(tas) 沪深股票期权市场:0-认购 1-认沽 外盘: 1-100:期货, 101-200:现货, 201-300:股票相关 1:股指期货 2:能源期货 3:农业期货 4:金属期货 5:利率期货 6:汇率期货 7:数字货币期货 99:自定义合约期货 107:数字货币现货 201:股票 202:GDR 203:ETF 204:ETN 300:其他

示例

from xtquant import xtdata

# 输出平安银行信息的中文名称
xtdata.get_instrument_detail("000001.SZ")

获取板块成分股列表

调用方法

from xtquant import xtdata
xtdata.get_stock_list_in_sector(sector_name)

参数

名称类型描述
sector_namestring版块名称

返回

  • list

示例

from xtquant import xtdata
# 获取沪深A股全部股票的代码
xtdata.get_stock_list_in_sector("沪深A股")

获取某只股票ST的历史

内置python

提示

  1. 本函数需要下载历史ST数据(过期合约K线),可通过界面端数据管理 - 过期合约数据下载
  2. 该数据是VIP权限数据在新窗口打开

原型

ContextInfo.get_his_st_data(stockcode)

释义

获取某只股票ST的历史

参数

字段名数据类型解释
stockcodestring股票代码,'stkcode.market',如'000004.SZ'

返回值

dict,st历史,key为ST,*ST,PT,历史未ST会返回{}

示例

# coding:gbk
def init(C):
	pass
	
def handlebar(C):
	print(C.get_his_st_data('000004.SZ'))

原生python

提示

  1. 获取该数据前需要先调用xtdata.download_his_st_data()进行数据下载
  2. 该数据是VIP权限数据在新窗口打开

调用方法

from xtquant import xtdata
xtdata.get_his_st_data(stock_code)

参数

名称类型描述
stock_codestring股票代码

返回值

  • dict类型的st历史,key为ST,*ST,PT,历史未ST会返回{}
名称类型描述
STlistST时间段
*STlist*ST时间段
PTlistPT时间段

示例

from xtquant import xtdata
import time
# 下载市场历史ST情况
xtdata.download_his_st_data()

# 由于download_his_st_data是异步函数,需要确保下载完成

time.sleep(3)

# 获取000004.SZ历史ST情况
xtdata.get_his_st_data('000004.SZ')

获取行情数据

交易类数据提供股票的交易行情数据,通过API接口调用即可获取相应的数据。

具体请查看API, 数据获取部分行情相关接口 数据获取函数在新窗口打开

名称描述
get_market_data获取历史数据与实时行情(包含tick数据),可查询多个标的多个数据字段,返回数据格式为 {field:DataFrame}
get_market_data_ex获取历史数据与实时行情(包含tick数据),可查询多个标的多个数据字段,返回数据格式为 {stock_code:DataFrame}
get_local_data获取历史数据(包含tick数据),可查询单个或多个标的多个数据字段,返回数据格式为 {stock_code:DataFrame}
get_full_tick获取最新的 tick 数据
subscribe_whole_quote订阅多个标的实时tick数据

获取历史行情与实时行情

提示

  1. 在gmd系列函数中,历史行情需要从本地读取,所以若想取历史行情,需要先将历史行情下载到本地,而实时行情是从服务器返回的

  2. 所以,若需要历史行情,请先使用界面端或者download_history函数进行下载;若需要最新行情,请向服务器进行订阅

  3. 特别的,对于xtdata.get_market_data_ex来说,由于没有subscribe参数,需要在参数外先进行订阅(subscribe_quote)才能获取最新行情

  4. 对于同时获取历史和实时行情的情况,gmd系列函数会自动进行拼接

内置Python

调用方法

ContextInfo.get_market_data_ex(
    fields=[], 
    stock_code=[], 
    period='follow', 
    start_time='', 
    end_time='', 
    count=-1, 
    dividend_type='follow', 
    fill_data=True, 
    subscribe=True)

释义

获取实时行情与历史行情数据

参数

名称类型描述
fieldlist数据字段,详情见下方field字段表
stock_listlist合约代码列表
periodstr数据周期,可选字段为:
"tick"
"1m"的整数倍周期
"5m"的整数倍周期
"1d"的整数倍周期
start_timestr数据起始时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S,填""为获取历史最早一天
end_timestr数据结束时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S ,填""为截止到最新一天
countint数据个数
dividend_typestr除权方式,可选值为
'none':不复权
'front':前复权
'back':后复权
'front_ratio': 等比前复权
'back_ratio': 等比后复权
fill_databool是否填充数据
subscribebool订阅数据开关,默认为True,设置为False时不做数据订阅,只读取本地已有数据。
  • field字段可选:
field数据类型含义
timeint时间
openfloat开盘价
highfloat最高价
lowfloat最低价
closefloat收盘价
volumefloat成交量
amountfloat成交额
settlefloat今结算
openInterestfloat持仓量
preClosefloat前收盘价
suspendFlagint停牌 1停牌,0 不停牌
  • period周期为tick时,field字段可选:
字段名数据类型含义
timeint时间戳
stimestring时间戳字符串形式
lastPricefloat最新价
openfloat开盘价
highfloat最高价
lowfloat最低价
lastClosefloat前收盘价
amountfloat成交总额
volumeint成交总量(手)
pvolumeint原始成交总量(未经过股手转换的成交总量)【不推荐使用】
stockStatusint证券状态
openInterestint若是股票,则openInt含义为股票状态,非股票则是持仓量openInt字段说明
transactionNumfloat成交笔数(期货没有,单独计算)
lastSettlementPricefloat前结算(股票为0)
settlementPricefloat今结算(股票为0)
askPricelist[float]多档委卖价
askVollist[int]多档委卖量
bidPricelist[float]多档委买价
bidVollist[int]多档委买量

返回值

  • 返回dict { stock_code1 : value1, stock_code2 : value2, ... }
  • value1, value2, ... :pd.DataFrame 数据集,index为time_list,columns为fields,可参考Bar字段
  • 各标的对应的DataFrame维度相同、索引相同

示例

# coding:gbk

def init(C):
  start_date = '20231001'# 格式"YYYYMMDD",开始下载的日期,date = ""时全量下载
  end_date = "" 
  period = "1d" 

  need_download = 1  # 取数据是空值时,将need_download赋值为1,确保正确下载了历史数据
  
  code_list = ["000001.SZ", "600519.SH"] # 股票列表

  if need_download: # 判断要不要下载数据, gmd系列函数都是从本地读取历史数据,从服务器订阅获取最新数据
    my_download(code_list, period, start_date, end_date)
  
  ############ 仅获取历史行情 #####################
  subscribe = False # 设置订阅参数,使gmd_ex仅返回本地数据
  count = -1 # 设置count参数,使gmd_ex返回全部数据
  data1 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe)

  ############ 仅获取最新行情 #####################
  subscribe = True # 设置订阅参数,使gmd_ex仅返回最新行情
  count = 1 # 设置count参数,使gmd_ex仅返回最新行情数据
  data2 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe, count = 1) # count 设置为1,使返回值只包含最新行情

  ############ 获取历史行情+最新行情 #####################
  subscribe = True # 设置订阅参数,使gmd_ex仅返回最新行情
  count = -1 # 设置count参数,使gmd_ex返回全部数据
  data3 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe, count = -1) # count 设置为-1,使返回值包含最新行情和历史行情


  print(data1[code_list[0]].tail())# 行情数据查看
  print(data2[code_list[0]].tail())
  print(data3[code_list[0]].tail())

def handlebar(C):
  return


def my_download(stock_list,period,start_date = '', end_date = ''):
  '''
  用于显示下载进度
  '''
  if "d" in period:
    period = "1d"
  elif "m" in period:
    if int(period[0]) < 5:
      period = "1m"
    else:
      period = "5m"
  elif "tick" == period:
    pass
  else:
    raise KeyboardInterrupt("周期传入错误")


  n = 1
  num = len(stock_list)
  for i in stock_list:
    print(f"当前正在下载{n}/{num}")
    
    download_history_data(i,period,start_date, end_date)
    n += 1
  print("下载任务结束")

原生Python

调用方法

from xtquant import xtdata
xtdata.get_market_data_ex(
    field_list=[],# 字段
    stock_list=[],# 合约代码列表
    period='1d',# 数据周期——1m、5m、1d、tick
    start_time='',# 数据起始时间%Y%m%d或%Y%m%d%H%M%S
    end_time='',# 数据结束时间%Y%m%d或%Y%m%d%H%M%S
    count=-1, # 数据个数
    dividend_type='none', # 除权方式
    fill_data=True, # 是否填充数据
)

参数

名称类型描述
fieldlist数据字段,详情见下方field字段表
stock_listlist合约代码列表
periodstr数据周期——1m、5m、1d、tick
start_timestr数据起始时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S,填""为获取历史最早一天
end_timestr数据结束时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S ,填""为截止到最新一天
countint数据个数
dividend_typestr除权方式
fill_databool是否填充数据
  • field字段可选:
field数据类型含义
timeint时间
openfloat开盘价
highfloat最高价
lowfloat最低价
closefloat收盘价
volumefloat成交量
amountfloat成交额
settlefloat今结算
openInterestfloat持仓量
preClosefloat前收盘价
suspendFlagint停牌 1停牌,0 不停牌
  • period周期为tick时,field字段可选:
字段名数据类型含义
timeint时间戳
stimestring时间戳字符串形式
lastPricefloat最新价
openfloat开盘价
highfloat最高价
lowfloat最低价
lastClosefloat前收盘价
amountfloat成交总额
volumeint成交总量(手)
pvolumeint原始成交总量(未经过股手转换的成交总量)【不推荐使用】
stockStatusint证券状态
openInterestint若是股票,则openInt含义为股票状态,非股票则是持仓量openInt字段说明
transactionNumfloat成交笔数(期货没有,单独计算)
lastSettlementPricefloat前结算(股票为0)
settlementPricefloat今结算(股票为0)
askPricelist[float]多档委卖价
askVollist[int]多档委卖量
bidPricelist[float]多档委买价
bidVollist[int]多档委买量

返回值

  • period为1m 5m 1dK线周期时
    • 返回dict { field1 : value1, field2 : value2, ... }
    • value1, value2, ... :pd.DataFrame 数据集,index为stock_list,columns为time_list
    • 各字段对应的DataFrame维度相同、索引相同

示例


from xtquant import xtdata
import time


def my_download(stock_list,period,start_date = '', end_date = ''):
  '''
  用于显示下载进度
  '''
  if "d" in period:
    period = "1d"
  elif "m" in period:
    if int(period[0]) < 5:
      period = "1m"
    else:
      period = "5m"
  elif "tick" == period:
    pass
  else:
    raise KeyboardInterrupt("周期传入错误")


  n = 1
  num = len(stock_list)
  for i in stock_list:
    print(f"当前正在下载{n}/{num}")
    
    xtdata.download_history_data(i,period,start_date, end_date)
    n += 1
  print("下载任务结束")

def do_subscribe_quote(stock_list:list, period:str):
  for i in stock_list:
    xtdata.subscribe_quote(i,period = period)
  time.sleep(1) # 等待订阅完成

if __name__ == "__main__":

  start_date = '20231001'# 格式"YYYYMMDD",开始下载的日期,date = ""时全量下载
  end_date = "" 
  period = "1d" 

  need_download = 1  # 取数据是空值时,将need_download赋值为1,确保正确下载了历史数据
  
  code_list = ["000001.SZ", "600519.SH"] # 股票列表

  if need_download: # 判断要不要下载数据, gmd系列函数都是从本地读取历史数据,从服务器订阅获取最新数据
    my_download(code_list, period, start_date, end_date)
  
  ############ 仅获取历史行情 #####################
  count = -1 # 设置count参数,使gmd_ex返回全部数据
  data1 = xtdata.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date)

  ############ 仅获取最新行情 #####################
  do_subscribe_quote(code_list,period)# 设置订阅参数,使gmd_ex取到最新行情
  count = 1 # 设置count参数,使gmd_ex仅返回最新行情数据
  data2 = xtdata.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date, count = 1) # count 设置为1,使返回值只包含最新行情

  ############ 获取历史行情+最新行情 #####################
  do_subscribe_quote(code_list,period) # 设置订阅参数,使gmd_ex取到最新行情
  count = -1 # 设置count参数,使gmd_ex返回全部数据
  data3 = xtdata.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date, count = -1) # count 设置为1,使返回值只包含最新行情


  print(data1[code_list[0]].tail())# 行情数据查看
  print(data2[code_list[0]].tail())
  print(data3[code_list[0]].tail())



获取股票历史涨跌停价格

原生Python

提示

  1. 获取该数据前需要先调用xtdata.download_history_data进行下载,period参数选择"stoppricedata"

  2. 该数据通过get_market_data_ex接口获取,period参数选择"stoppricedata"

  3. 若是只需要最新一天的涨跌停价格,可通过get_instrument_detailUpStopPriceDownStopPrice字段获取

  4. 该数据是VIP权限数据在新窗口打开

调用方法

get_market_data_ex([],stock_list,period="stoppricedata",start_time = "", end_time = "")

参数

参数名称类型描述
field_listlist数据字段列表,传空则为全部字段
stock_listlist合约代码列表
periodstring周期
start_timestring起始时间
end_timestring结束时间
countint数据个数。默认参数,大于等于0时,若指定了 start_timeend_time,此时以 end_time 为基准向前取 count 条;若 start_timeend_time 缺省,默认取本地数据最新的 count 条数据;若 start_timeend_timecount 都缺省时,默认取本地全部数据

返回值

返回一个 {stock_code:pd.DataFrame} 结构的dict对象,默认的列索引为取得的全部字段. 如果给定了 fields 参数, 则列索引与给定的 fields 对应.

示例


from xtquant import xtdata

stock_list = xtdata.get_stock_list_in_sector("沪深A股")[:5]

# 下载涨跌停价格数据
for i in stock_list:
  xtdata.download_history_data(i, 'stoppricedata', '', '')

# 获取涨跌停价格数据
data = xtdata.get_market_data_ex([], stock_list, 'stoppricedata', '', '')

print(data)

股票快照指标

提供标的的量比,涨速,换手率等数据

提示

  1. 通过指定period为snapshotindex获取该数据
  2. 该数据为VIP 权限数据在新窗口打开
  3. 获取时需要先通过subscribe_quote在新窗口打开进行订阅

原生python

调用方法

xtdata.get_market_data_ex([],stock_list,period="snapshotindex",start_time = "", end_time = "")

返回值

分两种,当使用gmd_ex函数获取时:

  • 一个{stock_code:pd.DataFrame}结构的dict对象,其中pd.DataFrame的结构为:
    • index: 时间序列,str类型值
    • columns: ['time', '量比', '1分钟涨速', '5分钟涨速', '3日涨幅', '5日涨幅', '10日涨幅', '3日换手', '5日换手', '10日换手']

当使用callback函数时:

  • 一个{stock_code:[{field1:values1,field2:values2,...}]}的dict嵌套对象

示例

from xtquant import xtdata

def f(data):
    print(data)

# 获取前需要先订阅,该数据通过指定period = 'snapshotindex'获取
xtdata.subscribe_quote("000001.SZ",period = 'snapshotindex', count = -1,callback = f)

data = xtdata.get_market_data_ex([],["000001.SZ"],period="snapshotindex",start_time = "", end_time = "",count = 10)
print(data)

涨跌停/集合竞价表现

原生python

提供开盘集合竞价成交量,收盘集合竞价成交量,炸板次数,涨停金额等数据

提示

  1. 通过指定period为limitupperformance获取该数据
  2. 该数据为VIP 权限数据在新窗口打开
  3. 获取历史数据时需要先通过[download_history_data]进行下载,实时数据通过subscribe_quote在新窗口打开进行订阅

调用方法

xtdata.get_market_data_ex([],stock_list,period="limitupperformance",start_time = "", end_time = "")

返回值

字段名数据类型含义
timeint时间戳
openVolint开盘集合竞价的成交量
closeVolint收盘集合竞价的成交量
finalVolint盘后定价的成交量
startUpint涨停开始时间
endUpint涨停结束时间
breakUpint炸板次数
upAmountfloat涨停金额
startDnint跌停开始时间
endDnint跌停结束时间
breakDnint开板次数
dnAmountfloat跌停金额
directint涨跌方向 0-无 1-涨停 2-跌停
sealVolRatiofloat封成比
sealFreeRatiofloat封流比
bidPreRatiofloat竞昨比
sealCountint几板
sealDaysint几天
sealBreakint封板中断天数

示例

from xtquant import xtdata


def f(data):
    print(data)

period = "limitupperformance"
stock = "000001.SZ"
ls = [stock]
xtdata.download_history_data2(ls,period = period) # 下载历史数据

# 获取前需要先订阅,该数据通过指定period = 'limitupperformance'获取
xtdata.subscribe_quote(stock,period = 'limitupperformance', count = -1,callback = f)

data = xtdata.get_market_data_ex([],[stock],period="limitupperformance",start_time = "", end_time = "",count = 10)
print(data)

获取股票资金流向数据

获取一只或者多只股票在一个时间段内的资金流向数据

提示

1.该数据通过get_market_dataget_market_data_ex接口获取,period参数选择transactioncount1d 或者 transactioncount1m
2.获取历史数据前需要先用download_history_data下载历史数据
3.VIP 权限数据在新窗口打开

内置python

原型

# 逐笔成交统计日级
C.get_market_data_ex([],stock_list,period="transactioncount1d",start_time = "", end_time = "")
# 逐步成交统计1分钟级
C.get_market_data_ex([],stock_list,period="transactioncount1m",start_time = "", end_time = "")

参数

除period参数需指定为transactioncount1d 或者 transactioncount1m外,其余参数与ContextInfo.get_market_data_ex在新窗口打开一致

返回值

  • 返回dict { stock_code1 : value1, stock_code2 : value2, ... }
  • value1, value2, ... :pd.DataFrame 数据集,index为time_list,columns为fields

提示

特大单:成交金额大于或等于100万元或成交量大于或等于5000手

大单:成交金额大于或等于20万元或成交量大于或等于1000手

中单:成交金额大于或等于4万元或成交量大于或等于200手

小单:其它为小单

字段名数据类型含义
timeint时间戳
bidNumberint主买单总单数
bidMostVolumeint主买特大单成交量
bidBigVolumeint主买大单成交量
bidMediumVolumeint主买中单成交量
bidSmallVolumeint主买小单成交量
offNumberint主卖单总单数
offMostVolumeint主卖特大单成交量
offBigVolumeint主卖大单成交量
offMediumVolumeint主卖中单成交量
offSmallVolumeint主卖小单成交量
bidMostAmountfloat主买特大单成交额
bidBigAmountfloat主买大单成交额
bidMediumAmountfloat主买中单成交额
bidSmallAmountfloat主买小单成交额
offMostAmountfloat主卖特大单成交额
offBigAmountfloat主卖大单成交额
offMediumAmountfloat主卖中单成交额
offSmallAmountfloat主卖小单成交额
ddxfloat大单动向
ddyfloat涨跌动因
ddzfloat大单差分
zjbyNetInflowint资金博弈 净流入
zjbyMostint资金博弈 超大单
zjbyBigint资金博弈 大单
zjbyMediumint资金博弈 中单
zjbySmallint资金博弈 小单
netOrderint净挂
netWithdrawint净撤
withdrawBidint总撤买
withdrawOffint总撤卖
unactiveBidMostVolumeint被动买特大单成交量
unactiveBidBigVolumeint被动买大单成交量
unactiveBidMediumVolumeint被动买中单成交量
unactiveBidSmallVolumeint被动买小单成交量
unactiveOffMostVolumeint被动卖特大单成交量
unactiveOffBigVolumeint被动卖大单成交量
unactiveOffMediumVolumeint被动卖中单成交量
unactiveOffSmallVolumeint被动卖小单成交量
unactiveBidMostAmountfloat被动买特大单成交额
unactiveBidBigAmountfloat被动买大单成交额
unactiveBidMediumAmountfloat被动买中单成交额
unactiveBidSmallAmountfloat被动买小单成交额
unactiveOffMostAmountfloat被动卖特大单成交额
unactiveOffBigAmountfloat被动卖大单成交额
unactiveOffMediumAmountfloat被动卖中单成交额
unactiveOffSmallAmountfloat被动卖小单成交额

示例

# coding:gbk


def init(C):
    return
    

def f(data):
    print(data)

def after_init(C):
    stock_list = ["000001.SZ"]
    if 1:
        download_history_data("000001.SZ","transactioncount1d",'','')
    
    
    C.subscribe_quote("000001.SZ","transactioncount1d",callback = f)
    # C.subscribe_quote("000001.SZ","transactioncount1d")
    print(C.get_market_data_ex([],stock_list,period="transactioncount1d",start_time = "", end_time = ""))
    pass


原生python

原型

# 逐笔成交统计日级
get_market_data_ex([],stock_list,period="transactioncount1d",start_time = "", end_time = "")
# 逐步成交统计1分钟级
get_market_data_ex([],stock_list,period="transactioncount1m",start_time = "", end_time = "")

参数

参数名称类型描述
field_listlist数据字段列表,传空则为全部字段
stock_listlist合约代码列表
periodstring周期
start_timestring起始时间
end_timestring结束时间
countint数据个数。默认参数,大于等于0时,若指定了 start_timeend_time,此时以 end_time 为基准向前取 count 条;若 start_timeend_time 缺省,默认取本地数据最新的 count 条数据;若 start_timeend_timecount 都缺省时,默认取本地全部数据
dividend_typestring除权方式
fill_databool是否向后填充空缺数据
  • field_list字段可选:

提示

特大单:成交金额大于或等于100万元或成交量大于或等于5000手

大单:成交金额大于或等于20万元或成交量大于或等于1000手

中单:成交金额大于或等于4万元或成交量大于或等于200手

小单:其它为小单

字段名数据类型含义
timeint时间戳
bidNumberint主买单总单数
bidMostVolumeint主买特大单成交量
bidBigVolumeint主买大单成交量
bidMediumVolumeint主买中单成交量
bidSmallVolumeint主买小单成交量
offNumberint主卖单总单数
offMostVolumeint主卖特大单成交量
offBigVolumeint主卖大单成交量
offMediumVolumeint主卖中单成交量
offSmallVolumeint主卖小单成交量
bidMostAmountfloat主买特大单成交额
bidBigAmountfloat主买大单成交额
bidMediumAmountfloat主买中单成交额
bidSmallAmountfloat主买小单成交额
offMostAmountfloat主卖特大单成交额
offBigAmountfloat主卖大单成交额
offMediumAmountfloat主卖中单成交额
offSmallAmountfloat主卖小单成交额
ddxfloat大单动向
ddyfloat涨跌动因
ddzfloat大单差分
zjbyNetInflowint资金博弈 净流入
zjbyMostint资金博弈 超大单
zjbyBigint资金博弈 大单
zjbyMediumint资金博弈 中单
zjbySmallint资金博弈 小单
netOrderint净挂
netWithdrawint净撤
withdrawBidint总撤买
withdrawOffint总撤卖
unactiveBidMostVolumeint被动买特大单成交量
unactiveBidBigVolumeint被动买大单成交量
unactiveBidMediumVolumeint被动买中单成交量
unactiveBidSmallVolumeint被动买小单成交量
unactiveOffMostVolumeint被动卖特大单成交量
unactiveOffBigVolumeint被动卖大单成交量
unactiveOffMediumVolumeint被动卖中单成交量
unactiveOffSmallVolumeint被动卖小单成交量
unactiveBidMostAmountfloat被动买特大单成交额
unactiveBidBigAmountfloat被动买大单成交额
unactiveBidMediumAmountfloat被动买中单成交额
unactiveBidSmallAmountfloat被动买小单成交额
unactiveOffMostAmountfloat被动卖特大单成交额
unactiveOffBigAmountfloat被动卖大单成交额
unactiveOffMediumAmountfloat被动卖中单成交额
unactiveOffSmallAmountfloat被动卖小单成交额

返回

返回一个 {stock_code:pd.DataFrame} 结构的dict对象,默认的列索引为取得的全部字段. 如果给定了 fields 参数, 则列索引与给定的 fields 对应.

示例

from xtquant import xtdata

# 获取历史数据前,请确保已经下载历史数据
xtdata.download_history_data("000001.SZ",period="transactioncount1d")
xtdata.download_history_data("000582.SZ",period="transactioncount1d")

# 获取一只股票在一个时间段内的资金流量数据
data1 = xtdata.get_market_data_ex([],["000001.SZ"],period="transactioncount1d",start_time = "20230101", end_time = "20231009")

# 获取多只股票在一个时间段内的资金流向数据
data2 = xtdata.get_market_data_ex([],["000001.SZ","000582.SZ"],period="transactioncount1d",start_time = "20230101", end_time = "20231009")
# 获取多只股票在某一天的资金流向数据
data3 = xtdata.get_market_data_ex([],["000001.SZ","000582.SZ"],period="transactioncount1d",start_time = "20231009", end_time = "20231009")

获取股票订单流数据

获取股票在某个价位的订单数量

提示

1.该数据通过get_market_dataget_market_data_ex接口获取,period参数选择orderflow1m 或者 orderflow1d
2.获取历史数据前需要先用download_history_data下载历史数据,订单流数据仅提供orderflow1m周期数据下载,其他周期的订单流数据都是通过1m周期合成的
3.订单流版 权限数据在新窗口打开

内置python

原型


# 一分钟订单流
C.get_market_data_ex([],stock_list,period="orderflow1m",start_time = "", end_time = "")
# 1d订单流
C.get_market_data_ex([],stock_list,period="orderflow1d",start_time = "", end_time = "")

参数 除period参数需指定为orderflow1m 或者 orderflow1d外,其余参数与ContextInfo.get_market_data_ex在新窗口打开一致

返回值

  • 返回dict { stock_code1 : value1, stock_code2 : value2, ... }
  • value1, value2, ... :pd.DataFrame 数据集,index为time_list,columns为fields

示例


# coding:gbk
def init(C):
    return
    
def f(data):
    print(data)

def after_init(C):
    stock_list = ["000001.SZ"]
    if 1:
        download_history_data("000001.SZ","orderflow1m",'','')
    
    
    C.subscribe_quote("000001.SZ","orderflow1m",callback = f)
    # C.subscribe_quote("000001.SZ","transactioncount1d")
    print(C.get_market_data_ex([],stock_list,period="orderflow1m",start_time = "", end_time = "",count = 1))


原生pytrhon

from xtquant import xtdata
# 订单流数据仅提供1m周期数据下载,其他周期的订单流数据都是通过1m周期合成的
period = "orderflow1m"
# 下载000001.SZ的1m订单流数据
xtdata.download_history_data("000001.SZ",period=period)
# 获取000001.SZ的1m订单流数据
xtdata.get_market_data_ex([],["000001.SZ"],period=period)["000001.SZ"]

参数

名称类型描述
fieldlist数据字段,详情见下方field字段表
stock_listlist合约代码列表
periodstr订单流数据周期——orderflow1m, orderflow5m, orderflow15m, orderflow30m, orderflow1h, orderflow1d
start_timestr数据起始时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S,填""为获取历史最早一天
end_timestr数据结束时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S ,填""为截止到最新一天
countint数据个数
dividend_typestr除权方式
fill_databool是否填充数据
  • field字段可选:
field数据类型含义
timestr时间
pricestr价格段
buyNumstr各价格对应的买方订单量
sellNumstr各价格对应的卖方订单量
  • period字段可选:
period数据类型含义
orderflow1mstr1m周期订单流数据
orderflow5mstr5m周期订单流数据
orderflow15mstr15m周期订单流数据
orderflow30mstr30m周期订单流数据
orderflow1hstr1h周期订单流数据
orderflow1dstr1d周期订单流数据

返回值 返回一个 {stock_code:pd.DataFrame} 结构的dict对象,默认的列索引为取得的全部字段. 如果给定了 fields 参数, 则列索引与给定的 fields 对应.

示例

# 下载000001.SZ的orderflow1m,以获取历史数据
# orderflow仅提供1m周期进行下载,其他周期皆在系统底层通过1m订单流数据进行合成给出
xtdata.download_history_data("000001.SZ",period="orderflow1m")


# 获取000001.SZ,1m订单流数据
period = "orderflow1m"
data1 = xtdata.get_market_data_ex([],["000001.SZ"],period=period)["000001.SZ"]

# 获取000001.SZ, 5m订单流数据
period = "orderflow5m"
data2 = xtdata.get_market_data_ex([],["000001.SZ"],period=period)["000001.SZ"]

# 获取000001.SZ 1d订单流数据
period = "orderflow1d"
data3 = xtdata.get_market_data_ex([],["000001.SZ"],period=period)["000001.SZ"]

# 订阅实时000001.SZ 1m订单流数据
period = "orderflow1m"

# 进行数据订阅
xtdata.subscribe_quote("000001.SZ", period = period)
# 获取订阅后的实时数据
data4 = xtdata.get_market_data_ex([],["000001.SZ"],period=period)["000001.SZ"]

print(data1)
print(data2)
print(data3)

print(data4)

获取问董秘数据

提示

1.该数据通过get_market_data_ex接口获取,周期需填写为 interactiveqa
2.获取数据前需要先用download_history_data下载历史数据
3.VIP 权限数据在新窗口打开

原生python

from xtquant import xtdata
xtdata.get_market_data_ex(field_list,stock_list,period='interactiveqa')

参数

除period 需填写为interactiveqa外,其余参数参考get_market_data_ex

返回值

返回一个 {stock_code:pd.DataFrame} 结构的dict对象

示例


from xtquant import xtdata
xtdata.download_history_data("000001.SZ",period="interactiveqa")
data = xtdata.get_market_data_ex([],["000001.SZ"],period="interactiveqa")
print(data)

获取交易日历

获取历史和未来日历数据

内置python

调用方法

get_trading_calendar(market,start_time='',end_time='')

参数

参数名称类型描述
marketstr市场,如 'SH'
start_timestr起始时间,如 '20170101'
end_timestr结束时间,如 '20180101'

返回值

  • list类型

示例

# coding:gbk
def init(C):
    return
def after_init(C):
    print(get_trading_calendar('SZ','20230103','20240103'))

原生python

调用方法

# 下载交易日历数据
xtdata.download_holiday_data()
# 返回获取的交易日历 
result = xtdata.get_trading_calendar(market, start_time , end_time )

参数

参数名称类型描述
marketstr市场,如 'SH'
start_timestr起始时间,如 '20170101'
end_timestr结束时间,如 '20180101'

返回值

  • list类型

示例

# coding:utf-8
from xtquant import xtdata
import time

# 下载交易日历数据
xtdata.download_holiday_data()
# 获取交易日
start_time =  time.strftime("%Y%m%d") # 起始日期
end_time = time.strftime("%Y") + '1231' #结束日期,这里我用time函数自动计算年,格式生成'20241231'
# 返回获取的交易日历 
result = xtdata.get_trading_calendar('SH', start_time , end_time )
print(result)

获取龙虎榜数据

获取指定日期区间内的龙虎榜数据

C.get_longhubang(stock_list, startTime, endTime)

参数

参数名称类型描述
stock_listlist股票列表,如 ['600000.SH', '600036.SH']
startTimestr起始时间,如 '20170101'
endTimestr结束时间,如 '20180101'

返回值

  • 格式为pandas.DataFrame:
参数名称数据类型描述
reasonstr上榜原因
closefloat收盘价
spreadRatefloat涨跌幅
TurnoverVolunefloat成交量
Turnover_Amountfloat成交金额
buyTraderBoothpandas.DataFrame买方席位
sellTraderBoothpandas.DataFrame卖方席位
  • buyTraderBoothsellTraderBooth 包含字段:
参数名称数据类型描述
traderNamestr交易营业部名称
buyAmountfloat买入金额
buyPercentfloat买入金额占总成交占比
sellAmountfloat卖出金额
sellPercentfloat卖出金额占总成交占比
totalAmountfloat该席位总成交金额
rankint席位排行
directionint买卖方向

示例

# coding:gbk

def init(C):
    return

def handlebar(C):
    print(C.get_longhubang(['000002.SZ'],'20100101','20180101'))

北向南向资金(沪港通,深港通和港股通)

北向南向资金交易日历

获取交易日列表

from xtquant import xtdata
xtdata.get_trading_dates(market, start_time='', end_time='', count=-1)

参数:

参数名称类型描述
marketstring市场代码
start_timestring起始时间
end_timestring结束时间
countint数据个数

返回

  • list 时间戳列表,[ date1, date2, ... ]

示例

from xtquant import xtdata

# 获取沪港通最近十五天交易日历
data1 = xtdata.get_trading_dates(market = "HGT", start_time='', end_time='', count=-1)[-15:]

获取对应周期的北向南向数据

提示

  1. 该数据通过get_market_data_ex接口获取
  2. 获取历史数据前需要先用download_history_data下载历史数据,可选字段为"northfinancechange1m":一分钟周期北向数据,"northfinancechange1d":日线周期北向数据
  3. VIP 权限数据在新窗口打开

方式1:内置python

获取对应周期的北向数据

C.get_north_finance_change(period)

参数:

字段名数据类型描述
periodstr数据周期

返回结果:

  • 根据period返回一个dict,该字典的key值是北向数据的时间戳,其值仍然是一个dict,其值的key值是北向数据的字段类型,其值是对应字段的值。该字典数据key值有:
字段名数据类型描述
hgtNorthBuyMoneyintHGT北向买入资金
hgtNorthSellMoneyintHGT北向卖出资金
hgtSouthBuyMoneyintHGT南向买入资金
hgtSouthSellMoneyintHGT南向卖出资金
sgtNorthBuyMoneyintSGT北向买入资金
sgtNorthSellMoneyintSGT北向卖出资金
sgtSouthBuyMoneyintSGT南向买入资金
sgtSouthSellMoneyintSGT南向卖出资金
hgtNorthNetInFlowintHGT北向资金净流入
hgtNorthBalanceByDayintHGT北向当日资金余额
hgtSouthNetInFlowintHGT南向资金净流入
hgtSouthBalanceByDayintHGT南向当日资金余额
sgtNorthNetInFlowintSGT北向资金净流入
sgtNorthBalanceByDayintSGT北向当日资金余额
sgtSouthNetInFlowintSGT南向资金净流入
sgtSouthBalanceByDayintSGT南向当日资金余额

示例1 通过内置python获取:

# coding = gbk
def init(C):
    return
# 获取市场北向数据
def handlebar(C):
    print(C.get_north_finance_change('1d'))

方式2:原生python

xtdata.get_market_data_ex(
    fields=[], 
    stock_code=[], 
    period='follow', 
    start_time='', 
    end_time='', 
    count=-1, 
    dividend_type='follow', 
    fill_data=True, 
    subscribe=True
    )

参数

名称类型描述
fieldlist取北向数据时填写为[]空列表即可
stock_listlist合约代码列表
periodstr数据周期,可选字段为:
"northfinancechange1m":一分钟周期北向数据
"northfinancechange1d":日线周期北向数据
start_timestr数据起始时间,格式为 %Y%m%d%Y%m%d%H%M%S,填""为获取历史最早一天
end_timestr数据结束时间,格式为 %Y%m%d%Y%m%d%H%M%S ,填""为截止到最新一天
countint数据个数
dividend_typestr除权方式,可选值为
'none':不复权
'front':前复权
'back':后复权
'front_ratio': 等比前复权
'back_ratio': 等比后复权
取此数据时不生效
fill_databool是否填充数据
subscribebool订阅数据开关,默认为True,设置为False时不做数据订阅,只读取本地已有数据。

返回值

返回一个 {stock_code:pd.DataFrame} 结构的dict对象,

示例2 通过原生python获取:

# 该示例演示token获取数据方式
from xtquant import xtdatacenter as xtdc

import xtquant.xtdata as xtdata

xtdc.set_token('这里输入token')
xtdc.init()

s = 'FFFFFF.SGT' # 北向资金代码
period = 'northfinancechange1m' # 数据周期
if 1:
    print('download')
    xtdata.download_history_data(s, period, '20231101', '')
    print('done')

data = xtdata.get_market_data_ex([], [s], period, '', '')[s]
print(data)

沪深港通持股数据

提示

  1. 该数据是VIP权限数据
  2. VIP 权限数据在新窗口打开

获取指定品种的持股明细

C.get_hkt_details(stockcode)

参数:

参数名称数据类型描述
stockcodestring必须是'stock.market'形式

返回结果:

  • 根据stockcode返回一个dict,该字典的key值是北向持股明细数据的时间戳,其值仍然是一个dict,其值的key值是北向持股明细数据的字段类型,其值是对应字段的值,该字典数据key值有:
参数名称数据类型/单位描述
stockCodestr股票代码
ownSharesCompanystr机构名称
ownSharesAmountint持股数量
ownSharesMarketValuefloat持股市值
ownSharesRatiofloat持股数量占比
ownSharesNetBuyfloat净买入金额(当日持股-前一日持股)

示例:

# coding = gbk
def init(C):
    return
def handlebar(C):
    data = C.get_hkt_details('600000.SH')
    print(data)

交易所公告数据

原生Python

提示

  1. 获取该数据前需要先调用xtdata.download_history_data进行下载,period参数选择"announcement"

  2. 该数据通过get_market_data_ex接口获取,period参数选择"announcement"

  3. 该数据是VIP权限数据在新窗口打开

调用方法

get_market_data_ex([],stock_list,period="announcement",start_time = "", end_time = "")

参数

参数名称类型描述
field_listlist数据字段列表,传空则为全部字段
stock_listlist合约代码列表
periodstring周期
start_timestring起始时间
end_timestring结束时间
countint数据个数。默认参数,大于等于0时,若指定了 start_timeend_time,此时以 end_time 为基准向前取 count 条;若 start_timeend_time 缺省,默认取本地数据最新的 count 条数据;若 start_timeend_timecount 都缺省时,默认取本地全部数据

返回值

返回一个 {stock_code:pd.DataFrame} 结构的dict对象,默认的列索引为取得的全部字段. 如果给定了 fields 参数, 则列索引与给定的 fields 对应.

示例

from xtquant import xtdata
xtdata.download_history_data('600050.SH','announcement')

data = xtdata.get_market_data_ex([], ['600050.SH'], 'announcement', '', '')

d=data['600050.SH']

print(d.tail())

获取单季度/年度财务数据

查询股票的市值数据、资产负债数据、现金流数据、利润数据、财务指标数据. 详情通过财务数据列表在新窗口打开查看! 可通过以下api进行查询 :

内置python

获取财务数据前,请先通过界面端数据管理 - 财务数据下载

财务数据下载

提示

财务数据接口通过读取下载本地的数据取数,使用前需要补充本地数据。除公告日期和报表截止日期为时间戳毫秒格式其他单位为元或 %,数据主要包括资产负债表(ASHAREBALANCESHEET)、利润表(ASHAREINCOME)、现金流量表(ASHARECASHFLOW)、股本表(CAPITALSTRUCTURE)的主要字段数据以及经过计算的主要财务指标数据(PERSHAREINDEX)。建议使用本文档对照表中的英文表名和迅投英文字段,表名不区分大小写。

ContextInfo.get_financial_data - 获取财务数据

财务数据接口有两种用法,入参和返回值不同,具体如下

用法1,返回目标数据对象

原型

ContextInfo.get_financial_data(fieldList, stockList, startDate, enDate, report_type = 'announce_time')

释义

获取财务数据,方法1

参数

字段名类型释义与用例
fieldListList(必须)财报字段列表:['ASHAREBALANCESHEET.fix_assets', '利润表.净利润']
stockListList(必须)股票列表:['600000.SH', '000001.SZ']
startDateStr(必须)开始时间:'20171209'
endDateStr(必须)结束时间:'20171212'
report_typeStr(可选)报表时间类型,可缺省,默认是按照数据的公告期为区分取数据,设置为 'report_time' 为按照报告期取数据,' announce_time' 为按照公告日期取数据

提示

选择按照公告期取数和按照报告期取数的区别:

若某公司当年 4 月 26 日发布上年度年报,如果选择按照公告期取数,则当年 4 月 26 日之后至下个财报发布日期之间的数据都是上年度年报的财务数据。

若选择按照报告期取数,则上年度第 4 季度(上年度 10 月 1 日 - 12 月 31 日)的数据就是上年度报告期的数据。

返回值

函数根据stockList代码列表,startDate,endDate时间范围,返回不同的的数据类型。如下:

代码数量时间范围返回类型
=1=1pandas.Series (index = 字段)
=1>1pandas.DataFrame (index = 时间, columns = 字段)
>1=1pandas.DataFrame (index = 代码, columns = 字段)
>1>1pandas.Panel (items = 代码, major_axis = 时间, minor_axis = 字段)

示例

# coding:gbk
def init(C):
  pass

def handlebar(C):

  #取总股本和净利润
  fieldList = ['CAPITALSTRUCTURE.total_capital', '利润表.净利润']   
  stockList = ["000001.SZ","000002.SZ","430017.BJ"]
  startDate = '20171209'
  endDate = '20231204'
  data = C.get_financial_data(fieldList, stockList, startDate, endDate, report_type = 'report_time')
  print(data)
用法2,返回目标数据单个值

原型

ContextInfo.get_financial_data(tabname, colname, market, code, report_type = 'report_time', barpos)

与用法 1 可同时使用

释义

获取财务数据,方法2

参数

字段名类型释义与用例
tabnameStr(必须)表名:'ASHAREBALANCESHEET'
colnameStr(必须)字段名:'fix_assets'
marketStr(必须)市场:'SH'
codeStr(必须)代码:'600000'
report_typeStr(可选)报表时间类型,可缺省,默认是按照数据的公告期为区分取数据,设置为 'report_time' 为按照报告期取数据,' announce_time ' 为按照公告日期取数据
barposnumber当前 bar 的索引

返回值

float :所取字段的数值

示例

# coding:gbk
def init(C):
  pass
	
def handlebar(C):
  index = C.barpos
  data = C.get_financial_data('ASHAREBALANCESHEET', 'fix_assets', 'SH', '600000', index)
  print(data)

ContextInfo.get_raw_financial_data - 获取原始财务数据

提示

取原始财务数据,与get_financial_data相比不填充每个交易日的数据

原型

ContextInfo.get_raw_financial_data(fieldList,stockList,startDate,endDate,report_type='announce_time')

释义

取原始财务数据,与get_financial_data相比不填充每个交易日的数据

参数

字段名类型释义与用例
fieldListList(必须)字段列表:例如 ['资产负债表.固定资产','利润表.净利润']
stockListList(必须)股票列表:例如['600000.SH','000001.SZ']
startDateStr(必须)开始时间:例如 '20171209'
endDateStr(必须)结束时间:例如 '20171212'
report_typeStr(可选)时间类型,可缺省,默认是按照数据的公告期为区分取数据,设置为 'report_time' 为按照报告期取数据,可选值:'announce_time','report_time'

返回值

函数根据stockList代码列表,startDate,endDate时间范围,返回不同的的数据类型。如下:

代码数量时间范围返回类型
=1=1pandas.Series (index = 字段)
=1>1pandas.DataFrame (index = 时间, columns = 字段)
>1=1pandas.DataFrame (index = 代码, columns = 字段)
>1>1pandas.Panel (items = 代码, major_axis = 时间, minor_axis = 字段)

示例

#encoding:gbk
'''
获取财务数据
'''
import pandas as pd
import numpy as np
import talib

def to_zw(a):
	'''0.中文价格字符串'''
	import numpy as np
	try:
		header = '' if a > 0 else '-'
		if np.isnan(a):
			return '问题数据'
		if abs(a) < 1000:
			return header + str(int(a)) + ""
		if abs(a) < 10000:
			return header + str(int(a))[0] + ""
		if abs(a) < 100000000:
			return header + str(int(a))[:-4] + "" + str(int(a))[-4] + ''
		else:
			return header + str(int(a))[:-8] + "亿" + str(int(a))[-8:-4] + ''
	except:
		print(f"问题数据{a}")
		return '问题数据'


def after_init(C):
	fieldList = ['ASHAREINCOME.net_profit_excl_min_int_inc','ASHAREINCOME.revenue'] # 字段表
	stockList = ['000001.SZ'] # 标的
	a=C.get_raw_financial_data(fieldList,stockList,'20150101','20300101',report_type = 'report_time') # 获取原始财务数据
	# print(a)
	for stock in a:
		for key in a[stock]:
			for t in a[stock][key]:
				print(key, timetag_to_datetime(int(t),'%Y%m%d'), to_zw(a[stock][key][t]))
			print('-' *22)
		print('-' *22)

原生python

from xtquant import xtdata
xtdata.get_financial_data(stock_list, table_list=[], start_time='', end_time='', report_type='report_time')

提示

选择按照公告期取数和按照报告期取数的区别:

若某公司当年 4 月 26 日发布上年度年报,如果选择按照公告期取数,则当年 4 月 26 日之后至下个财报发布日期之间的数据都是上年度年报的财务数据。

若选择按照报告期取数,则上年度第 4 季度(上年度 10 月 1 日 - 12 月 31 日)的数据就是上年度报告期的数据。

参数

参数名称数据类型描述
stock_listlist合约代码列表
table_listlist财务数据表名称列表,可选:Balance #资产负债表;Income #利润表;CashFlow #现金流量表
start_timestring起始时间
end_timestring结束时间
report_typestring报表筛选方式,可选:report_time #截止日期;announce_time #披露日期

返回

  • dict 数据集 { stock1 : datas1, stock2 : data2, ... }
    • stock1, stock2, ... # 合约代码
    • datas1, datas2, ... # dict 数据集 { table1 : table_data1, table2 : table_data2, ... }

示例

from xtquant import xtdata
# 取数据前请确保已下载所需要的财务数据
xtdata.download_financial_data(["000001.SZ","600519.SH","430017.BJ"], table_list=["Balance","Income"])
xtdata.get_financial_data(["000001.SZ","600519.SH","430017.BJ"],["Balance","Income"])

财务数据列表

资产负债表

  • 内置表名:ASHAREBALANCESHEET
  • 原生表名:Balance
字段名定义
m_anntime披露日期
m_timetag截止日期
internal_shoule_recv内部应收款
fixed_capital_clearance固定资产清理
should_pay_money应付分保账款
settlement_payment结算备付金
receivable_premium应收保费
accounts_receivable_reinsurance应收分保账款
reinsurance_contract_reserve应收分保合同准备金
dividends_payable应收股利
tax_rebate_for_export应收出口退税
subsidies_receivable应收补贴款
deposit_receivable应收保证金
apportioned_cost待摊费用
profit_and_current_assets_with_deal待处理流动资产损益
current_assets_one_year一年内到期的非流动资产
long_term_receivables长期应收款
other_long_term_investments其他长期投资
original_value_of_fixed_assets固定资产原值
net_value_of_fixed_assets固定资产净值
depreciation_reserves_of_fixed_assets固定资产减值准备
productive_biological_assets生产性生物资产
public_welfare_biological_assets公益性生物资产
oil_and_gas_assets油气资产
development_expenditure开发支出
right_of_split_share_distribution股权分置流通权
other_non_mobile_assets其他非流动资产
handling_fee_and_commission应付手续费及佣金
other_payables其他应交款
margin_payable应付保证金
internal_accounts_payable内部应付款
advance_cost预提费用
insurance_contract_reserve保险合同准备金
broker_buying_and_selling_securities代理买卖证券款
acting_underwriting_securities代理承销证券款
international_ticket_settlement国际票证结算
domestic_ticket_settlement国内票证结算
deferred_income递延收益
short_term_bonds_payable应付短期债券
long_term_deferred_income长期递延收益
undetermined_investment_losses未确定的投资损失
quasi_distribution_of_cash_dividends拟分配现金股利
provisions_not预计负债
cust_bank_dep吸收存款及同业存放
provisions预计流动负债
less_tsy_stk减:库存股
cash_equivalents货币资金
loans_to_oth_banks拆出资金
tradable_fin_assets交易性金融资产
derivative_fin_assets衍生金融资产
bill_receivable应收票据
account_receivable应收账款
advance_payment预付款项
int_rcv应收利息
other_receivable其他应收款
red_monetary_cap_for_sale买入返售金融资产款
agency_bus_assets以公允价值计量且其变动计入当期损益的金融资产
inventories存货
other_current_assets其他流动资产
total_current_assets流动资产合计
loans_and_adv_granted发放贷款及垫款
fin_assets_avail_for_sale可供出售金融资产
held_to_mty_invest持有至到期投资
long_term_eqy_invest长期股权投资
invest_real_estate投资性房地产
accumulated_depreciation累计折旧
fix_assets固定资产
constru_in_process在建工程
construction_materials工程物资
long_term_liabilities长期负债
intang_assets无形资产
goodwill商誉
long_deferred_expense长期待摊费用
deferred_tax_assets递延所得税资产
total_non_current_assets非流动资产合计
tot_assets资产总计
shortterm_loan短期借款
borrow_central_bank向中央银行借款
loans_oth_banks拆入资金
tradable_fin_liab交易性金融负债
derivative_fin_liab衍生金融负债
notes_payable应付票据
accounts_payable应付账款
advance_peceipts预收账款
fund_sales_fin_assets_rp卖出回购金融资产款
empl_ben_payable应付职工薪酬
taxes_surcharges_payable应交税费
int_payable应付利息
dividend_payable应付股利
other_payable其他应付款
non_current_liability_in_one_year一年内到期的非流动负债
other_current_liability其他流动负债
total_current_liability流动负债合计
long_term_loans长期借款
bonds_payable应付债券
longterm_account_payable长期应付款
grants_received专项应付款
deferred_tax_liab递延所得税负债
other_non_current_liabilities其他非流动负债
non_current_liabilities非流动负债合计
tot_liab负债合计
cap_stk实收资本(或股本)
cap_rsrv资本公积
specific_reserves专项储备
surplus_rsrv盈余公积
prov_nom_risks一般风险准备
undistributed_profit未分配利润
cnvd_diff_foreign_curr_stat外币报表折算差额
tot_shrhldr_eqy_excl_min_int归属于母公司股东权益合计
minority_int少数股东权益
total_equity所有者权益合计
tot_liab_shrhldr_eqy负债和股东权益总计

利润表

  • 内置表名:ASHAREINCOME
  • 原生表名:Income
字段名定义
m_anntime披露日期
m_timetag截止日期
revenue_inc营业收入
earned_premium已赚保费
real_estate_sales_income房地产销售收入
total_operating_cost营业总成本
real_estate_sales_cost房地产销售成本
research_expenses研发费用
surrender_value退保金
net_payments赔付支出净额
net_withdrawal_ins_con_res提取保险合同准备金净额
policy_dividend_expenses保单红利支出
reinsurance_cost分保费用
change_income_fair_value公允价值变动收益
futures_loss期货损益
trust_income托管收益
subsidize_revenue补贴收入
other_business_profits其他业务利润
net_profit_excl_merged_int_inc被合并方在合并前实现净利润
int_inc利息收入
handling_chrg_comm_inc手续费及佣金收入
less_handling_chrg_comm_exp手续费及佣金支出
other_bus_cost其他业务成本
plus_net_gain_fx_trans汇兑收益
il_net_loss_disp_noncur_asset非流动资产处置收益
inc_tax所得税费用
unconfirmed_invest_loss未确认投资损失
net_profit_excl_min_int_inc归属于母公司所有者的净利润
less_int_exp利息支出
other_bus_inc其他业务收入
revenue营业总收入
total_expense营业成本
less_taxes_surcharges_ops营业税金及附加
sale_expense销售费用
less_gerl_admin_exp管理费用
financial_expense财务费用
less_impair_loss_assets资产减值损失
plus_net_invest_inc投资收益
incl_inc_invest_assoc_jv_entp联营企业和合营企业的投资收益
oper_profit营业利润
plus_non_oper_rev营业外收入
less_non_oper_exp营业外支出
tot_profit利润总额
net_profit_incl_min_int_inc净利润
net_profit_incl_min_int_inc_after净利润(扣除非经常性损益后)
minority_int_inc少数股东损益
s_fa_eps_basic基本每股收益
s_fa_eps_diluted稀释每股收益
total_income综合收益总额
total_income_minority归属于少数股东的综合收益总额
other_compreh_inc其他收益

现金流表

  • 内置表名:ASHARECASHFLOW
  • 原生表名: CashFlow
字段名定义
m_anntime披露日期
m_timetag截止日期
cash_received_ori_ins_contract_pre收到原保险合同保费取得的现金
net_cash_received_rei_ope收到再保险业务现金净额
net_increase_insured_funds保户储金及投资款净增加额
net_increase_in_disposal处置交易性金融资产净增加额
cash_for_interest收取利息、手续费及佣金的现金
net_increase_in_repurchase_funds回购业务资金净增加额
cash_for_payment_original_insurance支付原保险合同赔付款项的现金
cash_payment_policy_dividends支付保单红利的现金
disposal_other_business_units处置子公司及其他收到的现金
cash_received_from_pledges减少质押和定期存款所收到的现金
cash_paid_for_investments投资所支付的现金
net_increase_in_pledged_loans质押贷款净增加额
cash_paid_by_subsidiaries取得子公司及其他营业单位支付的现金净额
increase_in_cash_paid增加质押和定期存款所支付的现金
cass_received_sub_abs其中子公司吸收现金
cass_received_sub_investments其中:子公司支付给少数股东的股利、利润
minority_shareholder_profit_loss少数股东损益
unrecognized_investment_losses未确认的投资损失
ncrease_deferred_income递延收益增加(减:减少)
projected_liability预计负债
increase_operational_payables经营性应付项目的增加
reduction_outstanding_amounts_less已完工尚未结算款的减少(减:增加)
reduction_outstanding_amounts_more已结算尚未完工款的增加(减:减少)
goods_sale_and_service_render_cash销售商品、提供劳务收到的现金
net_incr_dep_cob客户存款和同业存放款项净增加额
net_incr_loans_central_bank向中央银行借款净增加额(万元)
net_incr_fund_borr_ofi向其他金融机构拆入资金净增加额
net_incr_fund_borr_ofi拆入资金净增加额
tax_levy_refund收到的税费与返还
cash_paid_invest投资支付的现金
other_cash_recp_ral_oper_act收到的其他与经营活动有关的现金
stot_cash_inflows_oper_act经营活动现金流入小计
goods_and_services_cash_paid购买商品、接受劳务支付的现金
net_incr_clients_loan_adv客户贷款及垫款净增加额
net_incr_dep_cbob存放中央银行和同业款项净增加额
handling_chrg_paid支付利息、手续费及佣金的现金
cash_pay_beh_empl支付给职工以及为职工支付的现金
pay_all_typ_tax支付的各项税费
other_cash_pay_ral_oper_act支付其他与经营活动有关的现金
stot_cash_outflows_oper_act经营活动现金流出小计
net_cash_flows_oper_act经营活动产生的现金流量净额
cash_recp_disp_withdrwl_invest收回投资所收到的现金
cash_recp_return_invest取得投资收益所收到的现金
net_cash_recp_disp_fiolta处置固定资产、无形资产和其他长期投资收到的现金
other_cash_recp_ral_inv_act收到的其他与投资活动有关的现金
stot_cash_inflows_inv_act投资活动现金流入小计
cash_pay_acq_const_fiolta购建固定资产、无形资产和其他长期投资支付的现金
other_cash_pay_ral_oper_act支付其他与投资的现金
stot_cash_outflows_inv_act投资活动现金流出小计
net_cash_flows_inv_act投资活动产生的现金流量净额
cash_recp_cap_contrib吸收投资收到的现金
cash_recp_borrow取得借款收到的现金
proc_issue_bonds发行债券收到的现金
other_cash_recp_ral_fnc_act收到其他与筹资活动有关的现金
stot_cash_inflows_fnc_act筹资活动现金流入小计
cash_prepay_amt_borr偿还债务支付现金
cash_pay_dist_dpcp_int_exp分配股利、利润或偿付利息支付的现金
other_cash_pay_ral_fnc_act支付其他与筹资的现金
stot_cash_outflows_fnc_act筹资活动现金流出小计
net_cash_flows_fnc_act筹资活动产生的现金流量净额
eff_fx_flu_cash汇率变动对现金的影响
net_incr_cash_cash_equ现金及现金等价物净增加额
cash_cash_equ_beg_period期初现金及现金等价物余额
cash_cash_equ_end_period期末现金及现金等价物余额
net_profit净利润
plus_prov_depr_assets资产减值准备
depr_fa_coga_dpba固定资产折旧、油气资产折耗、生产性物资折旧
amort_intang_assets无形资产摊销
amort_lt_deferred_exp长期待摊费用摊销
decr_deferred_exp待摊费用的减少
incr_acc_exp预提费用的增加
loss_disp_fiolta处置固定资产、无形资产和其他长期资产的损失
loss_scr_fa固定资产报废损失
loss_fv_chg公允价值变动损失
fin_exp财务费用
invest_loss投资损失
decr_deferred_inc_tax_assets递延所得税资产减少
incr_deferred_inc_tax_liab递延所得税负债增加
decr_inventories存货的减少
decr_oper_payable经营性应收项目的减少
others其他
im_net_cash_flows_oper_act经营活动产生现金流量净额
conv_debt_into_cap债务转为资本
conv_corp_bonds_due_within_1y一年内到期的可转换公司债券
fa_fnc_leases融资租入固定资产
end_bal_cash现金的期末余额
less_beg_bal_cash现金的期初余额
plus_end_bal_cash_equ现金等价物的期末余额
less_beg_bal_cash_equ现金等价物的期初余额
im_net_incr_cash_cash_equ现金及现金等价物的净增加额
tax_levy_refund收到的税费返还

股本表

  • 内置表名:CAPITALSTRUCTURE
  • 原生表名:Capital
中文字段迅投字段
总股本total_capital
已上市流通A股circulating_capital
限售流通股份restrict_circulating_capital
变动日期m_timetag
公告日m_anntime

主要指标

  • 内置表名:PERSHAREINDEX
  • 原生表名:PershareIndex
中文字段迅投字段
每股经营活动现金流量s_fa_ocfps
每股净资产s_fa_bps
基本每股收益s_fa_eps_basic
稀释每股收益s_fa_eps_diluted
每股未分配利润s_fa_undistributedps
每股资本公积金s_fa_surpluscapitalps
扣非每股收益adjusted_earnings_per_share
净资产收益率du_return_on_equity
销售毛利率sales_gross_profit
主营收入同比增长inc_revenue_rate
净利润同比增长du_profit_rate
归属于母公司所有者的净利润同比增长inc_net_profit_rate
扣非净利润同比增长adjusted_net_profit_rate
营业总收入滚动环比增长inc_total_revenue_annual
归属净利润滚动环比增长inc_net_profit_to_shareholders_annual
扣非净利润滚动环比增长adjusted_profit_to_profit_annual
加权净资产收益率equity_roe
摊薄净资产收益率net_roe
摊薄总资产收益率total_roe
毛利率gross_profit
净利率net_profit
实际税率actual_tax_rate
预收款营业收入pre_pay_operate_income
销售现金流营业收入sales_cash_flow
资产负债比率gear_ratio
存货周转率inventory_turnover

十大股东/十大流通股东

  • 内置表名:TOP10HOLDER/TOP10FLOWHOLDER
  • 原生表名:Top10holder/Top10flowholder
中文字段迅投字段
公告日期declareDate
截止日期endDate
股东名称name
股东类型type
持股数量quantity
变动原因reason
持股比例ratio
股份性质nature
持股排名rank

股东数

  • 内置表名:SHAREHOLDER
  • 原生表名:Holdernum
中文字段迅投字段
公告日期declareDate
截止日期endDate
股东总数shareholder
A股东户数shareholderA
B股东户数shareholderB
H股东户数shareholderH
已流通股东户数shareholderFloat
未流通股东户数shareholderOther
上次更新:
邀请注册送VIP优惠券
分享下方的内容给好友、QQ群、微信群,好友注册您即可获得VIP优惠券
玩转qmt,上迅投qmt知识库