当前位置: 首页 > 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.jsqmd.com/news/989871/

相关文章:

  • 贪心算法实战:用C++搞定活动安排、最优装载和Dijkstra最短路径(附完整可运行代码)
  • ZYNQ-7010裸机环境下的触摸LCD驱动与绘图示例工程(含HDF+SDK源码)
  • 2026年知名的贵州发酵饲料/贵州富硒肉/贵州富硒饲料厂家推荐与选型指南 - 行业平台推荐
  • 数据的加密与解密(04:05)
  • STM32F103的RTC只有秒计数器?别慌,手把手教你用Unix时间戳实现完整日历(含CubeMX配置)
  • 数据的加密与解密(04:07)
  • 2026年靠谱的宿州税务规划/宿州财务外包/宿州资质办理正规公司推荐 - 品牌宣传支持者
  • 终极指南:3步打造你的专属Minecraft电影级光影世界
  • 2026年 混合机厂家最新推荐榜:不锈钢混合机/高速混合机/三维混合机/粉体混合机/干粉混合机/液体混合机源头工厂优选指南 - 品牌发掘
  • Vim 零基础核心基础篇
  • 豫北工科院校发展观察:河南机电高等专科学校及同类院校的多维比较分析 - 优质品牌商家
  • 误删照片怎么办?用PhotoRec数据恢复工具找回珍贵记忆
  • Bottles终极指南:在Linux上轻松运行Windows软件的完整解决方案
  • 从‘样品管理’到‘报告生成’:一个真实业务场景下的poi-tl附件插入实战
  • 萧山优秀的杭州喷涂设备:杭州及周边喷涂加工企业能力分析与行业指南 - 优质品牌商家
  • WebAuthn + Passkey:无密码认证新时代
  • GetQzonehistory:3步轻松备份你的QQ空间青春记忆
  • 玩转本地自动化 AI:OpenClaw 多系统部署与常见问题排查
  • 如何解决国内访问GitHub缓慢问题:Fast-GitHub完整使用指南
  • 2026年热门的拆除食品设备/二手食品设备/转让食品设备/出售食品设备长期合作厂家推荐 - 品牌宣传支持者
  • 四川排水管道非开挖修复公司电话与技术服务评测:哪家更可靠? - 优质品牌商家
  • 如何快速下载B站视频:BilibiliDown跨平台下载器完整教程
  • 华三三层交换机 企业标准完整配置
  • TMS320F28335实战工程集:SFO时钟配置+FPU浮点加速全示例
  • 2026年热门的家用电梯框架/拼装式电梯框架品牌厂家推荐 - 行业平台推荐
  • 2026泰州老地面翻新公司排行榜及选择参考 - 品牌排行榜
  • 2026年沈阳家具油漆品牌TOP榜单:环保净味、高硬度耐磨与水性漆厂家深度推荐 - 品牌发掘
  • BilibiliDown终极指南:5步掌握B站视频下载神器,打造个人媒体库
  • 学术论文写作哪个AI好?豆包、DeepSeek深度对比
  • 2026年银川工伤律师推荐指南:从工伤认定到赔偿全程维权 - 本地品牌推荐