PDF下载 下载

current - 查询当前行情快照

查询当前行情快照,返回tick数据。回测时,返回回测时间点的tick数据

函数原型:

  1. current(symbols, fields='')

参数:

参数名 类型 说明
symbols str or list 查询代码,如有多个代码, 中间用 , (英文逗号) 隔开,
也支持 ['symbol1', 'symbol2'] 这种列表格式
fields str 查询字段, 默认所有字段
具体字段见:Tick

返回值:
list[dict]

示例:

  1. current_data = current(symbols='SZSE.000001')

输出:

  1. symbol open high cum_volumn ······ bid_p bid_v ask_p ask_v ······
  2. ---------- ------------------- -------------------- -------------- -------- ------------------- ----------- -------------------- ------- ---------
  3. SZSE.000001 12.150 12.120 27160202 ······ 12.070 184400 12.090 88700 ······

注意:

1.若输入包含无效标的代码,则返回的列表只包含有效标的代码对应的dict

2.若输入代码正确,但查询字段中包括错误字段,返回的列表仍包含对应数量的dict,但每个dict中除有效字段外,其他字段的值均为空字符串/0

history - 查询历史行情

函数原型:

  1. history(symbol, frequency, start_time, end_time, fields=None, skip_suspended=True,
  2. fill_missing=None, adjust=ADJUST_NONE, adjust_end_time='', df=False)

参数:

参数名 类型 说明
symbols str 标的代码,若要获取多个标的的历史数据,可以采用中间用 , (英文逗号) 隔开的方法,但不能list类型的输入参数
frequency str 频率, 支持 ‘tick’, ‘1d’, ‘15s’, ‘30s’ 等, 默认 ‘1d’, 详情见股票行情数据期货行情数据
start_time str or datetime.datetime 开始时间 (%Y-%m-%d %H:%M:%S 格式), 也支持datetime.datetime格式, 其中日线包含start_time数据, 非日线不包含start_time数据
end_time str or datetime.datetime 结束时间 (%Y-%m-%d %H:%M:%S 格式), 也支持datetime.datetime格式
fields str 指定返回对象字段, 如有多个字段, 中间用, 隔开, 默认所有,
具体字段见:股票字段 ,期货字段
skip_suspended bool 是否跳过停牌, 默认跳过
fill_missing str or None 填充方式, None - 不填充, 'NaN' - 用空值填充, 'Last' - 用上一个值填充, 默认None
adjust int ADJUST_NONE or 0: 不复权, ADJUST_PREV or 1: 前复权, ADJUST_POST or 2: 后复权 默认不复权
adjust_end_time str 复权基点时间, 默认当前时间
df bool 是否返回 dataframe格式,
默认 False, 返回list[dict]

返回值:

df = True

类型 说明
dataframe tick的dataframe 或者 bar的dataframe

df = False

类型 说明
list tick 列表 或者 bar 列表

示例:

  1. history_data = history(symbol='SHSE.000300', frequency='1d', start_time='2010-07-28', end_time='2017-07-30', df=False)

输出:

  1. volume eob pre_close symbol high amount frequency low close bob open
  2. -------- ------------------- ----------- ----------- ------- ----------- ----------- ------- ------- ------------------- -------
  3. 95965409 2010-07-28 16:00:00 2863.72 SHSE.000300 2888.6 9.22782e+10 1d 2852 2877.98 2010-07-28 16:00:00 2866.77
  4. 62575591 2010-07-29 16:00:00 2877.98 SHSE.000300 2876.14 6.52245e+10 1d 2844.68 2868.85 2010-07-29 16:00:00 2871.48

注意:

1.返回的list/DataFrame是以参数eob/bob的升序来排序的,若要获取多标的的数据,通常需进一步的数据处理来分别提取出每只标的的历史数据

2.start_time和end_time中月,日,时,分,秒均可以只输入个位数,例:'2010-7-8 9:40:0''2017-7-30 12:3:0',但若对应位置为零,则0不可被省略,如不可输入'2017-7-30 12:3: '

3.若输入无效标的代码,返回空列表/空DataFrame

4.若输入代码正确,但查询字段包含无效字段,返回的列表、DataFrame只包含
eob、symbol和输入的其他有效字段

