今天我们介绍一下QMT入门教程,很多人接触量化软件不知道怎么样使用,今天我给一个详细的教程,从开通,安装,到环境的配置的一个全流程
1怎么样开通qmt
实盘需要找自己的客户经理申请开通量化权限,不同的证券公司的门槛不一样,模拟盘的话可以直接找我就可以,实盘也可以找我开通
2安装使用点击下载链接,下载客户端,安流程一直安装就可以,安装完成就可以使用

3使用,点击图片,不要选择右下角的独立交易,进入界面就可以

进入的模拟盘界面

4配置python环境,点击我的,模型研究也可以,点击右上角的python库下载

下载过的不需要下载

等待下载完成,重新启动qmt客户端就可以
5补充历史数据,在我们做回测研究中,有的时候需要历史数据的补充,包括行情数据,财务数据,需要自己手动下载一下
点击界面的操作按钮,下面有一个数据管理

选择数据管理按钮

选择自己需要的数据周期补充就可以

6建立策略,点击模型研究,我的都可以,点击界面上面的建立策略就可以开始做策略的研究,交易
支持vb,python策略建立一般利用python比较多

这个就是系统默认给的代码参考策略模板,建立策略就会自动生成

#encoding:gbk
'''
本策略事先设定好交易的股票篮子,然后根据指数的CCI指标来判断超买和超卖
当有超买和超卖发生时,交易事先设定好的股票篮子
'''
import pandas as pd
import numpy as np
import talib
def init(ContextInfo):
#hs300成分股中sh和sz市场各自流通市值最大的前3只股票
ContextInfo.trade_code_list=['6098.SH','857.SH','608.SH','033.SZ','015.SZ','02.SZ']
ContextInfo.set_universe(ContextInfo.trade_code_list)
ContextInfo.accID = '60000058'
ContextInfo.buy = True
ContextInfo.sell = False
def handlebar(ContextInfo):
#计算当前主图的cci
mkdict = ContextInfo.get_market_data(['high','low','close'],count=int(period)+1)
highs = np.array(mkdict['high'])
lows = np.array(mkdict['low'])
closes = np.array(mkdict['close'])
cci_list = talib.CCI(highs,lows,closes,timeperiod=int(period))
now_cci = cci_list[-1]
ContextInfo.paint("CCI",now_cci,-1,0,'noaxis')
#交易策略
if len(cci_list)<2:
return
#买入条件:指数CCI进入超卖区间时触发买入信号,过滤连续超卖导致的买入信号
buy_condition = cci_list[-2]<buy_value<=now_cci and ContextInfo.buy
#卖出条件:指数CCI进入超买区间时触发卖出信号,过滤连续超买导致的卖出信号
sell_condition = cci_list[-2]>sell_value>=now_cci and ContextInfo.sell
if buy_condition:
ContextInfo.buy = False
ContextInfo.sell = True
#列表中股票分别下单买入10手
for stockcode in ContextInfo.trade_code_list:
order_lots(stockcode,10,ContextInfo,ContextInfo.accID)
elif sell_condition:
ContextInfo.buy = True
ContextInfo.sell = False
#列表中股票分别下单卖出10手
for stockcode in ContextInfo.trade_code_list:
order_lots(stockcode,-10,ContextInfo,ContextInfo.accID)
#可买或可卖状态
ContextInfo.draw_text(bool(buy_condition),float(now_cci),'buy') #绘制买点
ContextInfo.draw_text(bool(sell_condition),float(now_cci),'sell') #绘制卖点
ContextInfo.paint('can_buy',ContextInfo.buy,-1,0,'nodraw')
ContextInfo.paint('can_sell',ContextInfo.sell,-1,0,'nodraw')
后面更新更多内容,不懂的问我就可以

量化福利我技术支持
