Unsubscribe Ticker取消单只标的订阅
该接口文档说明官方实时流协议中取消指定标的报价订阅的退订指令结构与客户端订阅列表维护方式。在使用本站网关提供的无状态 HTTP REST 批量报价接口时,仅需在请求参数中动态增减股票代码列表即可灵活调整监控范围。
WS 协议参考
wss://socket.financialmodelingprep.com(官方协议参考 · 本站网关主供 REST /stable/*)数据更新周期
该接口暂无固定更新周期(多为按需更新的参考或静态数据)。
接口说明
- 动态退订指令与带宽释放:当监控池移除特定标的时,向长连接通道发送
{"event":"unsubscribe","data":{"ticker":["nvda"]}}即可停止该代码的后续行情推送,释放客户端网络带宽与解析开销。 - 多窗口订阅的引用计数管理:若同一客户端进程内有多个策略模块或看盘窗口共用一条 WebSocket 连接,必须在本地维护每个
ticker的订阅引用计数,仅当引用归零时才向服务端发送退订帧。 - REST 轮询模式下的动态调池:使用本站网关(
quote-fmp.com)无状态 HTTP REST 批量报价接口时,无需发送显式退订指令,只需在下一次请求的symbols参数中增减代码列表即可即时调整监控范围。 - 网关支持说明:
quote-fmp.com生产环境仅开放/stable/*REST 端点(WebSocket 暂未开放);轮询实时价格与成交量请改用 Stock Batch Quote Short(股票批量简明报价)或 Stock Batch Quote(股票批量报价)。 - 关联数据线接口:Socket.io WebSocket(Socket.IO 实时连接) · Global Exchange Market Hours(全球交易所交易时段) · Stock Batch Quote(股票批量报价) · Stock Batch Quote Short(股票批量精简报价)
调用代码示例
Python 关键代码本站网关(quote-fmp.com)主供无状态 REST 接口(WebSocket 暂未开放),增减监控标的只需直接调整 GET 请求的 symbols 参数列表;注释部分提供官方 unsubscribe 退订帧参考。
Python(核心参数与字段清洗逻辑)
session = requests.Session()
# 本站网关(quote-fmp.com)当前对客主供全量 REST 接口(/stable/*),WebSocket 流暂未开放
resp = session.get(
"https://quote-fmp.com/stable/batch-quote",
params={"symbols": "AAPL,MSFT", "apikey": FMP_KEY},
timeout=15,
)
resp.raise_for_status()
df = pd.DataFrame(resp.json())
# 官方取消单只/多只标的订阅(unsubscribe)JSON 帧参考:
# unsub_payload = {"event": "unsubscribe", "data": {"ticker": ["nvda"]}}参数使用和避坑
2 组参数组合 · 2 条避坑以下列出本接口在高频投研与回测场景下的常用 Query 参数组合写法:
| 投研场景 | Query 参数组合示例 | 返回数据特征与用途 |
|---|---|---|
| 网关无状态调用:在 symbols 参数中直接收敛目标股票池 | GET /stable/batch-quote?symbols=AAPL,MSFT | 无状态 REST 调用每次仅返回当前 symbols 列表指定的股票(如移出 NVDA 后仅传 AAPL,MSFT),无需发送任何退订指令。 |
| 官方流协议参考:下发 event=unsubscribe 移除指定小写 ticker | {"event": "unsubscribe", "data": {"ticker": ["nvda"]}} | 在长连接会话中通知服务端停止推送 nvda 的后续行情帧,同时保持已订阅的其他标的正常推流。 |
无状态架构优势Unsubscribe Ticker:无状态 REST 轮询天然杜绝“退订失败导致幽灵推流”
长连接客户端在网络抖动或重连期间常出现退订帧丢失、服务端继续下发旧标的报文的问题;使用本站网关 /stable/batch-quote 按当期股票池列表请求,每次响应严格对应当次传入的 symbols。
订阅状态机管理Unsubscribe Ticker:多窗口共享连接时的 ticker 引用计数(Ref-Count)锁
在长连接架构中,若策略模块 A 与看板模块 B 均订阅了同一只股票,模块 A 关闭时不能直接下发 unsubscribe,必须先递减本地引用计数并在归零时才向服务端发送退订帧。
常见问题解答(FAQ)
2 个问题调用本站网关的 /stable/batch-quote 时,单次 symbols 参数最多建议拼多少只股票?
考虑到网关对单次 URL Query 长度存在安全上限(max_query_length),建议单次 batch-quote 请求拼接 50~100 只股票代码;若需一次拉取上千只股票,请改用按交易所拉取的 /stable/batch-exchange-quote。
官方协议中如果对一个尚未订阅的 ticker 发送 unsubscribe 会报错吗?
不会中断当前连接,服务端会忽略不在当前会话订阅集合中的代码,但客户端仍应维护已订阅集合(Set)以减少无效控制帧。
同模块相关接口对比
Websocket本接口路径 unsubscribe-ticker,无必填参数。 同一模块「Websocket」下共 6 个接口,下表列出其余 5 个, 按粒度与查询维度对比,避免选错接口。
| 接口 | 路径 | 核心差异与适用场景 |
|---|---|---|
| 标准 WebSocketStandard WebSocket | standard-websocket | 官方原生 WebSocket 实时行情通道的握手流程与登录认证帧格式规范 |
| 报价订阅Quote Subscription | quote-subscription | 官方实时流协议中发起单票或多票实时报价订阅的指令载荷与逐笔成交、盘口帧结构 |
| 市场行情流订阅Market Stream Subscription | market-stream-subscription | FMP 官方实时流协议中全市场聚合流订阅指令的帧格式与高吞吐消费注意事项 |
| 取消市场行情流订阅Unsubscribe Market Stream | unsubscribe-market-stream | 官方实时流协议中关闭全市场行情聚合推送通道的退订指令格式与连接释放规范 |
| 心跳事件Heartbeat Event | heartbeat-event | 官方实时流协议中服务端周期性下发的 heartbeat 保活事件帧格式与半开死连接超时重连机制 |
需要稳定访问 取消单只标的订阅 数据?注册即可获取专属 API Key,免费体验全部接口。
免费试用 1 个月