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

期货量化尾盘没清仓:天勤 trading_time 过滤与收盘前平仓

前言

国内期货日内量化策略规定不留隔夜敞口:程序白天用天勤 TqSdk 订 5 分钟 K 线,均线或突破信号触发后TargetPosTask加仓,希望在日盘或夜盘结束前把净持仓调到零。事故常出在收盘前几分钟——信号层仍算出「做多 2 手」,执行层继续set_target_volume,结果带着仓位过夜,第二天跳空吃亏。有人用本机datetime.now()判断「是不是 14:55」,忽略国内期货有夜盘、小节休息、螺纹钢和股指收盘时刻并不相同。

天勤每个合约的quote.trading_time由行情服务下发,描述真实交易时段;TargetPosTask内部也会判断是否处于交易时间。策略层应主动做「收盘前 N 分钟强制平仓」和「非交易时段不算信号」。下面说明怎么写过滤逻辑。

一、trading_time 是什么

Quote.trading_timeobjs.py)包含该合约的交易时间段配置,由行情服务下发。TargetPosTask内部也用_is_in_trading_time决定是否发单。策略层应主动过滤,而不是假设 task 会替你做日内清仓。

二、收盘前平仓逻辑框架

fromtqsdk.datetimeimport_is_in_trading_time# 内部函数,生产可用等价封装quote=api.get_quote(SYMBOL)klines=api.get_kline_serial(SYMBOL,60,data_length=200)FLAT_MINUTES=5# 收盘前 5 分钟清仓whileTrue:api.wait_update()ifnot_is_in_trading_time(quote,quote.datetime):continue# 非交易时段不算信号# 判断是否接近收盘(需按 trading_time 解析,或简化为配置表)ifnear_session_end(quote,minutes=FLAT_MINUTES):task.set_target_volume(0)continue# 正常信号...

near_session_end建议按品种维护配置:日盘结束、夜盘结束各一组时刻,或用trading_time段落的末时刻减偏移。不要全国同一时刻一刀切。

三、与信号层的关系

  • 收盘前窗口:禁止任何扩大敞口的set_target_volume,只允许减仓或清零。
  • 已触发强平后,设session_flat=True标志,下一交易小节再允许开仓。
  • 长假前最后一个交易日,可叠加更保守规则(与节后跳空专题衔接)。

四、夜盘与白盘衔接

夜盘结束到日盘开盘之间,quote.datetime可能不走,_is_in_trading_time为假。此时不应因「没清仓」误报警——要区分「交易时段结束已平仓」与「该平未平」。日志记postrading_time状态便于次日核对。

五、TargetPosTask 非交易时段行为

非交易时段调用set_target_volume,task 可能排队到下一时段才发单;日内策略应在时段结束前主动清零,而不是卡在 14:59 才第一次调 target。

六、品种收盘时刻配置表示例

品种日盘结束夜盘结束FLAT_MINUTES
rb15:0023:005
IF15:00无夜盘3
au15:0002:305

用配置驱动near_session_end,不要全国同一datetime

七、小节休息与午休

国内商品日盘 10:15~10:30 等小节,trading_time为假,不应误触发「尾盘平仓」。near_session_end只应对日盘最后一段与夜盘最后一段。

八、平仓失败兜底

收盘前set_target_volume(0)后若pos仍非零,记 L2 告警并人工处理;次日开盘前禁止自动加仓直到pos归零或人工确认。

总结

尾盘没清仓,根因常是策略只用 K 线信号、没有交易时段意识。天勤quote.trading_time与交易时间判断函数提供了合约级时段信息,应用收盘前固定分钟强制set_target_volume(0),并在非交易时段跳过开仓逻辑。按品种配置日盘、夜盘结束时刻,比用本机时钟或统一 15:00 更贴近国内期货实际,也减少隔夜敞口失控。

FAQ

1)能否用 cron 定时平仓?

可以作兜底,但仍以trading_time为准,避免节假日误触发。

2)股指国债收盘不同怎么办?

各 symbol 独立配置FLAT_MINUTES与结束时刻。

3)只平今还是全平?

看策略;日内通常净仓清零,用TargetPosTask设 0 即可。

4)模拟盘时段一致吗?

TqSim/TqKq沿用同样trading_time数据,适合演练尾盘规则。


本文基于天勤 TqSdk 公开 API 整理,不构成投资建议。

http://www.gsyq.cn/news/1501287.html

相关文章:

  • Time-TK框架:多尺度时间序列预测的创新实践
  • 别再让模型‘虚胖’了:手把手教你用SCConv模块给ResNet50‘瘦身’(附PyTorch代码)
  • [智能体-353]:langchain有哪些自带的skills和tools
  • 双击即用的C++学生信息管理工具:单链表+文件持久化+多条件检索
  • 免费开源三维建模软件MicMac:从照片到三维模型的完整指南
  • KiTTY:Windows上最贴心的SSH客户端,让你的远程连接体验飞起来
  • 如何彻底解决TranslucentTB开机自启动问题:终极体验优化指南
  • 告别手工MIRO/MIR7:用Python脚本调用SAP BAPI实现发票批量冲销与删除
  • ABAQUS粘弹性边界模拟:用Python脚本一键提取节点反力并自动施加(附完整源码)
  • 如何解决老旧Windows系统更新问题:LegacyUpdate完整指南
  • 如何用BoilR一键整合多平台游戏库:终极Steam游戏管理指南
  • 用Spark GraphX处理社交网络数据:一个学生成绩关系图的完整分析实战
  • 告别VGA大块头!用FPGA驱动ST7789V小屏,做个便携示波器界面(附Verilog源码)
  • 基于OpenCV与预训练Keras模型的实时人脸情绪识别工具包(含七类情绪检测+完整运行代码)
  • LinkSwift:突破网盘限速的终极开源解决方案
  • 从“Hello World”到流水线:用Python模拟一个五段式CPU,理解指令执行背后的时钟与数据流
  • Make Sense:浏览器端零安装的图像标注神器终极指南
  • STM32F103C8T6最小系统板直连OLED屏的Keil可运行工程(含SSD1306/SH1106驱动源码)
  • 技术深度解析:Lapce远程SSH连接性能瓶颈与优化方案
  • 2026年 新疆酒店铝单板源头厂家推荐榜单:专业定制与匠心工艺品质之选 - 品牌发掘
  • Spring Boot项目里用Netty手搓一个MQTT客户端,从连接、订阅到消息重发全流程解析
  • 让文献管理变得可视化:Zotero Style的5大创新功能
  • AI 辅助的 K8s 资源配额推荐:从经验估算到数据驱动
  • 修车师傅的‘黑话’:一文读懂UDS诊断仪上的NRC错误码(附ISO 14229速查表)
  • 深度解析Audiveris:基于多阶段管道的乐谱光学识别完整技术方案
  • BoilR完整指南:如何一键整合所有游戏平台到Steam库
  • 实战指南:如何高效使用ScraperJS进行Web数据采集
  • 2026年国内top5有机肥厂家盘点:哪家茶叶肥料好/四川肥料厂家品牌推荐/四川肥料厂家推荐/实力品牌全解析 - 优质品牌商家
  • 别再只调API了!手把手带你用PyTorch从零复现GPT-1的Transformer Decoder结构
  • MC9S12HZ256架构解析:从16位MCU核心到汽车级外设驱动实战