QMT+Python量化交易:普通散户搭建量化框架?一文说清QMT策略必备函数!
发布时间:4小时前阅读:23
很多人误以为量化入门门槛高,实际主流工具操作简易。这篇文章将手把手教大家认识QMT的重要函数,为后面量化策略编写、调试、回测打好基础,普通人也能轻松搭建自己的量化框架。
一、量化软件QMT简介
QMT是一款本地运行的量化交易软件,QMT自带 Python API 既可以高效使用底层的数据接口及实盘交易接口,也支持接入Python 支持的第三方库。
与其他普通股票软件最大的不同点就是QMT支持历史数据下载、实时数据调用、模型编写、调试、实盘交易等完整量化交易功能。
通过 QMT 系统,用户可以快速的将自己的交易思路转化为计算机代码,形成自己的交易策略,让计算机帮助用户实现策略的回测检验并实现无人值守自动化交易。
二、QMT重要函数认识
在编写策略之前,我们要明确好策略的交易逻辑,包括选定股票池、设定买卖条件、仓位管理和风险控制规则等,有了清晰的思路后,就可以在QMT中进行代码编写。
在编写策略之前,我们先来看看QMT中每个策略必备函数的重要概念。
1、Bar的概念
我们把单根 K 线称作 Bar,每根 Bar 由 tick(分笔)组成。
QMT 系统的模型是根据行情驱动,也就是跟着实时行情走,一根一根K线慢慢算。每走完一根K线(比如1分钟K线或日K线),软件就会自动调用一次我们写好的Python交易代码,也就是handlebar函数。
举个例子:比如我们用的是1分钟K线,那每过1分钟就会生成一根新K线,软件就会自动调用一次我们写好的Python交易代码,也就是handlebar函数,判断是否满足买入、卖出条件。
对于一根已经走完的、成为历史的K线,策略会回顾它完整的K线数据(开盘价、最高价、最低价、收盘价)来决定要不要买卖
上面我们说了每条K线由很多个tick(分笔)组成,所以在盘中交易时,对于正在形成的最后一根K线,每个新产生的 tick 都会被调用一次,但只有最后一个 tick 才会判定交易函数是否被调用。
2、Init
init是一个Python模型的初始化方法。在模型加载的时候,系统会调用init方法,做一些必要的初始化。
比如初始化股票池、初始化资金账号、初始化全局变量等。如果用户的模型无需做初始化,可以在方法体中写pass,但方法的定义必须存在,否则模型的运行会报错。
3、Handlebar
handlebar 是整个 Python 模型中的核心执行函数,所有交易策略的逻辑(什么时候买、什么时候卖、买多少)都必须写在这个函数里。当模型从数据层获取到运行所需要的数据之后,每新出来一根 K 线,系统就自动执行一次 handlebar 函数,比如日线策略那就每天收盘执行一次。
在 handlebar 中处理完数据后,用户可以通过 paint 方法将需要绘图输出的结果返回给界面。界面会将输出结果如实的展示出来。
4、ContextInfo
ContextInfo 是整个 Python 框架中的一个核心对象。它包含了各种与 Python 底层框架交互的 API 方法,也是一个全局的上下文环境,可以在 init 以及 handlebar 这两个函数中自由地传递用户创建的各种自定义数据。
关注"叩富问财"服务号/公众号,回复“量化软件”,联系客户经理开通量化交易权限与优惠费率证券账户!
立即行动:打开微信,搜索"叩富问财",在对话框中输入"量化软件",开启你的量化交易之旅!
温馨提示:投资有风险,选择需谨慎。


问一问

+微信
分享该文章
