历史数据

接口

历史数据获取API

D.history_data(instruments, start_date='2005-01-01', end_date=None, fields=['open', 'close'], frequency='daily', groupped_by_instrument=False, price_type='backward_adjusted')

统一的API,读取历史数据

参数:
  • instruments – 字符串数组,股票代码列表,见 股票代码
  • start_date – 字符串,开始日期
  • end_date – 字符串,结束日期
  • fields – 字符串数组,请求的字段列表,详见 数据字段
  • frequency – 数据周期,日,分钟 传入’daily’ or ‘minute’, 目前功能上只支持’daily’
  • groupped_by_instrument – 布尔类型,返回数据是否按instrument分组,如果为True,则返回dict,如果为False,返回的是DataFrame
返回:

历史数据

返回类型:

DataFrame

数据字段


字段名 类型 描述 适用市场
date datetime64 交易日期  
instrument str 证券代码  

基本信息

字段名 类型 描述 适用市场
name str 证券名字 A股,基金,期货,港股,美股
list_date datetime64 上市日期 A股,基金,期货,港股,美股
list_board str 上市板 A股,基金,期货,港股,美股
delist_date datetime64 退市日期,如果未退市,则为pandas.NaT A股,基金,期货,港股,美股
company_name str 公司名称 A股
company_type str 公司类型 A股
company_found_date datetime64 公司成立日期 A股
company_province str 公司省份 A股
contunit str 合约单位 期货

行情数据

字段名 类型 描述 适用市场
open float32 开盘价(后复权) A股,基金,期货,港股,美股
close float32 收盘价(后复权) A股,基金,期货,港股,美股
high float32 最高价(后复权) A股,基金,期货,港股,美股
low float32 最低价(后复权) A股,基金,期货,港股,美股
adjust_factor float32 复权因子 A股,基金
amount float32 交易额 A股,基金,期货,港股,美股
volume int64 交易量 A股,基金,期货,港股,美股
open_intl float32 持仓量 期货
settle float32 结算价 期货
deal_number int32 成交笔数 A股
turn float32 换手率 A股,基金
price_limit_status int8 股价在收盘时的涨跌停状态:1表示跌停,2表示未涨跌停,3则表示涨停 A股,基金
suspended bool 是否停牌 A股
suspend_type str 停牌类型 A股
suspend_reason str 停牌原因 A股
st_status int8 ST状态:0:正常股票,1:ST,2:*ST,11:暂停上市 A股

估值分析

字段名 类型 描述 适用市场
market_cap float32 总市值 A股
market_cap_float float32 流通市值 A股
pe_ttm float32 市盈率 (TTM) A股
pe_lyr float32 市盈率 (LYR) A股
pb_lf float32 市净率 (LF) A股
pb_mrq float32 市净率 (MRQ) A股
ps_ttm float32 市销率 (TTM) A股
west_netprofit_ftm float32 一致预测净利润(未来12个月) A股
west_eps_ftm float32 一致预测每股收益(未来12个月) A股
west_avgcps_ftm float32 一致预测每股现金流(未来12个月) A股

资金流分析

字段名 类型 描述 适用市场
mf_net_amount float32 净主动买入额,= 买入金额 - 卖出金额 (包括超大单、大单、中单或小单) A股
mf_net_amount_main float32 主力净流入净额 A股
mf_net_pct_main float32 主力净流入占比 A股
mf_net_amount_xl float32 超大单净流入净额 A股
mf_net_pct_xl float32 超大单净流入占比 A股
mf_net_amount_l float32 大单净流入净额 A股
mf_net_pct_l float32 大单净流入占比 A股
mf_net_amount_m float32 中单净流入净额 A股
mf_net_pct_m float32 中单净流入占比 A股
mf_net_amount_s float32 小单净流入净额 A股
mf_net_pct_s float32 小单净流入占比 A股

财报数据

