量化交易API文档分享,ptrade量化交易软件python策略编写

Connor 必安交易所官网 2024-10-21 72 0

量化交易API文档分享,ptrade量化交易软件python策略编写

获取股票信息

get_stock_name - 获取股票名称

get_stock_name(stocks)

使用场景

该函数在研究、回测、交易模块可用

接口说明

该接口可获取股票、可转债、ETF等名称。

注意事项:

参数

stocks:股票代码(list[str]/str);

返回

股票名称字典,dict类型,key为股票代码,value为股票名称,当没有查询到相关数据或者输入有误时value为None(dict[str:str]);

{'600570.SS': '恒生电子'}

示例

量化交易API文档分享,ptrade量化交易软件python策略编写

展开全文

get_stock_info - 获取股票基础信息

get_stock_info(stocks, field=None)

使用场景

该函数在研究、回测、交易模块可用

接口说明

该接口可获取股票、可转债、ETF等基础信息。

注意事项:

field不做入参时默认只返回stock_name字段

参数

stocks:股票代码(list[str]/str);

field:指明数据结果集中所支持输出字段(list[str]/str),输出字段包括 :

stock_name -- 股票代码对应公司名(str:str);

listed_date -- 股票上市日期(str:str);

de_listed_date -- 股票退市日期,若未退市,返回2900-01-01(str:str);

返回

嵌套dict类型,包含内容为field中指定内容,若field=None,返回股票基础信息仅包含对应公司名(dict[str:dict[str:str,...],...])

{'600570.SS': {'stock_name': '恒生电子', 'listed_date': '2003-12-16', 'de_listed_date': '2900-01-01'}}

示例

量化交易API文档分享,ptrade量化交易软件python策略编写

get_stock_status – 获取股票状态信息

get_stock_status(stocks, query_type='ST', query_date=None)

使用场景

该函数在研究、回测、交易模块可用

接口说明

该接口用于获取指定日期股票的ST、停牌、退市属性。

注意事项:

退市整理期股票不包含在退市状态内,可通过get_stock_name函数判断股票名称是否包含【退】确认退市整理期代码

参数

stocks: 例如 ['000001.SZ','000003.SZ']。该字段必须输入,否则返回None(list[str]/str);

query_type: 支持以下三种类型属性的查询,默认为'ST'(str);

具体支持输入的字段包括 :

'ST' – 查询是否属于ST股票

'HALT' – 查询是否停牌

'DELISTING' – 查询是否退市

query_date: 格式为YYYYmmdd,默认为None,表示当前日期(回测为回测当前周期,研究与交易则取系统当前时间)(str);

返回

返回dict类型,每支股票对应的值为True或False,当没有查询到相关数据或者输入有误时返回None(dict[str:bool,...]);

{'600570': None}

示例

量化交易API文档分享,ptrade量化交易软件python策略编写

get_stock_exrights - 获取股票除权除息信息

get_stock_exrights(stock_code, date=None)

使用场景

该函数在研究、回测、交易模块可用

接口说明

该接口用于获取股票除权除息信息。

注意事项:

参数

stock_code; str类型, 股票代码(str);

date: 查询该日期的除权除息信息,默认获取该股票历史上所有除权除息信息,e.g. '20180228'/20180228/datetime.date(2018,2,28)(str/int/datetime.date)

返回

输入日期若没有除权除息信息则返回None,有相关数据则返回pandas.DataFrame类型数据

例如输入get_stock_exrights('600570.SS'),返回

allotted_ps rationed_ps rationed_px bonus_ps exer_forward_a exer_forward_b exer_backward_a exer_backward_b

date

20040604 0.0 0.0 0.0 0.43 0.046077 -1.433 1.000000 0.430

20050601 0.5 0.0 0.0 0.20 0.046077 -1.413 1.500000 0.630

20050809 0.4 0.0 0.0 0.00 0.069115 -1.404 2.100000 0.630

20060601 0.4 0.0 0.0 0.11 0.096762 -1.404 2.940000 0.861

20070423 0.3 0.0 0.0 0.10 0.135466 -1.394 3.822000 1.155

20080528 0.6 0.0 0.0 0.07 0.176106 -1.380 6.115200 1.422

20090423 0.5 0.0 0.0 0.10 0.281770 -1.368 9.172799 2.034

20100510 0.4 0.0 0.0 0.05 0.422654 -1.340 12.841919 2.492

20110517 0.0 0.0 0.0 0.05 0.591716 -1.318 12.841919 3.134

20120618 0.0 0.0 0.0 0.08 0.591716 -1.289 12.841919 4.162

20130514 0.0 0.0 0.0 0.10 0.591716 -1.242 12.841919 5.446

20140523 0.0 0.0 0.0 0.16 0.591716 -1.182 12.841919 7.501

20150529 0.0 0.0 0.0 0.18 0.591716 -1.088 12.841919 9.812

20160530 0.0 0.0 0.0 0.26 0.591716 -0.981 12.841919 13.151