5. skip_suspended 和 fill_missing 参数暂不支持

history_n - 查询历史行情最新n条

函数原型:

  1. history_n(symbol, frequency, count, end_time=None, fields=None, skip_suspended=True,
  2. fill_missing=None, adjust=ADJUST_NONE, adjust_end_time='', df=False)

参数:

参数名 类型 说明
symbol str 标的代码(只允许单个标的的代码字符串)
frequency str 频率, 支持 ‘tick’, ‘1d’, ‘15s’, ‘30s’ 等,详情见股票行情数据期货行情数据
count int 数量(正整数)
end_time str or datetime.datetime 结束时间 (%Y-%m-%d %H:%M:%S 格式), 也支持datetime.datetime格式
fields str 指定返回对象字段, 如有多个字段, 中间用, 隔开, 默认所有,
具体字段见:股票字段 ,期货字段
skip_suspended bool 是否跳过停牌, 默认跳过
fill_missing str or None 填充方式, None - 不填充, 'NaN' - 用空值填充, 'Last' - 用上一个值填充, 默认 None
adjust int ADJUST_NONE or 0: 不复权, ADJUST_PREV or 1: 前复权, ADJUST_POST or 2: 后复权 默认不复权
adjust_end_time str 复权基点时间, 默认当前时间
df bool 是否返回dataframe 格式, 默认False, 返回list[dict]

返回值:

df = True

类型 说明
dataframe tick的dataframe 或者 bar的dataframe

df = False

类型 说明
list tick 列表 或者 bar 列表

示例:

  1. history_n_data = history_n(symbol='CFFEX.IF1708', frequency='tick', end_time='2017-07-30 20:00:20', fields='cum_amount,open,symbol,price', count=20, df=False)

输出:

  1. symbol cum_amount open price
  2. ---------- ------------ ------ -------
  3. CFFEX.IF1708 1.28903e+10 3687 3708
  4. CFFEX.IF1708 1.28903e+10 3687 3708

注意:

1.返回的list/DataFrame是以参数eob/bob的升序来排序的

2.若输入无效标的代码,返回空列表/空DataFrame

3.若输入代码正确,但查询字段包含无效字段,返回的列表、DataFrame只包含
eob、symbol和输入的其他有效字段

4.end_time中月,日,时,分,秒均可以只输入个位数,例:'2017-7-30 20:0:20',但若对应位置为零,则0不可被省略,如不可输入'2017-7-30 20: :20'

5. skip_suspended 和 fill_missing 参数暂不支持

get_fundamentals - 查询基本面数据

函数原型:

  1. get_fundamentals(table, symbols, start_date, end_date, fields=None, filter=None, order_by=None, limit=1000, df=False)

参数:

参数名 类型 说明
table str 表名,只支持单表查询. 具体表名及fields字段名及filter可过滤的字段参考 财务数据文档
symbols str or list 标的代码, 多个代码可用 ,(英文逗号)分割, 也支持 ['symbol1', 'symbol2'] 这种列表格式
start_date str 开始时间, (%Y-%m-%d 格式)
end_date str 结束时间, (%Y-%m-%d 格式)
fields str 查询字段 (必填)
filter str 查询过滤,使用方法参考例3、例4
order_by str or None 排序方式, 默认 None. TCLOSE 表示按 TCLOSE 升序排序. -TCLOSE 表示按 TCLOSE 降序排序. TCLOSE, -NEGOTIABLEMV 表示按 TCLOSE 升序, NEGOTIABLEMV 降序综合排序
limit int 数量. 为保护服务器, 一次查询最多返回 40000 条记录
df bool 是否返回dataframe格式, 默认False, 返回list[dict]

返回值:

key value类型 说明
symbol str 标的代码
pub_date datetime.datetime 公司发布财报的日期.
end_date datetime.datetime 财报统计的季度的最后一天.
fields dict 相应指定查询 fields 字段的值. 字典key值请参考 财务数据文档

示例:

例1: 取股票代码 SHSE.600000, SZSE.000001, 离 2017-01-01 最近一个交易日的 股票交易财务衍生表 的 TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI 字段的值

  1. get_fundamentals(table='trading_derivative_indicator', symbols='SHSE.600000, SZSE.000001', start_date='2017-01-01', end_date='2017-01-01',
  2. fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI'
  3. )

