事件驱动机制:像“自动驾驶”一样按流程执行策略!
基础必选函数:initialize
(初始化) handle_data
(盘中处理)
灵活扩展函数:盘前/盘后/定时任务按需调用
️ 核心区别:handle_data
仅支持日线/分钟级,Tick级需额外配置!
• 作用:策略启动时只运行一次,用于设置初始参数(如股票池/账户配置)
• 必选:所有策略的“地基”,必须定义!
• 触发时机:每日开盘前(可自定义盘前逻辑,如预计算指标)
• 可选:非必需函数,按需使用
• 触发时机:每个交易日盘中(支持日线/分钟级数据处理)
• 必选:策略运行的“大脑”,必须定义!
• 局限:不支持Tick级数据(高频交易需用其他方案)
• 触发时机:每日收盘后(适合数据复盘/日志记录)
• 可选:按需调用,非必需
• 委托主推事件:on_order_response
(实时响应委托状态变化)
• 成交主推事件:on_trade_response
(即时处理成交信息)
• 替代方案:通过tick_data
或run_interval
自定义Tick级逻辑
• 函数:run_daily
(按固定周期执行策略逻辑)
• 用途:适合定期调仓/数据更新等场景
常见错误:在handle_data
中写Tick级逻辑(无法生效!)
正确做法:高频交易需用tick_data
或run_interval
初始化冲突:避免在before_trading_start
覆盖initialize
的参数
规范操作:初始配置统一放在initialize
函数中
定时任务滥用:run_daily
频率过高可能导致策略冗余
优化建议:按实际需求设置执行周期
合理运用量化交易方法,结合适当的人工监督,才能最大化其优势,为投资者创造稳定收益。欢迎找我开通量化交易,免费使用QMT和ptrade量化软件。还可以享受惊喜优惠佣金。