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

夜盘白盘衔接几分钟误下单:天勤交易时段与行情过滤

前言

国内期货很多品种有夜盘和日盘,中间有休市、小节休息、集合竞价等时段。程序化策略若只写“有价格就交易”,容易在:夜盘结束到日盘开盘之间的几分钟、午休、或节假日仍用旧信号报单,表现为拒单、废单,或更糟——在流动性极差时成交在离谱价格。

K 线datetime能判断新 bar,但休市时 datetime 不推进,不能单靠 datetime 判断“允许交易”。夜盘结束到日盘开盘、小节休息前后的几分钟,还要结合合约 quote 上的交易时间信息与团队规则。下面用天勤 TqSdk 说明这类场景常见误下单原因,以及发单前过滤应怎么写;各品种具体开收时间以交易所当日公告为准。

一、场景:衔接几分钟为何危险

举例(品种各异,以交易所公告为准):夜盘 23:00 结束,日盘 9:00 开盘,中间行情服务可能仍推送个别字段或显示昨收;若策略在 8:59 用夜盘最后一根 K 线的信号、又对日盘第一秒盲目下单,可能用到过期方向或非连续成交价格。

又如 10:15–10:30 小节休息:K 线 datetime 可能暂停,quote 的last_price偶发跳动,若 tick 策略无时段过滤会误触发。

二、天勤里可用的信息从哪来

quote = api.get_quote(symbol)wait_update后更新,常见相关字段包括(以你安装版本文档为准):

  • trading_time:与该合约相关的交易时间段结构;
  • datetime:行情快照时间;
  • 涨跌停upper_limit/lower_limit等。

策略应区分两层:

  1. 交易所可交易窗口(尽量从 quote / SDK 能力读取,少手写全国统一钟点);
  2. 本策略允许交易窗口(如开盘后 5 分钟不出信号),可窄于交易所。

三、发单前过滤骨架

q=api.get_quote(symbol)defstrategy_allow_trade(quote):# 请按 TqSdk 文档实现:当前是否处于该合约可交易时段# 不同版本可能有辅助判断,勿虚构字段名returnTrue# 上线前必须替换为真实逻辑whileTrue:api.wait_update()ifnotstrategy_allow_trade(q):continueifnotapi.is_changing(kl.iloc[-1],"datetime"):continue# 信号与 set_target_volume

上线前在模拟盘录一段日志:夜盘结束、日盘开盘前后strategy_allow_trade的 True/False 是否符合预期。开盘集合竞价是否允许入场,应由团队书面规则决定。

四、与 K 线 datetime 的配合

  • 休市:K 线datetime不推进 → 不会误触发“新 bar 信号”,这是好事。
  • 仍可能问题:休市前最后一根 bar 的信号缓存到日盘,若不在日盘开盘重新评估,会“带着昨夜方向”开仓。可在日盘首根datetime变时强制刷新 bias,或开盘 N 分钟内禁止开仓。

五、TargetPosTask 与非交易时段

模拟逻辑里,非交易时段挂单可能被置为完成或无法成交(见模拟交易源码对_is_in_trading_time的处理)。实盘更应以不发单为主,而不是依赖柜台拒单。

总结

夜盘到白盘的衔接时段,看上去只有几分钟,但恰恰是最容易让策略“拿错时间、拿错业务语义”的窗口。正确做法不是只盯 K 线 datetime,而是把“可交易窗口”和“策略允许交易窗口”分层:用 quote / SDK 能提供的交易时段信息做硬过滤,用开盘规则刷新策略缓存,避免把夜盘最后的方向直接带到日盘第一笔。再加上日志留痕,你在复盘时就能把拒单与异常成交归因到明确的时段决策,而不是纠结于‘那几分钟到底触发了什么’。

FAQ

1)能否用交易日历 API?

若有,可与 quote 组合;以文档为准。

2)夜盘品种订日盘合约?

订可交易的那档合约,时段跟品种走。

3)Scheduler 收盘清仓?

可与时段过滤分层,见 Scheduler 专题。

4)回测夜盘衔接?

回测时间轴按历史规则,仍建议加同样过滤代码。

风险提示

本文讨论交易时段技术,不构成投资建议。

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

相关文章:

  • 方舟CPU与Arca210 SOC:国产嵌入式处理器自主化早期探索与架构解析
  • 用Logisim的Plexers模块,5分钟搞定一个简易CPU数据选择器(附详细接线图)
  • Pearcleaner:免费开源macOS终极清理工具,彻底告别应用残留
  • 时序卷积网络(TCN)百科全书用卷积征服序列
  • 基于FlexIO模块实现IrDA红外通信的硬件仿真方案
  • 从空调温控到信号降噪:一阶RC低通滤波器在Arduino和STM32上的C语言实现指南
  • 从‘Cannot resolve’到‘BUILD SUCCESS’:一次完整的IDEA+Maven依赖问题排查实录
  • 如何永久保存微信聊天记录?WeChatMsg开源工具三步实现数据自主管理
  • STM32上cJSON_PrintUnformatted返回NULL?别慌,八成是堆内存(Heap_Size)没给够
  • 终极指南:3步搞定Xbox Game Pass游戏存档备份与迁移
  • 智能电表招标背后的芯片格局重塑与产业链变革
  • 小程序毕设选题推荐:基于微信小程序的民宿预订管理系统基于springboot+微信小程序的民宿预订管理系统设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 用PaddleOCR+Qt打造你的第一款桌面OCR工具:截图识别、身份证信息提取实战
  • 炉石传说HsMod插件:55项隐藏功能全面解锁指南
  • 从“小而美”到“一体化”腾讯云TDSQL如何拯救选型纠结?
  • C++新手必看:用枚举和循环嵌套,5分钟找出所有四位数的“aabb”完全平方数
  • 国内包装振动测试标准选择,GB/T 4857.23-2021随机振动谱图选用
  • 基于NXP KW36/38的混合网络固件升级方案:蓝牙OTAP与LIN/CAN总线分发实践
  • 阅读APP书源配置终极指南:26个高质量书源一键导入完整教程
  • NumPy二元运算符底层原理与高性能实践
  • 基于NXP i.MX RT1010的无传感器FOC电机控制实战:从硬件到算法调试
  • Unlock Music音乐解锁工具完整指南:3步快速解密所有加密音乐文件
  • 3分钟掌握:这款开源工具如何彻底改变你的网盘下载体验?
  • 【网络调优】迅雷11下载速率异常与丢包排查:从底层协议、TCP并发到Disk Cache配置调优
  • 如何为 Agent 设计经济激励机制
  • Playnite:游戏管理终极方案,告别20+平台切换烦恼
  • 从‘事后诸葛亮’到‘事前算无遗策’:积分梯度(IG)如何帮你调试CV/NLP模型并提升效果?
  • 技术创业十二载:从FPGA到物联网的工程师成长与团队管理心得
  • 别再死磕轮询了!STM32 HAL库串口中断接收HAL_UART_Receive_IT保姆级配置流程(附CubeMX设置)
  • 从机箱灯到智能管理:NPEM如何为你的DIY全闪存NAS和PCIe 4.0/5.0 SSD盒赋能