QMT量化操作实战:日内交易策略案例分享
发布时间:1小时前阅读:38
QMT量化操作实战:日内交易策略案例分享
想看QMT怎么玩转日内交易?来来来,搬好小板凳,分享一个简单易懂的日内策略思路,看看代码长啥样!
策略思路:基于均线交叉的简单日内策略
- 目标:捕捉日内短期的趋势机会。
- 逻辑:
QMT中可能的样子 (伪代码概念,非完整代码哦!)
# 初始化函数
def init(context):
# 设置要交易的股票,比如沪深300成分股
context.security = '600519.SH' # 举例:贵州茅台,实际选活跃股更好
# 设置均线周期
context.short_window = 5
context.long_window = 20
# 注册要用的数据
register_short(context.security, context.short_window, 'MEAN') # 快线
register_short(context.security, context.long_window, 'MEAN') # 慢线
# 设置交易手续费等(模拟盘可简化)
set_slippage(FixSlippage(0.01)) # 假设滑点固定0.01元
set_commission(PerTrade(base=0.0001)) # 假设手续费万分之1
# 每日开盘时调用
def before_trading_start(context):
# 可以在这里做一些每日初始化工作
pass
# 核心逻辑函数 - 每分钟/每5秒调用 (取决于设置)
def handle_data(context):
# 获取当前快慢线值
short_ma = get_short(context.security, 'MEAN', context.short_window)
long_ma = get_short(context.security, 'MEAN', context.long_window)
# 获取当前仓位
position = get_position(context.security)
# 均线交叉判断
if short_ma > long_ma and (position.total_amount == 0): # 金叉且无持仓 -> 买入
# 计算买入金额,比如用10%的现金
cash = context.account.cash * 0.1
# 发出买入信号 (实际代码需要处理下单逻辑)
order_value(context.security, cash)
log.info(f"买入 {context.security}, 金额: {cash}")
elif short_ma < long_ma and (position.total_amount > 0): # 死叉且有持仓 -> 卖出平仓
# 全部卖出
order_target(context.security, 0)
log.info(f"卖出 {context.security}, 平仓")
# 收盘前调用,确保日内平仓
def after_trading_end(context):
# 检查是否有持仓,有则平仓
for security in context.positions:
if context.positions[security].total_amount > 0:
order_target(security, 0)
log.info(f"收盘平仓 {security}")
实战要点与思考
- 选股很重要 :活跃度高、流动性好的股票更适合日内交易。
- 参数优化 ⚙️:5日、20日只是示例,实际需要根据品种和市场状态进行测试和优化。
- 风险管理 ️:设置止损点!即使策略失效,也能控制损失。仓位控制也很关键。
- 滑点与成本 :模拟盘和实盘的滑点、手续费差异巨大,务必在模拟盘充分测试。
- 扩展思路 ➕:可以加入成交量判断、ATR计算止损位、多策略组合等,让策略更 robust。
重要提醒 :这只是一个极其简化的示例,用于说明思路!真实交易远比这复杂,且风险自负。请勿直接用于实盘!
温馨提示:投资有风险,选择需谨慎。
-
2026年券商APP怎么选?九大专业软件测评给你答案~
2026-04-13 14:59
-
持仓乱、收益差?国金这个AI工具,帮你一键诊断+科学调仓,告别盲目投资
2026-04-13 14:59
-
选股看估值,究竟是看PE、PB还是PEG?
2026-04-13 14:59


问一问

+微信
分享该文章
