返回列表 发布新帖

量化教程-超全QMT入门教程

25 0

今天我们介绍一下QMT入门教程,很多人接触量化软件不知道怎么样使用,今天我给一个详细的教程,从开通,安装,到环境的配置的一个全流程

1怎么样开通qmt

实盘需要找自己的客户经理申请开通量化权限,不同的证券公司的门槛不一样,模拟盘的话可以直接找我就可以,实盘也可以找我开通

2安装使用点击下载链接,下载客户端,安流程一直安装就可以,安装完成就可以使用

80f604659d084ccdb005a3babcebaabe.png

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

1b5d2a2be81a1bcf412e13b1a1928604.png

进入的模拟盘界面

000d161488c231796bdee5486105fe3a.png

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

8e667109c7af8e0545efba9c69e7061d.png

下载过的不需要下载

bd5cd930b009b7a4fee53580b1e1650f.png

等待下载完成,重新启动qmt客户端就可以

5补充历史数据,在我们做回测研究中,有的时候需要历史数据的补充,包括行情数据,财务数据,需要自己手动下载一下

点击界面的操作按钮,下面有一个数据管理

49b7031d3427301d814d1f590075c125.png

选择数据管理按钮

4501c056d07c04778292a0340350ec8f.png

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

20be1914eab5f11b9ba64330dbe0b7a4.png

6建立策略,点击模型研究,我的都可以,点击界面上面的建立策略就可以开始做策略的研究,交易

支持vb,python策略建立一般利用python比较多

d129b96c8b9fff1d3d868ec1a0af10da.png

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

5612819fff36d01107eaa4576382e710.png

#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')

后面更新更多内容,不懂的问我就可以

ebc09a9c83f88081a387e07d4ea3f18b.jpg

量化福利我技术支持

b726a8bc6f1389678f3e163f4bef7f3e.png

回复

您需要登录后才可以回帖 登录 | 立即注册

主题

5

回帖

2

积分

0

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2026 迅投QMT社区 版权所有 All Rights Reserved. 京ICP备2025122616号-3
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表