20170510 0.0 0.0 0.0 0.10 0.591716 -0.827 12.841919 14.435

20180524 0.0 0.0 0.0 0.29 0.591716 -0.768 12.841919 18.159

20190515 0.3 0.0 0.0 0.32 0.591716 -0.597 16.694494 22.269

20200605 0.3 0.0 0.0 0.53 0.769231 -0.407 21.702843 31.117

返回结果字段介绍:

date -- 日期(索引列,类型为int64);

allotted_ps -- 每股送股(str:numpy.float64);

rationed_ps -- 每股配股(str:numpy.float64);

rationed_px -- 配股价(str:numpy.float64);

bonus_ps -- 每股分红(str:numpy.float64);

exer_forward_a -- 前复权除权因子A;用于计算前复权价格(前复权价格=A*价格+B)(str:numpy.float64)

exer_forward_b -- 前复权除权因子B;用于计算前复权价格(前复权价格=A*价格+B)(str:numpy.float64)

exer_backward_a -- 后复权除权因子A;用于计算后复权价格(后复权价格=A*价格+B)(str:numpy.float64)

exer_backward_b -- 后复权除权因子B;用于计算后复权价格(后复权价格=A*价格+B)(str:numpy.float64)

示例

量化交易API文档分享,ptrade量化交易软件python策略编写

get_stock_blocks - 获取股票所属板块信息

get_stock_blocks(stock_code)

使用场景

该函数在研究、回测、交易模块可用

接口说明

该接口用于获取股票所属板块。

注意事项:

该函数获取的是当下的数据,因此回测不能取到真正匹配回测日期的数据,注意未来函数

已退市股票无法成功获取数据,接口会返回None

参数

stock_code: 股票代码(str);

返回

获取成功返回dict类型,包含所属行业、板块等详细信息(dict[str:list[list[str,str],...],...]),获取失败返回None。返回数据如:

'HGT': [['HGTHGT.XBHK', '沪股通']],

'HY': [['710200.XBHS', '计算机应用']],

'DY': [['DY1172.XBHS', '浙江板块']],

'ZJHHY': [['I65000.XBHS', '软件和信息技术服务业']],

'GN': [['003596.XBHS', '融资融券'], ['003631.XBHS', '转融券标的'], ['003637.XBHS', '互联网金融'], ['003665.XBHS', '电商概念'], ['003707.XBHS', '沪股通'], ['003718.XBHS', '证金持股'], ['003800.XBHS', '人工智能'], ['003830.XBHS', '区块链'], ['031027.XBHS', 'MSCI概念'], ['B10003.XBHS', '蚂蚁金服概念']]

示例

量化交易API文档分享,ptrade量化交易软件python策略编写

get_index_stocks- 获取指数成分股

get_index_stocks(index_code,date)

使用场景

该函数在研究、回测、交易模块可用

接口说明

该接口用于获取一个指数在平台可交易的成分股列表,指数列表

注意事项:

1、在回测中,date不入参默认取当前回测周期所属历史日期

2、在研究中,date不入参默认取的是当前日期

3、在交易中,date不入参默认取的是当前日期

参数

index_code:指数代码,尾缀必须是.SS 如沪深300:000300.SS(str)

date:日期,输入形式必须为'YYYYMMDD',如'20170620',不输入默认为当前日期(str);

返回

返回股票代码的list(list[str,...])。

['000001.SZ', '000002.SZ', '000063.SZ', '000069.SZ', '000100.SZ', '000157.SZ', '000425.SZ', '000538.SZ', '000568.SZ', '000625.SZ', '000651.SZ', '000725.SZ', '000728.SZ', '000768.SZ', '000776.SZ',

'000783.SZ', '000786.SZ', ..., '603338.SS', '603939.SS', '603233.SS', '600426.SS', '688126.SS', '600079.SS', '600521.SS', '600143.SS', '000800.SZ']

示例

量化交易API文档分享,ptrade量化交易软件python策略编写

get_etf_stock_list - 获取ETF成分券列表

get_etf_stock_list(etf_code)

使用场景

该函数仅支持Ptrade客户端可用、仅在股票交易模块可用

接口说明

该接口用于获取目标ETF的成分券列表

注意事项:

参数

etf_code : 单支ETF代码,必传参数(str)

返回

正常返回一个list类型字段,包含每只etf代码所对应的成分股。异常返回空list,如[](list[str,...])

['600000.SS', '600010.SS', '600016.SS']

示例

量化交易API文档分享,ptrade量化交易软件python策略编写

get_industry_stocks- 获取行业成份股

get_industry_stocks(industry_code)

使用场景

该函数在研究、回测、交易模块可用

接口说明

该接口用于获取一个行业的所有股票,行业列表

注意事项:

该函数获取的是当下的数据,因此回测不能取到真正匹配回测日期的数据,注意未来函数

参数

industry_code: 行业编码,尾缀必须是.XBHS 如农业股:A01000.XBHS(str)

返回

返回股票代码的list(list[str,...])

