
很多散户亏损并不是看不懂行情或技术不行,而是经常受到情绪干扰,盈利时贪心不止盈,亏损时恐慌乱割肉,交易毫无逻辑,全凭感觉,情绪化操作就是亏钱的核心。
而量化交易就是散户最好的破局方式,使用目前市面上成熟的量化软件,可以把交易思路换成标准的计算机语言,由计算机严格执行买卖、止盈止损,彻底摆脱情绪干扰。
很多人误以为量化入门门槛高,实际主流工具操作简易。这篇文章将手把手教大家认识QMT的重要函数,为后面量化策略编写、调试、回测打好基础,普通人也能轻松搭建自己的量化框架。
QMT是一款本地运行的量化交易软件,QMT自带 Python API 既可以高效使用底层的数据接口及实盘交易接口,也支持接入Python 支持的第三方库。
与其他普通股票软件最大的不同点就是QMT支持历史数据下载、实时数据调用、模型编写、调试、实盘交易等完整量化交易功能。
通过 QMT 系统,用户可以快速的将自己的交易思路转化为计算机代码,形成自己的交易策略,让计算机帮助用户实现策略的回测检验并实现无人值守自动化交易。

在编写策略之前,我们要明确好策略的交易逻辑,包括选定股票池、设定买卖条件、仓位管理和风险控制规则等,有了清晰的思路后,就可以在QMT中进行代码编写。
在编写策略之前,我们先来看看QMT中每个策略必备函数的重要概念。
我们把单根 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 才会判定交易函数是否被调用。

init是一个Python模型的初始化方法。在模型加载的时候,系统会调用init方法,做一些必要的初始化。
比如初始化股票池、初始化资金账号、初始化全局变量等。如果用户的模型无需做初始化,可以在方法体中写pass,但方法的定义必须存在,否则模型的运行会报错。
def init(ContextInfo):# 设定股票池方法一,取板块的成分股作为股票池, ContextInfo.trade_code_list = ContextInfo.get_stock_list_in_sector("******")# 设定股票池方法二,可以自定义将股票代码写到列表里 ContextInfo.trade_code_list = ['******.SH', '******.SZ'] ContextInfo.set_universe(ContextInfo.trade_code_list) #初始化设定股票池 ContextInfo.accID = '88888888'# 初始化设定资金账号 ContextInfo.order = 10 # 初始化设置一些全局变量,例如设定买入的手数handlebar 是整个 Python 模型中的核心执行函数,所有交易策略的逻辑(什么时候买、什么时候卖、买多少)都必须写在这个函数里。当模型从数据层获取到运行所需要的数据之后,每新出来一根 K 线,系统就自动执行一次 handlebar 函数,比如日线策略那就每天收盘执行一次。
在 handlebar 中处理完数据后,用户可以通过 paint 方法将需要绘图输出的结果返回给界面。界面会将输出结果如实的展示出来。
def handlebar(ContextInfo): buy_sum = 0 sell_sum = 0 index = ContextInfo.barpos realtimetag = ContextInfo.get_bar_timetag(index)print (timetag_to_datetime(realtimetag, '%Y%m%d %H:%M:%S')) dict_close=ContextInfo.get_history_data(7,'1d','close',3)#持仓市值 holdvalue = 0#持仓 holdings=get_holdings(ContextInfo.accountid,"STOCK")ContextInfo 是整个 Python 框架中的一个核心对象。它包含了各种与 Python 底层框架交互的 API 方法,也是一个全局的上下文环境,可以在 init 以及 handlebar 这两个函数中自由地传递用户创建的各种自定义数据。
class G(): passg = G()def init(ContextInfo): g.stock_list = ['******.SZ']def handlebar(ContextInfo): g.stock_list.append('******.SH')(1)开户成功后入金10万后提交申请流程
(2)申请过程全程线上,预计2个工作日申请完成。
(3)等待开通过程中,可以提供测试账号、安装配置流程、量化会员资料。
(4)开通成功后,会通过邮件发送你软件下载地址,登录账号后就可以使用。

福利1:惊喜佣金
福利2:领取完整教程
福利3:添加量化讨论群
福利4:提供专业量化问题解答
福利5:量化工具安装使用教程、视频
福利6:极速柜台,量化投资者专用,速度微秒级
福利7:提供服务器托管模式:ptrade+ldp极速柜台+vip定向服务器(限50人)