输出:

  1. symbol pub_date end_date NEGOTIABLEMV PEMRQ PELFYNPAAEI PETTMNPAAEI PELFY TURNRATE PETTM TOTMKTCAP TCLOSE
  2. ----------- ------------------- ------------------- -------------- ------- ------------- ------------- ------- ---------- ------- ----------- --------
  3. SHSE.600000 2016-12-30 00:00:00 2016-12-30 00:00:00 3.3261e+11 6.4605 7.0707 6.6184 6.925 0.0598 6.4746 3.50432e+11 16.21
  4. SZSE.000001 2016-12-30 00:00:00 2016-12-30 00:00:00 1.33144e+11 6.2604 7.1341 6.2644 7.1462 0.2068 6.8399 1.56251e+11 9.1

例2: 取股票代码 SHSE.600000, SZSE.000001, 指定时间段 2016-01-01 -- 2017-01-01 股票交易财务衍生表 的 TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI 字段的值

  1. get_fundamentals(table='trading_derivative_indicator', symbols='SHSE.600000, SZSE.000001', start_date='2016-01-01', end_date='2017-01-01',
  2. fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI'
  3. )

例3: 取指定股票 SHSE.600000, SHSE.600001, SHSE.6000022017-01-01 最近一个交易日, 且满足条件 PCTTM > 0 and PCTTM < 10 股票交易财务衍生表 的 TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI 字段的值

  1. get_fundamentals(table='trading_derivative_indicator', symbols='SHSE.600000, SHSE.600001, SHSE.600002', start_date='2017-01-01', end_date='2017-01-01', filter='PCTTM > 0 and PCTTM < 10',
  2. fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI'
  3. )
  4. # 或者这样写
  5. my_symbols = ['SHSE.600000', 'SHSE.600001', 'SHSE.600002']
  6. get_fundamentals(table='trading_derivative_indicator', start_date='2017-01-01', end_date='2017-01-01', filter='PCTTM > 0 and PCTTM < 10',
  7. symbols=my_symbols,
  8. fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI'
  9. )

例4: 取指定股票 SHSE.600000, SZSE.0000012016-01-20 最近一个财报, 同时满足条件 CURFDS > 0 and TOTLIABSHAREQUI > 0 的 资产负债 的数据

  1. get_fundamentals(table='balance_sheet', start_date='2016-01-20', end_date='2016-01-20',
  2. fields='CURFDS, SETTRESEDEPO, PLAC, TRADFINASSET, ',
  3. symbols='SHSE.600000, SZSE.000001',
  4. filter='CURFDS > 0 and TOTLIABSHAREQUI > 0'
  5. )
  6. # 或者这样写
  7. my_symbols = ['SHSE.600000', 'SZSE.000001']
  8. get_fundamentals(table='balance_sheet', start_date='2016-01-20', end_date='2016-01-20',
  9. fields='CURFDS, SETTRESEDEPO, PLAC, TRADFINASSET, ',
  10. symbols=my_symbols,
  11. filter='CURFDS > 0 and TOTLIABSHAREQUI > 0'
  12. )

注意:

1.start_date == end_date 时, 取所举每个股票离 end_date 最近业务日期(交易日期或报告日期) 一条数据,当 start_date < end_date 时, 取指定时间段的数据,当 start_date > end_date 时, 返回空list/空DataFrame

2.当不指定排序方式时,返回的list/DataFrame以参数pub_date/end_date来排序

3.start_date和end_date中月,日均可以只输入个位数,例:'2010-7-8''2017-7-30'

4.若输入包含无效标的代码,则返回的list/DataFrame只包含有效标的代码对应的数据

5.在该函数中,table参数只支持输入一个表名,若表名输入错误或以'table1,table2'方式输入多个表名,函数返回空list/空DataFrame

6.若表名输入正确,但查询字段中出现非指定字符串,则程序直接报错

get_fundamentals_n - 查询基本面数据最新n条

取指定股票的最近 end_datecount 条记录

函数原型:

  1. get_fundamentals_n(table, symbols, end_date, fields=None, filter=None, order_by=None, count=1, df=False)

参数:

