涨跌停与流动性变差还要不要挂单:quote 涨跌停字段与熔断思路

前言

国内期货不少品种有涨跌停板制度:价格触及上限时卖盘稀少,触及下限时买盘稀少。程序化若仍按平时习惯用 TargetPosTask(..., price="ACTIVE") 对价吃单,可能成交在极端价、滑点巨大,或单子长期挂着不动。更麻烦的是在流动性枯竭时反复撤单报单,占满报单频率额度、拉高 CPU,夜盘小品种尤其明显。

天勤 quote = api.get_quote(symbol)wait_update 后更新,常见字段包括 upper_limit(涨停价)、lower_limit(跌停价)、last_price(最新价)、bid_price1/ask_price1(买一卖一价)、bid_volume1/ask_volume1(买一卖一量)、price_tick(最小变动价位)。下面说明如何用这些字段识别"临近涨跌停"和"盘口变薄",分级写熔断规则,以及和 set_target_volume 如何配合。交易所与期货公司风控优先级更高,程序规则是策略自保。

一、名词对照:quote 上常用字段

字段 含义 熔断里干什么
upper_limit 当日涨停价 判断是否封板或临近
lower_limit 当日跌停价 同上
last_price 最新成交价 与涨跌停价比较距离
price_tick 一跳的价格间隔 用"几个 tick"定义临近
bid/ask_price1 买一卖一价 算点差
bid/ask_volume1 买一卖一量 判断盘口厚度
circuit_break 团队自定的熔断函数名 返回是否禁止交易

这些字段由行情服务写入,非本机计算;没 wait_update 读到的是旧值。

二、场景识别:临近涨跌停 vs 盘口变薄

条件需按品种实测,螺纹钢与国债期货不能同一阈值:

python 复制代码
q = api.get_quote(symbol)
tick = q.price_tick
near_high = q.last_price >= q.upper_limit - 2 * tick
near_low = q.last_price <= q.lower_limit + 2 * tick
thin = (q.ask_volume1 + q.bid_volume1) < 10  # 示意,需调参
wide_spread = (q.ask_price1 - q.bid_price1) > 5 * tick

near_high/near_low 表示价格离涨跌停只剩少数几跳;thin 表示两侧挂单量合计很少;wide_spread 表示买卖价差异常大。三者可组合成 circuit_break(q) 返回 True/False 及原因字符串供日志使用。

指数类或极不活跃合约可能长期缺买卖盘,字段为 nan 时要单独分支,勿比较 nan。

三、分级动作(建议写进配置表)

级别 典型条件 程序动作
警告 临近涨跌停但未封板 禁止开新仓,允许平仓方向
严重 封板或极薄盘口 set_target_volume(0) 或只减不加
停机 连续拒单/ALIVE 久不成交 告警 + 暂停 auto,人工确认

不要在封板时仍 price="PASSIVE" 盲目排队:资金占着、仓位下不去,夜盘监控会看到 volume_left 长期不变。

python 复制代码
if circuit_break(q):
    task.set_target_volume(0)  # 或仅平到净仓为 0
    log("circuit_break", symbol, reason)
    continue  # 本帧不再走开仓信号

触发后仍要 wait_update 让 task 发单,同时记录 last_msg 若拒单。

四、与 TargetPosTask、ACTIVE/PASSIVE

熔断触发时通常要更快平仓,可临时用 price="ACTIVE" 的对价 task(团队规范允许时),但封板时 ACTIVE 也可能无对手盘。不要同时又手写 insert_order 同一合约。

开板后不要立刻解除熔断:可要求连续 M 个 tick 点差恢复正常再允许开仓,避免一开板追涨杀跌。

五、回测与模拟的局限

TqBacktest 未必复现涨跌停微观结构和 queue 位置,历史回测"总能成交"不能证明封板日能平。应用快期模拟或历史极端日回放,看程序是否停报、是否残留仓位。

六、与拒单、资金不足区分

涨跌停导致的不成交,last_msg 可能与"资金不足""非交易时段"不同。运维表应分栏处理,勿一律重报。组合风控里封板腿平不掉时,可能要先平其他腿(见组合风控专题)。

总结

真正的风险往往不是方向判断错,而是在极端流动性里依然按平常节奏机械下单。把 quote 的涨跌停与盘口深度识别成独立的熔断层:临近或封板时先禁止开新仓、限制加仓节奏,并确保策略把'能平的先平、不能平的先降风险'写清楚。这样做的意义在于:你不是用一次命中去赌市场,而是用规则把执行质量和风险边界先稳住,等盘口恢复再让策略重新进入正常逻辑。把这些条件分级并在日志里记录触发原因,夜盘的异常情况就能从"猜测"变成"可验证的流程结果"。

FAQ

1)指数合约无涨跌停?

按品种规则,可能无板但有流动性问题,用 thin/spread 判。

2)临近涨停还能平多吗?

通常应允许平仓方向,具体开平标志由团队与交易所规则定。

3)交易所临时熔断?

与程序熔断叠加,以交易所为准,程序侧停机观望。

4)PASSIVE 在涨跌停附近?

极易久不成交,熔断期建议勿新开 PASSIVE 单。

风险提示

以上内容用于程序风控参考,不构成投资建议。

相关推荐
非生而知之者1 小时前
基于灰狼算法优化的电量预测
python·算法·群体智能算法·电力预测
AI行业学习2 小时前
CC‑Switch v3.16.1 免费下载(Windows+macOS+Linux)、使用方法【2026.6.11】
linux·开发语言·windows·python·macos·前端框架·html
_Evan_Yao2 小时前
递归函数入门:以阶乘和斐波那契数列为例
python·学习·算法
DFT计算杂谈2 小时前
WannierTools输入文件wt.in一键批量生成脚本
java·前端·chrome·python·算法·conda
weixin_468466852 小时前
网络数据采集新手入门指南
python·网络爬虫·conda·编程
m沐沐2 小时前
【计算机视觉】OpenCV 模板匹配银行卡数字识别---上
人工智能·后端·python·opencv·计算机视觉·pycharm·numpy
deephub2 小时前
2026 年开源 Agent 工具包选型指南:延迟、审计、可移植性与语言栈
人工智能·python·大语言模型·多智能体
ellenwan20262 小时前
期货量化尾盘没清仓:天勤 trading_time 过滤与收盘前平仓
python·区块链