['300970.SZ', '300087.SZ', '300972.SZ', '002772.SZ', '000998.SZ', '002041.SZ', '600598.SS', '600371.SS', '600506.SS', '300511.SZ', '600359.SS', '600354.SS', '601118.SS', '600540.SS', '300189.SZ',

'600313.SS', '600108.SS']

示例

量化交易API文档分享,ptrade量化交易软件python策略编写

get_fundamentals-获取财务数据

get_fundamentals(security, table, fields=None, date=None, start_year=None, end_year=None, report_types=None, merge_type=None)

使用场景

该函数可在研究、回测、交易模块使用

接口说明

该接口用于获取财务三大报表数据、日频估值数据、各项财务能力指标数据。

注意事项:

1、该接口为http在线获取,会存在因网络拥堵等原因导致应答失败的情况,如果返回数据结果为空请多次尝试,策略中请增加保护机制。

2、该接口有流量限制,每秒不得调用超过100次,单次最大调用量是500条数据,每一条数据的定义为:一个股票对应一个表的一个字段,相当于最大不超过5万条。因此如果涉及多股多字段的查询要考虑限流情况,依据实际调用场景加入sleep做时间间隔,方法可参考示例。

参数

为保持各表接口统一,输入字段略有不同,具体可参见 财务数据的API接口说明

security:一支股票代码或者多只股票代码组成的list(list[str])

table:财务数据表名,输入具体表名可查询对应表中信息(str)

表名包含内容valuation估值数据balance_statement资产负债表income_statement利润表cashflow_statement现金流量表growth_ability成长能力指标profit_ability盈利能力指标eps每股指标operating_ability营运能力指标debt_paying_ability偿债能力指标

fields:指明数据结果集中所需输出业务字段,支持多个业务字段输出(list类型),如fields=['settlement_provi', 'client_provi'](list[str]);输出具体字段请参考 财务数据的API接口说明

date:查询日期,按日期查询模式,返回查询日期之前对应的财务数据,输入形式如'20170620',回测中支持datetime.date时间格式输入,不能与start_year与end_year同时作用。回测中,支持按日期查询模式,不传入date默认取回测时的日期(str);

start_year:查询开始年份,按年份查询模式,返回输入年份范围内对应的财务数据,如'2015',start_year与end_year必须同时输入,且不能与date同时作用(str)

end_year:查询截止年份,按年份查询模式,返回输入年份范围内对应的财务数据,如'2015',start_year与end_year必须同时输入,且不能与date同时作用(str)

report_types:财报类型;如果为年份查询模式(start_year/end_year),不输入report_types返回当年可查询到的全部类型财报;如果为日期查询模式(date),不输入report_types返回距离指定日期最近一份财报(str)。

report_types='1':表示获取一季度财报

report_types='2':表示获取半年报

report_types='3':表示获取截止到三季度财报

report_types='4':表示获取年度财报

merge_type:数据更新设置;相关财务数据信息会不断进行修正更新,为了避免未来数据影响,可以通过参数获取原始发布或最新发布数据信息;只有部分表包含此字段(int) :

merge_type不传或传入merge_type = None,获取首次发布的数据,即使实际数据发生变化,也只返回原样数据信息;回测场景为避免未来数据建议使用此模式

merge_type=传入1,获取已发布财报数据的更新数据,更新数据范围包括但不限于相关日期数据,研究场景或交易场景建议使用此模式,但需要指定报告期,否则会获取到历史最近一期有过更新情况的财报数据(不一定是最近一个财报期)

注意:

date字段与start_year/end_year不能同时输入,否则按日期查询模式(date参数模式)

当date和start_year/end_year相关数据都不传入时,默认为按日期查询模式(date参数模式),研究和回测中date取值有所不同:在研究中,date取的是当前日期

fields不入参的情况下,date必须参数名入参,否则会报错。正确调用示例:get_fundamentals('600570.XSHG', 'balance_statement', date='2018-06-01')

返回

返回值形式根据输入参数类型不同而有所区分:

1.按日期查询模式(date参数模式)返回数据类型为pandas.DataFrame类型,索引为股票代码,如get_fundamentals('600000.SS','balance_statement',date='20161201')将返回:

secu_abbrend_datepubl_datetotal_assets……total_liability600000.SS浦发银行2016-09-302016-10-295.56e+12......5.20e+12

2.按年份查询模式(start_year/end_year参数模式)返回数据类型为pandas.Panel类型,索引为股票代码,其中包含的DataFrame索引为返回股票对应会计日期(end_date),如get_fundamentals(['600000.SS', '600570.SS', '000002.SZ'], 'balance_statement', start_year='2016', end_year='2016')将返回:

量化交易API文档分享,ptrade量化交易软件python策略编写

示例

量化交易API文档分享,ptrade量化交易软件python策略编写

量化交易API文档分享,ptrade量化交易软件python策略编写

后续小编会持续更新关于ptrade使用的内容,关于ptrade开通的问题可以随时私信评论或者留言哦!小编会第一时间回复的!

评论