参数名 类型 说明
table str 表名. 具体表名及fields字段名及filter可过滤的字段参考 财务数据文档
symbols str 标的代码, 多个代码可用 ,(英文逗号)分割, 也支持 ['symbol1', 'symbol2'] 这种列表格式
end_date str 结束时间, (%Y-%m-%d 格式)
fields str 查询字段 (必填)
filter str 查询过滤,,使用方法参考get_fundamentals的例3、例4
count int 每个股票取最近的数量(正整数)
df bool 是否返回dataframe格式, 默认False, 返回list[dict]

返回值:

key value类型 说明
symbol str 标的代码
pub_date datetime.datetime 公司发布财报的日期.
end_date datetime.datetime 财报统计的季度的最后一天.
fields dict 相应指定查询 fields 字段的值. 字典key值请参考 财务数据文档

示例:

例1: 取股票代码 SHSE.600000, SZSE.000001, 离 2017-01-01 最近3条(每个股票都有3条) 股票交易财务衍生表 的 TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI 字段的值

  1. get_fundamentals_n(table='trading_derivative_indicator', symbols='SHSE.600000, SZSE.000001', end_date='2017-01-01', count=3,
  2. fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI'
  3. )

输出:

  1. symbol pub_date end_date TCLOSE TOTMKTCAP PETTM TURNRATE PETTMNPAAEI PELFY PELFYNPAAEI NEGOTIABLEMV PEMRQ
  2. ----------- ------------------- ------------------- -------- ----------- ------- ---------- ------------- ------- ------------- -------------- -------
  3. SZSE.000001 2016-12-30 00:00:00 2016-12-30 00:00:00 9.1 1.56251e+11 6.8399 0.2068 6.2644 7.1462 7.1341 1.33144e+11 6.2604
  4. SZSE.000001 2016-12-29 00:00:00 2016-12-29 00:00:00 9.08 1.55907e+11 6.8249 0.2315 6.2506 7.1305 7.1184 1.32851e+11 6.2466
  5. SZSE.000001 2016-12-28 00:00:00 2016-12-28 00:00:00 9.06 1.55564e+11 6.8098 0.2297 6.2369 7.1147 7.1027 1.32558e+11 6.2329
  6. SHSE.600000 2016-12-30 00:00:00 2016-12-30 00:00:00 16.21 3.50432e+11 6.4746 0.0598 6.6184 6.925 7.0707 3.3261e+11 6.4605
  7. SHSE.600000 2016-12-29 00:00:00 2016-12-29 00:00:00 16.07 3.47406e+11 6.4187 0.0578 6.5613 6.8652 7.0097 3.29737e+11 6.4047
  8. SHSE.600000 2016-12-28 00:00:00 2016-12-28 00:00:00 16.09 3.47838e+11 6.4267 0.0704 6.5694 6.8737 7.0184 3.30148e+11 6.4126

注意:

1.对每个标的,返回的list/DataFrame以参数pub_date/end_date的倒序来排序

2.end_date中月,日均可以只输入个位数,例:'2010-7-8''2017-7-30'

3.若输入包含无效标的代码,则返回的list/DataFrame只包含有效标的代码对应的数据

4.在该函数中,table参数只支持输入一个表名,若表名输入错误或以'table1,table2'方式输入多个表名,函数返回空list/空DataFrame

5.若表名输入正确,但查询字段中出现非指定字符串,则程序直接报错

get_instruments - 查询最新交易标的信息

查询最新交易标的信息,有基本数据及最新日频数据

函数原型:

  1. get_instruments(symbols=None, exchanges=None, sec_types=None, names=None, skip_suspended=True, skip_st=True, fields=None, df=False)

参数:

参数名 类型 说明
symbols str or list or None 标的代码 多个代码可用 ,(英文逗号)分割, 也支持 ['symbol1', 'symbol2'] 这种列表格式,默认None表示所有
exchanges str or list or None 交易所代码,
多个交易所代码可用 ,(英文逗号)分割, 也支持 ['exchange1', 'exchange2'] 这种列表格式,默认None表示所有
sec_types list 指定类别, 默认所有, 其他类型见sec_type 类型
names str or None 查询代码, 默认None 表示所有
skip_suspended bool 是否跳过停牌, 默认True 跳过停牌
skip_st bool 是否跳过ST, 默认True 跳过ST
fields str or None 查询字段 默认None 表示所有
df bool 是否返回dataframe格式, 默认False, 返回list[dict]

