十大券商哪家有ptrade量化?ptrade量化如何编写策略
发布时间:2024-9-9 16:03阅读:84
定时周期性函数
run_daily-按日周期处理
run_daily(context, func, time='9:31')
使用场景
该函数仅在回测、交易模块可用
接口说明
该函数用于以日为单位周期性运行指定函数,可对运行触发时间进行指定。
注意事项:
1、该函数只能在初始化阶段initialize函数中调用。
2、该函数可以多次设定,以实现多个定时任务。
3、股票策略回测中,当回测周期为分钟时,time的取值指定在09:31~11:30与13:00~15:00之间,当回测周期为日时,无论设定值是多少都只会在15:00执行;交易中不受此时间限制。
参数
context: Context对象,存放有当前的账户及持仓信息(Context);
func:自定义函数名称,此函数必须以context作为参数(Callable[[Context], None]);
time:指定周期运行具体触发运行时间点,交易场景可设置范围:00:00~23:59,必传字段。
返回
None
示例
run_interval - 按设定周期处理
run_interval(context, func, seconds=10)
使用场景
该函数仅在交易模块可用
接口说明
该函数用于以设定时间间隔(单位为秒)周期性运行指定函数,可对运行触发时间间隔进行指定。
注意事项:
1、该函数只能在初始化阶段initialize函数中调用。
2、该函数可以多次设定,会以多个线程并行运行,但要小心不同线程之间的逻辑关联处理
3、seconds设置最小时间间隔为3秒,小于3秒默认设定为3秒。
参数
context: Context对象,存放有当前的账户及持仓信息(Context);
func:自定义函数名称,此函数必须以context作为参数(Callable[[Context], None]);
seconds:设定时间间隔(单位为秒),取值为正整数(int)。
返回
None
示例
获取信息函数
获取基础信息
get_trading_day - 获取交易日期
get_trading_day(day)
使用场景
该函数在研究、回测、交易模块可用
接口说明
该函数用于获取当前时间数天前或数天后的交易日期。
注意事项:
1、默认情况下,回测中当前时间为策略中调用该接口的回测日日期(context.blotter.current_dt)。
2、默认情况下,研究中当前时间为调用当天日期。
3、默认情况下,交易中当前时间为调用当天日期。
参数
day:表示天数,正的为数天后,负的为数天前,day取0表示获取当前交易日,如果当前日期为非交易日则返回上一交易日的日期。day默认取值为0,不建议获取交易所还未公布的交易日期(int);
返回
date:datetime.date日期对象
示例
get_all_trades_days - 获取全部交易日期
get_all_trades_days(date=None)
使用场景
该函数在研究、回测、交易模块可用
接口说明
该函数用于获取某个日期之前的所有交易日日期。
注意事项:
1、默认情况下,回测中date为策略中调用该接口的回测日日期(context.blotter.current_dt)。
2、默认情况下,研究中date为调用当天日期。
3、默认情况下,交易中date为调用当天日期。
参数
date:如'2016-02-13'或'20160213'
返回
一个包含所有交易日的numpy.ndarray
示例
get_trade_days - 获取指定范围交易日期
get_trade_days(start_date=None, end_date=None, count=None)
使用场景
该函数在研究、回测、交易模块可用
接口说明
该函数用于获取指定范围交易日期。
注意事项:
1、默认情况下,回测中end_date为策略中调用该接口的回测日日期(context.blotter.current_dt)。
2、默认情况下,研究中end_date为调用当天日期。
3、默认情况下,交易中end_date为调用当天日期。
参数
start_date:开始日期,与count二选一,不可同时使用。如'2016-02-13'或'20160213',开始日期最早不超过1990年(str);
end_date:结束日期,如'2016-02-13'或'20160213'。如果输入的结束日期大于今年则至多返回截止到今年的数据(str);
count:数量,与start_date二选一,不可同时使用,必须大于0。表示获取end_date往前的count个交易日,包含end_date当天。count建议不大于3000,即返回数据的开始日期不早于1990年(int);
返回
一个包含指定范围交易日的numpy.ndarray
示例
获取市场信息
get_market_list-获取市场列表
get_market_list()
使用场景
该函数在研究、回测、交易模块可用
接口说明
该函数用于返回当前市场列表目录。
注意事项:
回测和交易中仅限before_trading_start和after_trading_end中使用
参数
无
返回
返回pandas.DataFrame对象,返回字段包括:
finance_mic – 市场编码(str:str)
finance_name – 市场名称(str:str)
示例
get_market_list()
如返回:
finance_micfinance_name0A美国证券交易所1CBJC北京邮票2CBOT芝加哥商品期货3CCFX中国金融期货交易所4CCGG中国国际文交所5CCJC卡巴拉长江交易所………66XFUND基金67XHKG-SS沪港通68XHKG-SZ深港通69XSGE上海期货交易所70XSHO上海个股期权71XZCE郑州商品交易所72YCME渝川玉石
get_market_detail-获取市场详细信息
get_market_detail(finance_mic)
使用场景
该函数在研究、回测、交易模块可用
接口说明
该函数用于返回市场编码对应的详细信息。
注意事项:
回测和交易中仅限before_trading_start和after_trading_end中使用
参数
finance_mic: 市场代码,相关市场编码参考get_market_list返回信息(str)。
返回
返回市场详细信息,类型为pandas.DataFrame对象,返回字段包括:
产品代码: prod_code(str:str)
产品名称: prod_name(str:str)
类型代码: hq_type_code(str:str)
时间规则: trade_time_rule(str:numpy.int64)
返回如下:
hq_type_code prod_code prod_name trade_time_rule
0 MRI 000001 上证指数 0
1 MRI 000002 A股指数 0
2 MRI 000003 B股指数 0
3 MRI 000004 工业指数 0
4 MRI 000005 商业指数 0
5 MRI 000006 地产指数 0
6 MRI 000007 公用指数 0
7 MRI 000008 综合指数 0
示例
# 获取上海证券交易所相关信息 'XSHG'/'SS'
get_market_detail('XSHG')
get_cb_list-获取可转债市场代码表
get_cb_list()
使用场景
该函数仅在交易模块可用
接口说明
返回当前可转债市场的所有代码列表(包含停牌代码)。
注意事项:
为减小对行情服务压力,该函数在交易模块中同一分钟内多次调用返回当前分钟首次查询的缓存数据。
参数
无
返回
返回当前可转债市场的所有代码列表(包含停牌代码)(list)。失败则返回空列表[]。
后续小编会持续更新关于ptrade使用的内容,关于ptrade开通的问题可以随时私信评论或者留言哦!小编会第一时间回复的。
温馨提示:投资有风险,选择需谨慎。