字段名 类型 描述 适用市场
fs_publish_date datetime64 发布日期(数据可以开始使用的日期) A股
fs_quarter str 财报对应的年份季度,例如 20151231 A股
fs_quarter_year int16 财报对应的年份。0表示无可用财报 A股
fs_quarter_index int8 财报对应的季度,取值 1/2/3/4,1表示第一季度,以此类推。0表示无可用财报 A股
fs_net_profit float32 归属母公司股东的净利润 A股
fs_net_profit_ttm float32 归属母公司股东的净利润 (TTM) A股
fs_net_profit_yoy float32 归属母公司股东的净利润同比增长率 A股
fs_net_profit_qoq float32 归属母公司股东的净利润单季度环比增长率 A股
fs_deducted_profit float32 扣除非经常性损益后的净利润 A股
fs_deducted_profit_ttm float32 扣除非经常性损益后的净利润 (TTM) A股
fs_roe float32 净资产收益率 A股
fs_roe_ttm float32 净资产收益率 (TTM) A股
fs_roa float32 总资产报酬率 A股
fs_roa_ttm float32 总资产报酬率 (TTM) A股
fs_gross_profit_margin float32 销售毛利率 A股
fs_gross_profit_margin_ttm float32 销售毛利率 (TTM) A股
fs_net_profit_margin float32 销售净利率 A股
fs_net_profit_margin_ttm float32 销售净利率 (TTM) A股
fs_operating_revenue float32 营业收入 A股
fs_operating_revenue_ttm float32 营业收入 (TTM) A股
fs_operating_revenue_yoy float32 营业收入同比增长率 A股
fs_operating_revenue_qoq float32 营业收入单季度环比增长率 A股
fs_free_cash_flow float32 企业自由现金流 A股
fs_net_cash_flow float32 经营活动产生的现金流量净额 A股
fs_net_cash_flow_ttm float32 经营活动现金净流量 (TTM) A股
fs_eps float32 每股收益 A股
fs_eps_yoy float32 每股收益同比增长率 A股
fs_bps float32 每股净资产 A股
fs_current_assets float32 流动资产 A股
fs_non_current_assets float32 非流动资产 A股
fs_current_liabilities float32 流动负债 A股
fs_non_current_liabilities float32 非流动负债 A股
fs_cash_ratio float32 现金比率 A股
fs_common_equity float32 普通股权益总额 A股
fs_cash_equivalents float32 货币资金 A股
fs_account_receivable float32 应收账款 A股
fs_fixed_assets float32 固定资产 A股
fs_proj_matl float32 工程物资 A股
fs_construction_in_process float32 在建工程 A股
fs_fixed_assets_disp float32 固定资产清理 A股
fs_account_payable float32 应付账款 A股
fs_total_liability float32 负债合计 A股
fs_paicl_up_capital float32 实收资本(或股本) A股
fs_capital_reserves float32 资本公积金 A股
fs_surplus_reserves float32 盈余公积金 A股
fs_undistributed_profit float32 未分配利润 A股
fs_eqy_belongto_parcomsh float32 归属母公司股东的权益 A股
fs_total_equity float32 所有者权益合计 A股
fs_gross_revenues float32 营业总收入 A股
fs_total_operating_costs float32 营业总成本 A股
fs_selling_expenses float32 销售费用 A股
fs_financial_expenses float32 财务费用 A股
fs_general_expenses float32 管理费用 A股
fs_operating_profit float32 营业利润 A股
fs_total_profit float32 利润总额 A股
fs_income_tax float32 所得税 A股
fs_net_income float32 净利润 A股

股东数据

字段名 类型 描述 适用市场
sh_holder_avg_pct float32 户均持股比例 A股
sh_holder_avg_pct_3m_chng float32 户均持股比例季度增长率 A股
sh_holder_avg_pct_6m_chng float32 户均持股比例半年增长率 A股
sh_holder_num float32 股东户数 A股

行业数据

字段名 类型 描述 适用市场
industry_sw_level1 int32 申万一级行业类别 A股
industry_sw_level2 int32 申万二级行业类别 A股
industry_sw_level3 int32 申万三级行业类别 A股

板块数据

字段名 类型 描述 适用市场
concept str 概念板块 A股

指数数据

字段名 类型 描述 适用市场
in_sse50 int8 是否属于上证50指数成份 A股
in_csi300 int8 是否属于沪深300指数成份 A股
in_csi500 int8 是否属于中证500指数成份 A股
in_csi800 int8 是否属于中证800指数成份 A股
in_sse180 int8 是否属于上证180指数成份 A股
in_csi100 int8 是否属于中证100指数成份 A股
in_szse100 int8 是否属于深证100指数成份 A股

注解

  1. 财报数据股东数据 来自定期财务报表,对于同一天发布的报表,只并保留靠后的报告。查看完整财报,请参考 财报数据
  2. 行业数据 具体代码名称对照关系,请参考 行业列表

示例代码

获取交易数据:

D.history_data(instruments=['000001.SZA'], start_date='2017-01-01', end_date='2017-01-07',
               fields=['open', 'high', 'low', 'close'])

获取指定行业的数据( 具体行业代码见 行业列表 ):

instruments = D.instruments()   #获取所有股票列表
df = D.history_data(instruments, start_date='2017-05-19', end_date='2017-05-19',
                    fields=['industry_sw_level1'])  #获取一天历史数据
df[df['industry_sw_level1']== 710000]   #获取计算机行业的股票数据

获取指数成份股:

instruments = D.instruments()   #获取股票列表
df = D.history_data(instruments, start_date='2017-05-19', end_date='2017-05-19',
                    fields=['in_csi300'])   #获取一天历史数据
list(df[df['in_csi300']== 1]['instrument']) #沪深300指数成份股

获取板块名称列表:

instruments = D.instruments()   #获取股票列表
df = D.history_data(instruments, start_date='2017-05-19', end_date='2017-05-19',
                    fields=['concept']) #获取一天历史数据
set([y for x in df['concept'] if x for y in x.split(';')])  #获取一天包含的所有板块名称

获取指定板块数据:

instruments = D.instruments()   #获取股票列表
df = D.history_data(instruments, start_date='2017-05-19', end_date='2017-05-19',
                    fields=['concept'])     #获取一天历史数据
df[df['concept'].apply(lambda x:'智能家居' in x.split(';')
                       if x else False)] #获取智能家居概念包含的股票