返回值:

key 类型 说明
symbol str 标的代码
sec_type int 1: 股票, 2: 基金, 3: 指数, 4: 期货, 5: 期权, 10: 虚拟合约
exchange str 交易所代码
sec_id str 代码
sec_name str 名称
sec_abbr str 拼音简称
price_tick float 最小变动单位
listed_date datetime.datetime 上市日期
delisted_date datetime.datetime 退市日期
trade_date datetime.datetime 交易日期
sec_level int 1-正常,2-ST 股票,3-*ST 股票,4-股份转让,5-处于退市整理期的证券,6-上市开放基金LOF,7-交易型开放式指数基金(ETF),8-非交易型开放式基金(暂不交易,仅揭示基金净值及开放申购赎回业务),9-仅提供净值揭示服务的开放式基金;,10-仅在协议交易平台挂牌交易的证券,11-仅在固定收益平台挂牌交易的证券,12-风险警示产品,13-退市整理产品,99-其它
is_suspended int 是否停牌. 1: 是, 0: 否
multiplier float 合约乘数
margin_ratio float 保证金比率
settle_price float 结算价
position int 持仓量
pre_close float 昨收价
upper_limit float 涨停价
lower_limit float 跌停价
adj_factor float 复权因子.基金跟股票才有

示例:

  1. get_instruments(exchanges='SZSE')

输出:

  1. adj_factor is_st upper_limit sec_name pre_close symbol price_tick delisted_date exchange listed_date sec_type settle_price lower_limit multiplier sec_abbr position trade_date sec_id is_suspended margin_ratio
  2. ------------ ------- ------------- ---------- ----------- ----------- ------------ ------------------- ---------- ------------------- ---------- -------------- ------------- ------------ ---------- ---------- ------------------- -------- -------------- --------------
  3. 115.338 0 12.38 平安银行 11.25 SZSE.000001 0.01 2038-01-01 00:00:00 SZSE 1991-04-03 00:00:00 1 0 10.13 1 payx 0 2017-09-19 00:00:00 000001 0 1
  4. 127.812 0 30.84 万科A 28.04 SZSE.000002 0.01 2038-01-01 00:00:00 SZSE 1991-01-29 00:00:00 1 0 25.24 1 wkA 0 2017-09-19 00:00:00 000002 0 1
  5. 7.44538 0 27.24 国农科技 24.76 SZSE.000004 0.01 2038-01-01 00:00:00 SZSE 1991-01-14 00:00:00 1 0 22.28 1 gnkj 0 2017-09-19 00:00:00 000004 0 1
  6. ······

注意:

1.停牌时且股票发生除权除息, 涨停价和跌停价可能有误差

2.预上市股票以1900-01-01为虚拟发布日期,未退市股票以2038-01-01为虚拟退市日期。

3.对于检索所需标的信息的4种手段symbols,exchanges,sec_types,names,若输入参数之间出现任何矛盾(换句话说,所有的参数限制出满足要求的交集为空),则返回
空list/空DataFrame
例如get_instruments(exchanges='SZSE',sec_types=[4])返回的是空值

4.若查询字段包含无效字段,返回的列表/DataFrame只包含有效字段数据

get_history_instruments - 查询交易标的历史数据

返回指定symbols的标的日频历史数据

函数原型:

  1. get_history_instruments(symbols, fields=None, start_date=None, end_date=None, df=False)

参数:

参数名 类型 说明
symbols str or list 标的代码, 多个代码可用 ,(英文逗号)分割,也支持 ['symbol1', 'symbol2'] 这种列表格式, 是必填参数
fields str or None 查询字段. 默认 None 表示所有
start_date str or None 开始时间. (%Y-%m-%d 格式) 默认 None 表示当前时间
end_date str or None 结束时间. (%Y-%m-%d 格式) 默认 None 表示当前时间
df bool 是否返回 dataframe 格式, 默认False, 返回 list[dict], 列表每项的dict的key值为参数指定的 fields

返回值:

