Python 简易策略编写,量化QMT 实操演示
发布时间:5小时前阅读:23
在量化交易领域,QMT 为投资者提供了强大的策略编写与执行平台。通过 Python 语言编写策略,能实现自动化交易决策。下面以简单的双均线策略为例,进行 QMT 实操演示。
策略原理
双均线策略是利用两根不同周期的移动平均线(如短期均线和长期均线)来判断买卖信号。当短期均线从下往上穿过长期均线时,产生买入信号;当短期均线从上往下穿过长期均线时,产生卖出信号。
准备工作
- 开通 QMT 权限:联系券商客户经理,满足相应的资产门槛要求(如国金证券一般要求 10 万门槛 )后开通 QMT 量化交易权限。
- 下载并安装 QMT:从券商官方网站下载 QMT 软件,安装完成后,以管理员身份运行软件。
策略编写步骤
- 打开策略编写界面:登录 QMT 后,在主界面点击 “策略研究” - “新建策略”,选择 “Python 策略”,进入策略编辑窗口。
- 导入必要的库:在策略代码开头,导入所需的库。QMT 中常用的库有 xtquant,它提供了丰富的交易函数和数据接口。
- python
- 运行
import xtquant as xt
- 初始化函数:定义
init函数,用于初始化策略的参数和变量。 - python
- 运行
def init(context):
context.stock = '000001.SZ' # 要交易的股票代码
context.short_window = 5 # 短期均线周期
context.long_window = 20 # 长期均线周期
- 数据处理与信号判断函数:定义
handle_data函数,该函数会在每个交易周期被调用,用于处理行情数据并判断买卖信号。 - python
- 运行
def handle_data(context, data):
# 获取历史收盘价数据
close_prices = xt.get_market_data(context.stock, 'close', count=context.long_window)
if len(close_prices) < context.long_window:
return
# 计算短期和长期均线
short_ma = sum(close_prices[-context.short_window:]) / context.short_window
long_ma = sum(close_prices) / context.long_window
# 获取当前持仓
position = context.portfolio.positions[context.stock].quantity
# 产生买入信号
if short_ma > long_ma and position == 0:
xt.order_shares(context.stock, 100, 'buy') # 买入 100 股
print('买入信号产生,已买入')
# 产生卖出信号
elif short_ma < long_ma and position > 0:
xt.order_shares(context.stock, -100,'sell') # 卖出 100 股
print('卖出信号产生,已卖出')
- 完整策略代码:将上述代码整合起来,形成完整的双均线策略代码。
- python
- 运行
import xtquant as xt
def init(context):
context.stock = '000001.SZ'
context.short_window = 5
context.long_window = 20
def handle_data(context, data):
close_prices = xt.get_market_data(context.stock, 'close', count=context.long_window)
if len(close_prices) < context.long_window:
return
short_ma = sum(close_prices[-context.short_window:]) / context.short_window
long_ma = sum(close_prices) / context.long_window
position = context.portfolio.positions[context.stock].quantity
if short_ma > long_ma and position == 0:
xt.order_shares(context.stock, 100, 'buy')
print('买入信号产生,已买入')
elif short_ma < long_ma and position > 0:
xt.order_shares(context.stock, -100,'sell')
print('卖出信号产生,已卖出')
策略回测
- 设置回测参数:在策略编辑窗口上方,点击 “回测” 按钮,进入回测设置页面。设置回测的起始日期、结束日期、初始资金等参数。例如,起始日期设为 “2025 - 01 - 01”,结束日期设为 “2026 - 01 - 01”,初始资金设为 “100000” 元。
- 运行回测:设置好参数后,点击 “开始回测” 按钮,QMT 会根据策略代码和设定的参数进行回测。回测完成后,会生成详细的回测报告,包括收益曲线、胜率、最大回撤等指标。
策略实盘运行
- 切换到实盘模式:若回测结果符合预期,可将策略切换到实盘运行。在策略编辑窗口上方,点击 “交易” 按钮,选择 “实盘交易”。
- 启动实盘:在弹出的实盘交易窗口中,确认相关信息无误后,点击 “启动实盘” 按钮。此时,策略将开始根据实时行情数据自动执行交易操作。
- 通过以上步骤,投资者可以在 QMT 平台上利用 Python 编写简易量化交易策略,并进行回测与实盘运行,实现自动化交易决策,提升投资效率。但需注意,量化交易存在风险,策略应根据市场变化不断优化调整。
股票/量化开户找我!股票佣金万0.854(满足条件)!无门槛国债逆回购一折 (百万分之一)!ETF佣金万0.5!优惠多多!免费量化使用量化软件QMT+ptrade!

温馨提示:投资有风险,选择需谨慎。
下一篇资讯:
暂无下一篇
-
六月基金跌得心慌?国金AI选好基金,帮你筛标的、控节奏
2026-07-06 14:52
-
不想下载一堆APP,如何选券商?4类合规渠道横向对比,省心避坑!
2026-07-06 14:52
-
一文讲清:股票、基金、债券、逆回购的交易单位、数量、金额和费率
2026-07-06 14:52


问一问

+微信
分享该文章
