
是新朋友吗?记得先点蓝字关注我哦~

先说说什么是 “量化交易”:平时咱们买股票可能是看新闻、听分析,凭感觉决定买还是卖;但量化交易是把买卖规则(比如 “当某只股票价格跌了 5% 就买,涨了 8% 就卖”)写成电脑能看懂的程序,让电脑自己盯着市场,到了条件就自动下单,不用人天天盯盘。
而 QMT就是专门帮人做这件事的工具。它的核心作用就是让你把你的交易想法变成能自动跑的程序,再连接到交易所去执行。
QMT具体能做什么呢?
比如你有个交易思路:“每天下午 2 点半,选今天成交量比昨天大 30% 以上的股票,买其中价格最低的 3 只”。
你让他执行的那个选股交易的动作,在量化交易当中就被称为“交易策略”或者是“量化策略”。如果你不知道这个量化策略能不能赚钱,你可以让他把这个策略放到过去10年的历史数据当中,完全按照设定的规则交易,就可以看到收益率、胜率、夏普率、最大回撤等统计指标,能不能赚钱心里就有数了,这在量化当中就叫做“回测”
回测没问题了,就可以让 QMT 连接你的股票账户,到了时间它就自动按规则找股票、下单,整个过程不用你动手,电脑实时盯着市场数据(价格、成交量这些),反应比人快多了。
如何使用QMT?
1、下载Python库
第一次下载QMT软件后的第一件事情,就是下载 Python 库,使用默认地址即可,千万不要擅自修改路径,下载后重启客户端。另外,盘中下载速度会很慢,建议盘前或盘后再下载。

2、下载历史数据
在 QMT 量化交易中,下载历史数据是策略开发的关键基础,直接影响回测准确性和实盘效果,所以一定得记得下载。
在智能下载界面下载、更新不同种类和范围的历史数据。

在快速下载标签页内快速下载当日数据,并设置自动下载等选项。

批量下载功能可以在选择指定品种,数据范围和想要下载的数据类型选项后 开始下载所选范围内包含的所有数据。

3、新建\导入策略
在「主页界面」或者「模型研究」界面,用户可创建自己的模型,模型创建方法有两种:
方法一,点击“新建模型”按钮并选择模型语言类型(VBA或python),在弹出「模型编辑器」 中从头开始写一个自己的量化模型。

方法二,使用系统预置的各种示例模型,点击后方“编辑”按钮,并在弹出 的「模型编辑器」中以此示例模型代码为基础进行编写。

4、查看回测绩效
在回测之前,可以手动在操作—数据管理中补充数据,方便回测运行。也可以直接回测,系统会自动补全相应品种指定运行周期的所有历史数据。
对某个策略编译成功后,点击回测,可以通过日志输出查看模型回测情况,主界面会跳转到模型设置的默认标的和默认周期界面,并输出模型绩效分析结果。

如果回测时间太长,不想再继续进行下去,可直接点击“策略停止”按钮, 停止回测。
随着光标在K线主图上的移动,右边回测结果展示窗口会动态显示截止光标 所在当日的绩效分析结果(包括年化收益,基准年化收益,单位净值,下方差, 信息比率,夏普比率,波动率,索提诺比率,阿尔法系数,贝塔系数,跟踪误差, 最大回撤,胜率等)、买卖操作和持仓分析等。

同时,也可以直接在回测界面将该策略添加到实盘交易,转到实盘交易后策 略默认为运行状态。

另外,回测结果还提供了持仓分析、历史板块汇总、操作明细、日志输出等 信息,方便进行深入分析。

上面就是整个使用流程,第一次使用会很陌生,多用几次就很熟练了。
创建第一个python策略
#coding:gbkimport datetime'''14点55 撤回未成交委托14点56 卖出国债逆回购1天期 204001.SH'''ordered, canceled, pre_date = False, False, ''def init(C):C.run_time('f', "5nSecond", "2020-01-01 00:00:00", "SH")def f(C):global ordered, pre_date, cancelednow = datetime.datetime.now()now_date = now.strftime("%Y%m%d")now_time = now.strftime("%H%M")#每天更新记录变量if now_date != pre_date:ordered, canceled, pre_date = False, False, now_date#撤单if now_time >= '1455' and not canceled:orders = get_trade_detail_data(account, 'stock', 'order')for order in orders:if can_cancel_order(order.m_strOrderSysID, account,'stock'):print('cancel', order.m_strOrderSysID, order.m_strInstrumentID + '.' + order.m_strExchangeID, order.m_strInstrumentName, order.m_strRemark)cancel(order.m_strOrderSysID, account, 'stock', C)canceled = True#卖出逆回购if now_time >= '1456' and not ordered:acct = get_trade_detail_data(account,'stock','account')available_money = int(acct[0].m_dAvailable)vol = int(available_money / 1000) * 10msg = f"{now_date}{now_time}{account}{accountType} 可用资金 {available_money} 卖出 {vol} 单位逆回购"print(msg)if vol >= 10:passorder(24, 1101, account, '204001.SH', 14, -1, vol, '尾盘逆回购', 2, msg, C)ordered = True
本示例为【收盘前卖出国债逆回购】仅供参考,上方account, accountType 变量为模型交易界面添加策略时, 选择的账号/账号类型。
如何开通量化QMT?
目前券商限时入金10万就可以开通
股票无条件万1,根据资金量最低可以做到万0.854 

福利5:量化工具安装使用教程、视频
福利6:极速柜台,量化投资者专用,速度微秒级
夜雨聆风