key 类型 说明
symbol str 标的代码
trade_date datetime.datetime 交易日期
sec_level int 1-正常,2-ST 股票,3-*ST 股票,4-股份转让,5-处于退市整理期的证券,6-上市开放基金LOF,7-交易型开放式指数基金(ETF),8-非交易型开放式基金(暂不交易,仅揭示基金净值及开放申购赎回业务),9-仅提供净值揭示服务的开放式基金;,10-仅在协议交易平台挂牌交易的证券,11-仅在固定收益平台挂牌交易的证券,12-风险警示产品,13-退市整理产品,99-其它
is_suspended int 是否停牌. 1: 是, 0: 否
multiplier float 合约乘数
margin_ratio float 保证金比率
settle_price float 结算价
position int 持仓量
pre_close float 昨收价
upper_limit float 涨停价
lower_limit float 跌停价
adj_factor float 复权因子.基金跟股票才有

示例:

  1. get_history_instruments(symbols='SZSE.000001,SZSE.000002', start_date='2017-09-19', end_date='2017-09-19')

输出:

  1. adj_factor is_st settle_price upper_limit symbol pre_close lower_limit is_suspended multiplier position trade_date margin_ratio
  2. ------------ ------- -------------- ------------- ----------- ----------- ------------- -------------- ------------ ---------- ------------------- --------------
  3. 115.338 0 0 12.38 SZSE.000001 11.25 10.13 0 1 0 2017-09-19 00:00:00 1
  4. 127.812 0 0 30.84 SZSE.000002 28.04 25.24 0 1 0 2017-09-19 00:00:00 1

注意:

1.停牌时且股票发生除权除息, 涨停价和跌停价可能有误差

2.为保护服务器, 单次查询最多返回 3300 条记录

3.对每个标的,数据根据参数trade_date的升序进行排序

4.start_date和end_date中月,日均可以只输入个位数,例:'2010-7-8''2017-7-30'

5.若查询字段中出现非指定字符串,则程序直接报错

6.若输入包含无效标的代码,则返回的list/DataFrame只包含有效标的代码对应的数据

get_instrumentinfos - 查询交易标的基本信息

获取到交易标的基本信息, 与时间无关.

函数原型:

  1. get_instrumentinfos(symbols=None, exchanges=None, sec_types=None, names=None, fields=None, df=False)

参数:

参数名 类型 说明
symbols str or list or None 标的代码, 多个代码可用 ,(英文逗号)分割,也支持 ['symbol1', 'symbol2'] 这种列表格式, 默认 None 表示所有
exchanges str or list or None 交易市场代码,
多个交易所代码可用 ,(英文逗号)分割, 也支持 ['exchange1', 'exchange2'] 这种列表格式, 默认 None 表示所有
sec_types list 指定类别, 默认所有, 其他类型见sec_type 类型
names str or None 查询代码, 默认 None 表示所有
fields str or None 查询字段 默认 None 表示所有
df bool 是否返回dataframe 格式, 默认False, 返回字典格式,返回 list[dict], 列表每项的dict的key值为参数指定的 fields

返回值:

key 类型 说明
symbol str 标的代码
sec_type int 1: 股票, 2: 基金, 3: 指数, 4: 期货, 5: 期权, 10: 虚拟合约
exchange str 交易市场代码.
sec_id str 代码
sec_name str 名称
sec_abbr str 拼音简称
price_tick float 最小变动单位
listed_date datetime.datetime 上市日期
delisted_date datetime.datetime 退市日期

示例:

  1. get_instrumentinfos(symbols=['SHSE.000001','SHSE.000002'],df=True)

输出:

  1. sec_name symbol price_tick delisted_date sec_type sec_abbr sec_id listed_date exchange
  2. ---------- ----------- ------------ ------------------- ---------- ---------- -------- ------------------- ----------
  3. 上证指数 SHSE.000001 0 2038-01-01 00:00:00 3 szzs 000001 1991-07-15 00:00:00 SHSE
  4. A股指数 SHSE.000002 0 2038-01-01 00:00:00 3 Agzs 000002 1992-02-21 00:00:00 SHSE

注意:

