量化交易API文档分享,ptrade量化股票量化策略编写
发布时间:2024-9-18 16:01阅读:88
get_Ashares – 获取指定日期A股代码列表
get_Ashares(date=None)
使用场景
该函数在研究、回测、交易模块可用
接口说明
该接口用于获取指定日期沪深市场的所有A股代码列表
注意事项:
1、在回测中,date不入参默认取回测日期,默认值会随着回测日期变化而变化,等于context.current_dt
2、在研究中,date不入参默认取当天日期
3、在交易中,date不入参默认取当天日期
参数
date:格式为YYYYmmdd
返回
股票代码列表,list类型(list[str,...])
['000001.SZ', '000002.SZ', '000004.SZ', '000005.SZ', '000006.SZ', '000007.SZ', '000008.SZ', '000009.SZ', '000010.SZ', '000011.SZ', '000012.SZ', '000014.SZ', '000016.SZ', '000017.SZ', '000018.SZ', '000019.SZ',
'000020.SZ', '000021.SZ', '000023.SZ', '000024.SZ', '000025.SZ', '000026.SZ', '000027.SZ',..., '603128.SS', '603167.SS', '603333.SS', '603366.SS', '603399.SS', '603766.SS', '603993.SS']
示例
get_etf_list - 获取ETF代码
get_etf_list()
使用场景
该函数仅支持Ptrade客户端可用、仅在股票交易模块可用
接口说明
该接口用于获取柜台返回的ETF代码列表
注意事项:
无
返回
正常返回一个list类型对象,包含所有ETF代码。异常返回空list,如[](list[str,...])。
['510010.SS', '510020.SS', '510030.SS', '510050.SS', '510060.SS', '510180.SS', '510300.SS', '510310.SS', '510330.SS', '511800.SS', '511810.SS', '511820.SS', '511830.SS', '511880.SS', '511990.SS', '512010.SS',
'512510.SS', '159001.SZ', '159003.SZ', '159005.SZ', '159901.SZ', '159903.SZ', '159905.SZ', '159906.SZ', '159909.SZ', '159910.SZ', '159919.SZ', '159923.SZ', '159923.SZ', '159924.SZ', '159925.SZ', '159927.SZ',
'159928.SZ', '159929.SZ']
示例
get_ipo_stocks - 获取当日IPO申购标的
get_ipo_stocks()
使用场景
该函数仅支持Ptrade客户端可用、仅在股票交易模块可用
接口说明
该接口用于获取当日IPO申购标的信息
注意事项:
无
返回
正常返回一个dict类型对象,key为各个分类市场,value为市场对应的申购代码列表。异常返回空dict,如{}({str:[],str:[],...})。分类市场明细如下:
- 上证普通代码;
- 上证科创板代码;
- 深证普通代码;
- 深证创业板代码;
- 可转债代码;
{'深证普通代码': ['002952.SZ', '072318.SZ'], '深证创业板代码': ['300765.SZ'], '上证普通代码': ['732116.SS', '732136.SS', '732367.SS', '732378.SS', '732380.SS', '732616.SS', '780086.SS', '780211.SS', '780860.SS', '718001.SS', '783012.SS', '783127.SS'], '可转债代码': ['718001.SS', '783012.SS', '783127.SS', '072318.SZ'], '上证科创板代码': ['787006.SS']}
示例
获取其他信息
get_trades_file – 获取对账数据文件
get_trades_file(save_path='')
使用场景
该函数仅在回测模块可用
接口说明
该接口用于获取对账数据文件
注意事项:
文件目录的命名需要遵守如下规则:
1、长度不能超过256个字符;
2、名称中不能出下如下字符::?,@#$&();\"\'<>`~!%^*;
参数
save_path:导出对账数据存储的路径, 默认在notebook的根目录下(str);
返回
成功返回导出文件的路径,失败返回None(str);
导出数据格式的说明:
交易数据文件的组织格式为csv文件,表头信息为:
订单编号,成交编号,委托编号,标的代码,交易类型,成交数量,成交价,成交金额,交易费用,交易时间,对应的表头字段为:
[order_id,trading_id,entrust_id,security_code,order_type,volume,price,total_money,trading_fee, trade_time]
注意:
order_id列中可能出现如下几种取值:
1、M000000,通过外部系统委托的成交数据;
2、类似a6fbc145958843cc86639b23fbcfdc4c的字符串,通过平台委托的成交数据;
3、H000000,引入对账数据接口前的版本产生的交易数据;
示例
convert_position_from_csv – 获取设置底仓的参数列表(股票)
convert_position_from_csv(path)
使用场景
该函数仅在回测模块可用
接口说明
该接口用于从csv文件中获取设置底仓的参数列表
注意事项:
文件目录的命名需要遵守如下规则:
1、长度不能超过256个字符;
2、名称中不能出下如下字符::?,@#$&();\"\'<>`~!%^*;
参数
path: csv文件对应路径及文件名(需要在研究中上传该文件)(str);
csv文件内容格式要求如下:
sid,enable_amount,amount,cost_basis
600570.SS,10000,10000,45
- sid: 标的代码(str);
- amount: 持仓数量(str);
- enable_amount: 可用数量(str);
- cost_basis: 每股的持仓成本价格(str):
返回
用于设置底仓的参数列表,该list中是字典类型的元素;
返回一个list,该list中是一个字典类型的元素(list[dict[str:str],...]),如:
[{
'sid':标的代码,
'amount':持仓数量,
'enable_amount':可用数量,
'cost_basis':每股的持仓成本价格,
}]
示例
get_user_name – 获取登录终端的资金账号
get_user_name()
使用场景
该函数仅在回测、交易模块可用
接口说明
该接口用于获取登录终端的账号
注意事项:
无
返回
返回登录终端的资金账号(str)或者None。如果查询成功登录终端的资金账号(str),失败则返回None。
示例
get_deliver – 获取历史交割单信息
get_deliver(start_date, end_date)
使用场景
该函数仅在交易模块使用;仅支持before_trading_start和after_trading_end阶段调用
接口说明
该接口用来获取账户历史交割单信息。
注意事项:
1、开始日期start_date和结束日期end_date为必传字段
2、仅支持查询上一个交易日(包含)之前的交割单信息
3、因不同柜台返回的字段存在差异,因此接口返回的为柜台原数据,使用时请根据实际柜台信息做字段解析
4、该接口仅支持查询普通股票账户(非两融)
参数
start_date: 开始日期,输入形式仅支持"YYYYmmdd",如'20170620';
end_date: 结束日期,输入形式仅支持"YYYYmmdd",如'20170620';
返回
返回一个list类型对象(list[dict,...]),包含一个或N个dict,每个dict为一条交割单信息,其中包含柜台返回的字段信息,失败则返回[]。
[{'entrust_way': '7', 'exchange_fare': 0.04, 'post_balance': 3539128.83, 'stock_account': '0010110920', 'exchange_farex': 0.0, 'fare0': 0.5, 'report_milltime': 110400187, 'business_balance': 2987.0, 'exchange_fare5': 0.0, 'fare_remark': '内部:.5( | ,费用类别:9999)', 'client_id': '10110920', 'uncome_flag': '0', 'exchange_fare0': 0.03, 'exchange_fare2': 0.0, 'fare1': 0.0, 'init_date': 20210811, 'stock_code': '162605', 'occur_amount': 1000.0, 'report_time': 110400, 'entrust_bs': '1', 'seat_no': '123456', 'business_id': '0110351000000242', 'business_amount': 1000.0, 'business_time': 110351, 'fund_account': '10110920', 'begin_issueno': ' ', 'post_amount': 1000.0, 'correct_amount': 0.0, 'money_type': '0', 'client_name': '客户10110920', 'business_type': '0', 'business_flag': 4002, 'clear_balance': -2987.5, 'exchange_fare1': 0.0, 'date_back': 20210811, 'branch_no': 1011, 'serial_no': 153, 'occur_balance': -2987.5, 'stock_name': '景顺鼎益', 'curr_time': 173028, 'exchange_fare4': 0.0, 'brokerage': 0.0, 'business_name': '证券买入', 'order_id': 'F04Z', 'business_times': 1, 'entrust_date': 20210811, 'remark': '证券买入;uft节点:31;', 'exchange_fare6': 0.0, 'standard_fare0': 0.5, 'exchange_fare3': 0.01, 'farex': 0.0, 'clear_fare0': 0.46, 'entrust_no': 38, 'profit': 0.0, 'exchange_type': '2', 'fare2': 0.0, 'business_no': 181, 'stock_type': 'L', 'fare3': 0.0, 'business_status': '0', 'business_price': 2.987, 'position_str': '020210811010110000000153', 'stock_name_long': '景顺鼎益LOF', 'report_no': 38, 'correct_balance': 0.0, 'exchange_rate': 0.0}]
示例
后续小编会持续更新关于ptrade使用的内容,关于ptrade开通的问题可以随时私信评论或者留言哦!小编会第一时间回复的!
温馨提示:投资有风险,选择需谨慎。