量化的函数怎么运用
发布时间:2小时前阅读:3
一、策略生命周期初始化函数:init
每一个合规的QMT Python策略脚本,都必须以 init 函数作为开端。
- 执行时机:该函数在策略启动时被系统后台自动调用一次,用于初始化全局变量和配置策略的基础参数。
- 核心功能:在 init 函数内部,市场参与者通常需要使用 Context 对象来定义策略要交易的股票池、设定滑点损耗、以及初始化各种技术指标的参数。例如,通过 Context.stk_list = ['600000.SH', '000001.SZ'] 来指定策略的监控目标。在此函数中定义的变量,会贯穿整个交易周期的全过程。
二、行情数据驱动与循环执行函数:handle_data
handle_data 是策略的核心逻辑驱动引擎,策略的买卖信号判断全都在这里完成。
- 执行时机:该函数会根据市场行情的变动被反复触发。如果投资者选择的是“分钟K线模式”,那么每产生一根新的分钟K线,该函数就会执行一次;如果选择的是“Tick级别模式”,那么盘口行情每刷新一次(通常是0.5秒),该函数就会被高频触发一次。
- 核心功能:在函数内部,普通投资者可以通过调用 get_market_data_ex 接口获取目标个股的历史K线或实时盘口快照。通过对这些数据进行数学计算(如计算MA均线或布林线),一旦满足预设的数学模型条件,就会在当前函数体内触发下单逻辑。
三、精准实盘下单函数:passorder
在QMT中,所有向券商柜台发送的实盘买卖指令,都是通过 passorder 函数统一执行的。
- 参数构成:passorder 是一个多参数的复合函数,包含交易动作(买入/卖出)、指令类型(限价单/市价单)、交易账号、股票代码、下单数量以及价格等。
- 执行逻辑:例如,当策略判定需要买入时,代码调用 passorder(23, 1101, Context.account_id, stk_code, 11, price, 100, Context)。其中的数字代码具有严格的技术含义,如“23”代表标准买入,“1101”代表限价单,“11”代表按股数下单。该指令一经发出,QMT后台的交易网关会瞬间将其转化为符合券商柜台规范的报单数据,以毫秒级速度送达交易所。
策略逻辑再严谨,也需要稳定高效的实盘环境来落地。当前,普通投资者获取专业交易通道的门槛已显著降低,以国金证券为例,10万资金门槛即可开通QMT/PTrade权限,让这些功能强大的内置API函数得以直接对接官方的实盘交易柜台。此外,为了帮助初学编程的量化参与者跨越代码报错、函数参数配置错误的鸿沟,平台专门配备了专业的量化社群答疑服务,由专业技术团队在线进行指导,同时包括信用两融业务在内的多项进阶服务也均支持便捷的全线上办理,全方位保障投资者的策略稳健落地。
温馨提示:投资有风险,选择需谨慎。
-
REITs扩募是什么?普通人能参与吗?附APP实操指南
2026-06-17 17:19
-
理财问答选哪个?知乎vs叩富问财全面对比,一文搞懂
2026-06-17 17:19
-
@所有人,2026年端午节A股休市安排出炉!
2026-06-17 17:19


问一问

+微信
分享该文章