1.对于检索所需标的信息的4种手段symbols,exchanges,sec_types,names,若输入参数之间出现任何矛盾(换句话说,所有的参数限制出满足要求的交集为空),则返回
空list/空DataFrame
例如get_instrumentinfos(exchanges='SZSE',sec_types=[4])返回的是空值

2.若查询字段包含无效字段,返回的列表/DataFrame只包含有效字段数据

get_history_constituents - 查询指数成份股的历史数据

函数原型:

  1. get_history_constituents(index, start_date=None, end_date=None)

参数:

参数名 类型 说明
index str 指数代码
start_date str or datetime.datetime or None 开始时间 (%Y-%m-%d 格式) 默认 None 表示当前日期
end_date str or datetime.datetime or None 结束时间 (%Y-%m-%d 格式) 默认 None 表示当前日期

返回值:

list[constituent]
constituent 为 dict,包含key值constituentstrade_date:

参数名 类型 说明
constituents dict 股票代码作为key, 所占权重作为value的键值对
trade_date datetime.datetime 交易日期

示例:

  1. get_history_constituents(index='SHSE.000001', start_date='2017-07-10')

输出:

  1. constituents trade_date
  2. ----------------------------------------------------------------------------------- -------------------
  3. {u'SHSE.600527': 0.009999999776482582, u'SHSE.600461': 0.019999999552965164,···} 2017-07-31 00:00:00
  4. {u'SHSE.603966': 0.009999999776482582, u'SHSE.603960': 0.009999999776482582,···} 2017-08-31 00:00:00
  5. ···

注意:

1.函数返回的数据每月发布一次,故返回的数据是月频数据,trade_date为各月最后一天

2.在该函数中,index参数只支持输入一个指数代码,若代码输入错误或以'index1,inedx2'方式输入多个代码,函数返回空list

3.start_date和end_date中月,日均可以只输入个位数,例:'2010-7-8''2017-7-30',但若对应位置为零,则0不可被省略

get_constituents - 查询指数最新成份股

函数原型:

  1. get_constituents(index, fields=None, df=False)

参数:

参数名 类型 说明
index str 指数代码
fields str or None 若要有返回权重字段, 可以设置为 ‘symbol, weight’
df bool 是否返回dataframe 格式, 默认False, 返回list[dict]

返回值:

df = False

  1. 参数 fields 为 None时, 返回 list[str] , 成分股列表

  2. 参数 fields 指定为 'symbol, weight', 返回 list[dict], dict包含key值:

参数名 类型 说明
symbol str 股票symbol
weight float 权重

df = True

返回DataFrame

示例1:

  1. get_constituents(index='SHSE.000001', fields='symbol, weight')

输出:

  1. symbol weight
  2. ----------- --------
  3. SHSE.603966 0.01
  4. SHSE.603960 0.01
  5. ···

示例2:
只输出 symbol 列表

  1. get_constituents(index='SHSE.000001')

输出:

  1. [u'SHSE.603966', u'SHSE.603960', u'SHSE.603218',···]

注意:

1.在该函数中,index参数只支持输入一个指数代码,若代码输入错误或以'index1,inedx2'方式输入多个代码,函数返回空list/空DataFrame

get_industry - 查询行业股票列表

函数原型:

  1. get_industry(code)

参数:

参数名 类型 说明
code str 行业代码 不区分大小写

返回值:

list返回指定行业的成份股symbol 列表

示例:

  1. #返回所有以J6开头的行业代码对应的成分股(包括:J66,J67,J68,J69的成分股)
  2. get_industry(code='j6')

输出:

  1. [u'SHSE.600000', u'SHSE.600016', u'SHSE.600030',···]

注意:

1.在该函数中,code参数只支持输入一个行业代码,若代码输入错误或以'code1,code2'方式输入多个代码,函数返回空list

get_trading_dates - 查询交易日列表

函数原型:

  1. get_trading_dates(exchange, start_date, end_date)

参数:

参数名 类型 说明
exchange str 交易市场代码
start_date str 开始时间 (%Y-%m-%d 格式)
end_date str 结束时间 (%Y-%m-%d 格式)

返回值:

交易日期字符串(%Y-%m-%d 格式)列表,

示例:

  1. get_trading_dates(exchange='SZSE', start_date='2017-01-01', end_date='2017-01-30')

