
我们普通人做股票交易需要自己盯盘、手动下单,而QMT是一款专门做量化交易的软件,和我们平时用的普通交易软件不一样。
通过 QMT 系统,用户可以将自己的想法转化为计算机语言,让计算机给我们实现无人值守的自动化交易。
QMT可以提供量化交易API接口,支持实盘交易和数据获取,除此之外,还支持策略编写、回测、调试、风控等全流程量化服务。
今天给大家详细介绍一下普通散户如何将自己的想法编写成策略由QMT量化软件实现自动化交易。
量化软件QMT对电脑配置、网络环境有一定的要求,在进行量化策略编写之前,得确认安装量化软件的量化环境是否符合要求,以免后续交易报错或卡顿。
①操作环境兼容性检查
电脑系统最低配置为Windows 10 64位及以上
②硬件需求评估
硬件方面最基本也要4核处理器与8GB内存。
③网络环境提示
有部分办公或酒店网络存在访问限制,跨境连接也可能出现延迟或不稳定的情况。
④安全软件提示
部分安全软件可能会有隔离QMT安装的情况,安装时注意系统文件被隔离或限制。
第一次使用QMT之前,需要预先下载或补充Python库,主要是为了后续策略执行中能够利用丰富的第三方库,比如Pandas、Numpy;
安装完毕后,不要忘记重启客户端。

QMT策略运行(无论是回测还是盘中运行)都高度依赖于本地已有的历史行情数据。因此,使用QMT之前,我们需要下载或补充历史数据。
通过“行情源”功能下载或补充数据,选择所需的数据类型、周期、时间进行下载补充。

一个完整的QMT策略框架包含以下几个点:
① 编写 Python 策略在开始时需要定义编码格式,比如 gbk。
② 选择导入策略所需的第三方库,这些第三方库要在QMT支持的白名单才行。(比如Pandas、numpy等)
③ Init 函数是一个完整策略中必要的函数之一。Init 函数会在策略运行开始时调用一次,用以初始化所需对象(包裹在 ContextInfo 对象中传递),设定股票池等。
④ handlebar函数也是一个完整策略必要的函数之一。handlebar函数会在历史 K 线上逐 K 线调用,系统会保存函数所做更改。

以上面策略为例,我们来看看:
① 定义编码格式如下:
#coding:gbk② 导入第三方库(numpy)如下:
import numpy as np③ init函数用法如下:
def init(ContextInfo):#设置股票池 stock300 =ContextInfo.get_stock_list_in_sector('沪深300') ContextInfo.stock30_weight = {} stock300_symbol = [] stock300_weightlist = [] ContextInfo.index_code = ContextInfo.stockcode + "."+ContextInfo.marketfor key in stock300:#保留权重大于0.35%的成份股if (ContextInfo.get_weight_in_index(ContextInfo.index_code, key) / 100) > 0.0035: stock300_symbol.append(key) ContextInfo.stock300_weight[key] = ContextInfo.get_weight_in_index(ContextInfo.index_code, key) / 100 stock300_weightlist.append(ContextInfo.get_weight_in_index(ContextInfo.index_code, key) / 100)print('选择的成分股权重总和为:',np.sum(stock300_weightlist)) ContextInfo.set_universe(stock300_symbol)#print(ContextInfo.stock300_weight)#资产配置的初始权重,配比为0.6-0.8-1.0 ContextInfo.ratio = 0.8#账号 ContextInfo.accountid = "tests"init函数的核心作用是:初始化策略运行环境,筛选出沪深 300 指数中权重大于 0.35% 的成份股构建股票池,记录这些成份股的权重并保存,设置策略初始资产配比权重为 0.8,同时指定交易账号,完成策略运行前的基础配置。
④ handlebar函数用法如下:
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")handlebar函数的核心作用:
获取并记录当前运行到的K线位置和时间;
获取股票池中所有股票过去7天的日线收盘价数据,为后续判断个股是否连续上涨或下跌做准备;
获取当前账户的股票持仓情况,为计算持仓市值和后续的调仓决策提供依据。
QMT本地运行,采用全内存交易,单笔延时低于1ms,并未灵活度高,支持接入外部数据库等,所以QMT适合需要大量本地计算和调用第三方库的复杂策略或盘前、选股择时类策略还有人工执行类策略。。
PTrade 策略部署在券商服务器,直接省掉了从本地到券商服务器这段链路,且免费支持LV2数据,本地客户端关机后策略也可以运行,适合高频交易这些对交易速度需求大的策略。

(1)开户成功后入金10万后提交QMT申请流程
(2)申请过程全程线上,预计2个工作日申请完成。
(3)等待开通过程中,可以提供测试账号、安装配置流程、量化会员资料。
(4)开通成功后,会通过邮件发送你软件下载地址,登录账号后就可以使用。

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