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

期货合约临近交割怎么预警:天勤 expire_datetime 与禁开逻辑

前言

国内商品期货量化程序,执行层必须落在具体交割月份上,例如SHFE.rb2510,用天勤TargetPosTask根据均线等信号set_target_volume调仓。合约临近到期时,交易所对开仓、持仓限额与交割规则都会变严;若程序仍在临月合约上自动加仓,可能面临流动性枯竭甚至强平。有人用 Excel 记「每月 15 号换月」,交易所规则一变就踩坑。

天勤api.get_quote(symbol)返回的quote上有expire_datetime(到期日时间戳)和expire_rest_days(剩余到期天数),由行情服务推送,可在set_target_volume前做禁开、只平不开或强制清仓。下面说明字段含义、与主力换月如何配合、程序里怎么裁剪 target。

一、quote 上的到期字段

字段类型含义
expire_datetimefloat,秒级 Unix 时间戳合约到期日
expire_rest_daysfloat距到期剩余天数

expire_rest_daystrade_extension.py里由expire_datetime与当前行情时间推算。刚订阅时可能为 nan,需wait_update等到 quote 完整。

读取示例:

quote=api.get_quote("SHFE.rb2510")api.wait_update()days=quote.expire_rest_daysifdays==daysanddays<5:# 非 nanlog("expire_warn",symbol=quote.instrument_id,days=days)

二、禁开与只平不开策略

常见规则(数值按品种与合规要求自定):

  • expire_rest_days < 10:禁止新开仓,只允许减仓。
  • expire_rest_days < 3:强制把 target 调到 0。
  • 交割月前一周:切换TargetPosTask到次主力合约(配合underlying_symbol换月)。

裁剪 target 示例:

defclip_target_for_expire(raw_target,pos,expire_rest_days,forbid_open_days=10):ifexpire_rest_days!=expire_rest_days:# nanreturnraw_targetifexpire_rest_days<3:return0ifexpire_rest_days<forbid_open_days:# 只允许朝平仓方向ifraw_target>pos:returnposifraw_target<pos:returnposreturnraw_target

set_target_volume前调用,pos来自get_position(symbol).pos

三、与主力换月的关系

expire_rest_days管「这一张合约还能持多久」;underlying_symbol或主连KQ.m@管「策略逻辑跟哪条价格序列」。两者都要:信号可跟主连,下单必须落在未临期的具体月份;临期预警针对具体下单合约的 quote。

换月窗口建议早于禁开阈值,避免最后几天流动性枯竭、平不掉。

四、日志与告警

预警应记:symbolexpire_rest_daysexpire_datetimepos、裁剪后的targetexpire_rest_days跨日跳变时发一条汇总通知,便于和交易日历对照。

模拟盘TqSim同样有expire_rest_days,可在回测末尾故意持有临月合约,验证禁开是否生效。

五、交易所规则不能全靠字段

天勤字段反映合约到期时间,不代替期货公司持仓限额、交割月开仓限制等合规规则。程序化层用expire_rest_days做第一道闸,具体阈值应叠加品种手册与期货公司通知。

六、品种差异配置表示例

rb:forbid_open_days:10force_flat_days:3m:forbid_open_days:8force_flat_days:2IF:forbid_open_days:5force_flat_days:1

程序启动读表,对quote.product_id匹配规则。金融期货交割月规则与商品不同,不能全品种同一数字。

七、与 query_quotes 联动

盘前query_quotes(ins_class="FUTURE", expired=False)得到可交易列表,再过滤expire_rest_days < N的合约,从标的池剔除。比手工删 symbol 更不易漏。

八、告警文案

预警日志建议人类可读:合约 SHFE.rb2510 剩余 4 天到期,已禁止开仓,当前 pos=2。运维一眼能判断要不要人工介入移仓。

总结

期货合约临近交割,程序要比行情软件更早知道「这张合约剩几天」。天勤quote.expire_rest_daysexpire_datetime提供了统一入口,可在set_target_volume前裁剪 target,实现只平不开或强制清仓;与主力换月、具体下单月份配合,才能避免信号还在旧月、执行已临期的错位。在TqSim上把阈值跑通并留痕,比临到期手工改代码稳妥得多。

FAQ

1)expire_rest_days 是 nan?

行情未到或合约信息未加载,多等几帧;仍 nan 则查 symbol 是否写错。

2)金融期货也适用吗?

字段存在,但交割规则与商品不同,阈值要单独配置。

3)主连 KQ.m@ 有 expire_rest_days 吗?

主连是连续序列,到期字段不用于下单;执行层看具体月份。

4)能否用 query_quotes 过滤临期?

query_quotes可筛expired=False的期货列表,与expire_rest_days互补维护标的池。


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

http://www.rkmt.cn/news/1501616.html

相关文章:

  • 数据的加密与解密(04:07)
  • 2026年 混合机厂家最新推荐榜:不锈钢混合机/高速混合机/三维混合机/粉体混合机/干粉混合机/液体混合机源头工厂优选指南 - 品牌发掘
  • Bottles终极指南:在Linux上轻松运行Windows软件的完整解决方案
  • 如何快速下载B站视频:BilibiliDown跨平台下载器完整教程
  • 2026年热门的家用电梯框架/拼装式电梯框架品牌厂家推荐 - 行业平台推荐
  • BilibiliDown终极指南:5步掌握B站视频下载神器,打造个人媒体库
  • Maccy剪贴板管理器的技术深度解析:从架构设计到高级配置
  • DLSS Swapper:3分钟让游戏帧率飙升的终极解决方案
  • Spring Security 配置类(SecurityConfig)
  • App Inventor 2趣味项目实战:做个会聊天、能走位的语音机器人(附完整源码和组件设置截图)
  • 2026年西南地区钢模板生产行业分析:靠谱供应商的选型与评估 - 优质品牌商家
  • ncmdumpGUI完整指南:3步轻松解密网易云音乐NCM格式文件
  • 3分钟学会OBS背景移除插件:无需绿幕的专业级虚拟背景方案
  • Python量化分析实战:如何高效使用Mootdx通达信数据接口
  • 200毫秒极速隐藏:Boss-Key如何成为你的办公室隐私守护神
  • 5分钟终极指南:用HoRNDIS实现Mac与Android USB网络共享
  • 合同管理不只是存合同:起草到归档的七步闭环怎么搭
  • 用YOLOv7和Python写个FPS游戏“辅助”?聊聊计算机视觉的实战应用与伦理边界
  • 用蜂鸣器给娃做个音乐盒:手把手教你用FPGA播放《粉刷匠》(附完整Verilog代码)
  • MATLAB实战:用TOPSIS法给20条河流水质排个名(附完整代码与数据)
  • Windows系统文件credui.dll文件丢失找不到问题解决
  • 更懂你的ChatGPT来了!通过做梦整理记忆,事实准确率83%
  • 2026年成都奢侈品寄卖市场格局与发展趋势分析——以新津区及主城区代表性机构为例 - 优质品牌商家
  • HBase性能优化与高可用配置
  • 2026年 深圳MES系统/软件/方案源头厂商排行榜:智能车间数字化转型的优选推荐 - 品牌发掘
  • pixi-live2d-display企业级解决方案:革命性的Web动态角色集成框架
  • PMSM全速域无传感器控制实战包:含EKF算法Simulink模型、推导教程与参数调试脚本
  • 船舶检测专用YOLOv5工程包:带预训练模型、VOC格式数据集与完整训练推理代码
  • 3个突破性方法:如何用ROS2 SDK彻底改造四足机器人?
  • 用Python+LLM复刻斯坦福AI小镇:手把手教你搭建自己的25个智能体沙盒