ptrade量化新手需要注意的几个问题(API文档整理)
PTD
阅读:18
2025-06-26 13:35:24
评论:0
API文档整理
一、核心模块场景
策略开发涉及三种场景模块,各模块支持调用的函数不同:
- 交易模块:实时交易环境
- 回测模块:历史数据回测
- 研究模块:数据分析与研究
⚠️ 注意:函数调用权限因模块而异,需严格区分。
二、必选与可选函数
函数名 | 必选/可选 | 说明 |
---|---|---|
initialize |
必选 | 仅在回测/交易启动时运行一次 |
handle_data |
必选 | 交易时段按周期运行的核心逻辑函数(日级/分钟级) |
before_trading_start |
可选 | 交易日开始前执行(回测8:30,交易默认9:10) |
after_trading_end |
可选 | 交易日结束后执行(默认15:30) |
tick_data |
可选 | 仅交易模块,每3秒执行一次(9![]() |
on_order_response |
可选 | 仅交易模块,委托状态实时回调(比get_order() 更快) |
on_trade_response |
可选 | 仅交易模块,成交状态实时回调(比get_trades() 更快) |
三、关键函数详解
1. initialize(context)
- 作用:策略初始化(仅启动时运行一次)
- 适用模块:回测/交易
- 可调用接口示例:
set_universe() # 设置股票池(回测/交易) set_benchmark() # 设置基准(回测/交易) set_commission() # 设置佣金(仅回测) run_daily() # 调度每日任务(回测/交易) get_trading_day() # 获取交易日(全模块)
2. handle_data(context, data)
- 作用:按周期处理交易逻辑(日级/分钟级)
- 适用模块:回测/交易
- 执行时间:
- 日级策略:回测15:00执行,交易按券商配置
- 分钟级策略:回测9
00,交易9
59
- 核心接口:
order() # 下单(回测/交易) get_price() # 获取价格(研究/回测/交易) cancel_order() # 撤单(回测/交易) get_position() # 获取持仓(回测/交易)
3. tick_data(context, data)
- 作用:处理Tick级数据(需开通Level2行情)
- 数据结构:
data = { "股票代码": { "order": DataFrame, # 逐笔委托 "tick": DataFrame, # 当前Tick快照 "transcation": DataFrame # 逐笔成交 } }
- 关键字段:
tick
:含买卖档位、成交量、价格等order/transcation
:委托/成交方向(0=卖, 1=买)
- 加速技巧:
调用set_parameters(tick_data_no_l2="1")
可禁用L2字段提升速度。
四、委托/成交回调函数
1. on_order_response(context, order_list)
- 回调参数:
order_list = [{ "entrust_no": "委托编号", "status": "委托状态", # 参考Order对象 "entrust_type": "委托类别", # 0=委托, 2=撤单, 4=确认 "entrust_prop": "委托属性" # d=限价委托, T=即时成交剩余撤销 }]
2. on_trade_response(context, trade_list)
- 回调参数:
⚠️ 防循环调用:在回调函数中下单需额外判断避免无限迭代。trade_list = [{ "business_price": 成交价格, "entrust_bs": "方向", # 1=买, 2=卖 "business_id": "成交编号" }]
五、注意事项总结
- 模块隔离:回测/交易模块函数不可用于研究模块(如
order()
)。 - 时间敏感:
before_trading_start
在交易中若早于9:10调用行情,需sleep
等待。tick_data
执行超3秒会丢弃堵塞数据。
- 主推扩展:
- 调用
set_parameters(receive_other_response="1")
可接收非策略产生的主推。 set_parameters(receive_cancel_response="1")
启用撤单回调关联原委托ID。
- 调用
- 期货/期权专用:
函数如set_future_commission()
、get_opt_contracts()
需匹配标的类型。
完整接口列表请参考原始文档表格,本文档已按模块和功能分类提炼核心内容。
https://qmt.hxquant.com/?id=44
本文由 海星量化研究所 作者提供,转载请保留链接和署名!网址:https://qmt.hxquant.com/?id=45
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源; 2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任; 3.作者投稿可能会经我们编辑修改或补充。