当前位置: 首页 > news >正文

讯投QMT避坑指南:A股交易时段规则全解析(含科创/创业板特殊时段)

讯投QMT避坑指南:A股交易时段规则全解析(含科创/创业板特殊时段)

刚接触A股量化交易的新手们,是否曾在非交易时段挂单后苦苦等待成交?是否因不了解集合竞价的撤单规则而错失良机?本文将带您深入解析A股交易时段的那些"隐藏规则",特别是科创板和创业板的特殊交易机制,帮助您在使用讯投QMT平台时避开这些常见陷阱。

1. A股基础交易时段详解

A股的交易时间看似简单,实则暗藏玄机。不同于海外市场,A股采用"分段式"交易机制,每个时段都有独特的规则和操作限制。

1.1 标准交易时段划分

表:A股主要交易时段及操作规则

时段名称时间范围可操作类型特殊规则
开盘集合竞价9:15-9:25申报/撤单9:20前可撤单,9:20后不可撤
早盘连续竞价9:30-11:30自由买卖价格优先、时间优先原则
午间休市11:30-13:00不接受新委托已挂未成交订单仍有效
午盘连续竞价13:00-14:57自由买卖与早盘规则一致
收盘集合竞价14:57-15:00申报不可撤以最大成交量撮合收盘价

关键细节提醒

  • 集合竞价阶段(特别是9:20-9:25)的挂单不可撤销,这常导致新手犯下"手滑"错误
  • 午间休市时段虽然不接受新委托,但已挂订单会保留至下午开盘
  • 收盘集合竞价的成交价即为当日收盘价,对策略执行有重要影响

1.2 非交易时段的委托处理

许多新手容易忽视的是,在非交易时段(如夜间)提交的委托单并不会被立即丢弃。这些订单会被券商系统暂存,并在次日9:15自动进入交易所系统。这意味着:

# QMT中检查当前是否可交易的关键判断 if not is_trading_time(): print("当前为非交易时段,委托将被暂存至下一交易日")

注意:部分券商可能对非交易时段委托有特殊限制,建议在使用QMT自动化交易前确认所在券商的具体规则。

2. 科创板和创业板的特殊交易机制

作为注册制试点板块,科创板和创业板(股票代码分别以688和300开头)引入了多项创新机制,其中盘后固定价格交易最值得关注。

2.1 盘后固定价格交易详解

这一特殊时段为15:05-15:30,具有以下特点:

  • 交易价格固定为当日收盘价
  • 买卖申报需手动挂单,不会自动参与
  • 按照时间优先原则撮合成交
  • 不可撤销已提交的订单

典型使用场景

  • 机构投资者的大额交易需求
  • 避免盘中交易对价格造成冲击
  • 基于收盘价的特定策略执行

2.2 QMT中的特殊处理代码

针对科创板和创业板的特殊规则,QMT用户需要调整交易逻辑:

def handle_special_board(stock_code): if stock_code.startswith(('688','300')): # 盘后交易时段特殊处理 if is_after_hours_trading(): return "进入科创/创业板盘后交易模式" return "标准交易处理"

3. 集合竞价的深度解析

集合竞价是A股特有的价格形成机制,也是量化交易中最容易踩坑的环节之一。

3.1 开盘集合竞价的三个阶段

  1. 自由申报期(9:15-9:20)

    • 可自由提交和撤销订单
    • 显示的"虚拟"成交量可能含有大量噪音
  2. 不可撤单期(9:20-9:25)

    • 只能提交新订单,不能撤销现有订单
    • 成交量反映真实市场意愿
  3. 撮合期(9:25-9:30)

    • 系统计算并公布开盘价
    • 所有符合价格的订单按最大成交量原则成交

3.2 收盘集合竞价的注意事项

与开盘集合竞价不同,收盘集合竞价(14:57-15:00)全程不可撤单。这意味着:

重要提示:在14:57前未撤销的订单将自动参与收盘竞价,且无法中途退出,这对短线策略尤为关键。

4. QMT实战:时段判断与自动化处理

在量化交易中,准确判断当前所处交易时段是策略执行的基础。以下是一个增强版的时段判断函数:

import datetime def get_trading_period_enhanced(): now = datetime.datetime.now() current_time = now.time() weekday = now.weekday() # 基础判断:非交易日 if weekday >= 5: return {"period": "非交易时段", "action": "委托暂存"} # 标准交易时段判断 periods = [ {"name": "开盘集合竞价", "start": "09:15:00", "end": "09:25:00", "can_cancel": current_time < datetime.time(9,20)}, {"name": "早盘连续竞价", "start": "09:30:00", "end": "11:30:00"}, {"name": "午间休市", "start": "11:30:00", "end": "13:00:00"}, {"name": "午盘连续竞价", "start": "13:00:00", "end": "14:57:00"}, {"name": "收盘集合竞价", "start": "14:57:00", "end": "15:00:00"} ] for period in periods: start = datetime.datetime.strptime(period["start"], "%H:%M:%S").time() end = datetime.datetime.strptime(period["end"], "%H:%M:%S").time() if start <= current_time <= end: return {"period": period["name"], "action": "可交易" if "竞价" in period["name"] else "休市", "can_cancel": period.get("can_cancel", False)} # 科创/创业板盘后交易判断 if datetime.time(15,5) <= current_time <= datetime.time(15,30): return {"period": "科创/创业板盘后", "action": "固定价格交易", "can_cancel": False} return {"period": "非交易时段", "action": "委托暂存"}

使用建议

  • 将该函数集成到QMT的策略框架中
  • 根据返回的period和action字段调整交易行为
  • 特别注意can_cancel字段对撤单逻辑的控制

5. 常见错误与避坑指南

在实际操作中,我们观察到新手最容易在以下方面犯错:

错误1:忽视集合竞价的撤单时间窗

  • 误以为9:25前都能自由撤单
  • 解决方案:在QMT中设置9:19自动检查并清理试验性订单

错误2:混淆科创板和主板的交易规则

  • 在15:00后尝试交易非科创板股票
  • 解决方案:在代码中严格区分股票类型

错误3:低估非交易时段订单的影响

  • 夜间下的单次日意外成交
  • 解决方案:在策略中添加明确的有效期控制
# 订单有效期控制示例 order_params = { 'symbol': '600000.SH', 'price': 10.50, 'amount': 100, 'valid_until': 'today' # 当日有效 }

在实际使用QMT进行自动化交易时,我们发现最实用的技巧是在每个交易时段切换点设置检查点,例如在14:56:30自动检查未成交订单,避免它们被动进入收盘竞价阶段。

http://www.jsqmd.com/news/643234/

相关文章:

  • 终极指南:突破旧Mac系统限制的完整实战方案
  • 亲测!进口水漆定制工厂实践案例复盘分享
  • Clawdbot+Qwen3:32B入门教程:快速构建多模型AI代理,开箱即用
  • 选品牌设计?来这,技术超牛!
  • Archlinux镜像设置
  • 高效算法实现:在PyTorch 2.8镜像中优化经典机器学习算法
  • 手把手教你在 Sevalla 上部署 Next.js 博客:从搭建到上线全流程
  • 邓白氏编码加急:半天出码,先码后款!
  • QWEN-AUDIO教育场景:K12课件PPT自动配音+知识点语音标注
  • STM32实战:用定时器中断实现三相锁相环控制(附完整代码)
  • 关于Spring Boot 结合Mybatis读取数据库数据
  • PP-DocLayoutV3与JavaScript交互:实现浏览器内文档实时预览与分析
  • 2026耐火槽盒直销市场口碑调查,这些厂家脱颖而出,耐火槽盒——防火性能全面,满足多重防火需求 - 品牌推荐师
  • Qwen3.5-9B Keil5 MDK开发STM32:从工程创建到烧录调试全指导
  • MogFace-large多场景应用:直播美颜预处理、AI考勤系统集成案例
  • 如何快速让旧款Mac运行最新macOS:OpenCore Legacy Patcher完整教程
  • 超级智能太过单一!菲尔兹奖得主陶哲轩首提“哥白尼式智能观”:人类智能和AI各有好坏,最会用AI的往往是会“带人”的人
  • Java开发环境速配:JDK安装与Phi-4-mini-reasoning智能编程环境搭建
  • CSS如何让表单在手机端友好展示_利用Flexbox实现堆叠排版
  • FreeRTOS队列实战:从阻塞机制到中断安全通信
  • 有时候系统很卡是不是因为这个360
  • NaViL-9B图文问答模型实测:一键部署,开箱即用的AI助手
  • 保姆级教程:用R语言自动化处理FAERS季度数据(从文件合并到删除废弃Case)
  • Sentinel-2波段组合全解析:从植被指数到水体指数的一站式GEE实现
  • 基于S7-1200 PLC的博图V15四层电梯仿真模拟程序:KTP900触摸屏操作,实现楼层显...
  • Qwen3.5-4B模型MATLAB数据分析脚本生成与优化
  • VSCode中ESP-IDF里include文件冒红线显示找不到文件的解决方法之一
  • 无线产品美国必做:FCC ID 全攻略
  • Python FastAPI 路由性能分析
  • MedGemma X-Ray企业应用案例:三甲医院教学中心AI影像实训平台搭建