输出:

  1. ['2017-01-03', '2017-01-04', '2017-01-05', '2017-01-06', ...]

注意:

1.exchange参数仅支持输入单个交易所代码,若代码错误,返回空list

2.start_dateend_date中月,日均可以只输入个位数,
例:'2010-7-8''2017-7-30'

get_previous_trading_date - 返回指定日期的上一个交易日

函数原型:

  1. get_previous_trading_date(exchange, date)

参数:

参数名 类型 说明
exchange str 交易市场代码
date str 时间 (%Y-%m-%d 格式)

返回值:

str返回指定日期的上一个交易日字符串(%Y-%m-%d 格式)

示例:

  1. get_previous_trading_date(exchange='SZSE', date='2017-05-01')

输出:

  1. '2017-04-28'

注意:

1.exchange参数仅支持输入单个交易所代码,若代码错误,返回空list

2.date中月,日均可以只输入个位数,
例:'2010-7-8''2017-7-30'

get_next_trading_date - 返回指定日期的下一个交易日

函数原型:

  1. get_next_trading_date(exchange, date)

参数:

参数名 类型 说明
exchange str 交易市场代码
date str 时间 (%Y-%m-%d 格式)

返回值:

str返回指定日期的下一个交易日字符串 (%Y-%m-%d 格式)

示例:

  1. get_next_trading_date(exchange='SZSE', date='2017-05-01')

输出:

  1. '2017-05-02'

注意:

1.exchange参数仅支持输入单个交易所代码,若代码错误,返回空list

2.date中月,日均可以只输入个位数,
例:'2010-7-8''2017-7-30'

get_dividend - 查询分红送配

函数原型:

  1. get_dividend(symbol, start_date, end_date=None)

参数:

参数名 类型 说明
symbol str 标的代码, (必填)
start_date str 开始时间 (%Y-%m-%d 格式)
end_date str 结束时间 (%Y-%m-%d 格式)
df bool 是否返回dataframe格式, 默认False, 返回返回list[dividend],dividend 为 dict

返回值:

keyv value类型 说明
symbol str 标的代码
cash_div float 每股派现
allotment_ratio float 每股配股比例
allotment_price float 配股价
share_div_ratio float 每股送股比例
share_trans_ratio float 每股转增比例
created_at datetime.datetime 创建时间

示例:

  1. get_dividend(symbol='SHSE.600000',start_date='2000-01-01', end_date='2017-12-31')

输出:

  1. share_trans_ratio symbol cash_div allotment_ratio allotment_price share_div_ratio
  2. ------------------- ----------- ---------- ----------------- ----------------- -----------------
  3. 0 SHSE.600000 0.15 0 0 0
  4. 0.5 SHSE.600000 0.2 0 0 0
  5. ···

注意:

1.在该函数中,symbol参数只支持输入一个标的代码,若代码输入错误或以'symbol1,symbol2'方式输入多个代码,函数返回空list/空DataFrame

2.start_dateend_date中月,日均可以只输入个位数,
例:'2010-7-8''2017-7-30'

get_continuous_contracts - 获取连续合约

函数原型:

  1. get_continuous_contracts(csymbol, start_date=None, end_date=None)

参数:

参数名 类型 说明
csymbol str 查询代码 比如获取主力合约,输入SHFE.AG;获取连续合约,输入SHFE.AG01
start_date str 开始时间 (%Y-%m-%d 格式)
end_date str 结束时间 (%Y-%m-%d 格式)

返回值:

返回 list[dict], dict包含key值:

参数名 类型 说明
symbol str 真实合约symbol
trade_date datetime.datetime 交易日期

示例:

  1. get_continuous_contracts(csymbol='SHFE.AG', start_date='2017-07-01', end_date='2017-08-01')

输出:

  1. symbol trade_date
  2. ----------- -------------------
  3. SHFE.ag1712 2017-07-01 00:00:00
  4. SHFE.ag1712 2017-07-02 00:00:00

注意:

1.在该函数中,csymbol参数只支持输入一个标的代码,若代码输入错误或以'csymbol1,csymbol2'方式输入多个代码,函数返回空list

2.start_dateend_date中月,日均可以只输入个位数,
例:'2017-7-1''2017-8-1'

0 篇笔记