Unsubscribe Market Stream取消市场行情流订阅
该接口文档说明官方实时流协议中关闭全市场行情聚合推送通道的退订指令格式与连接释放规范。在使用本站网关提供的无状态 HTTP REST 批量接口轮询时,可结合交易所开休市状态接口在闭市后自动挂起定时采集任务以节约配额。
wss://socket.financialmodelingprep.com(官方协议参考 · 本站网关主供 REST /stable/*)数据更新周期
该接口暂无固定更新周期(多为按需更新的参考或静态数据)。
接口说明
- 全市场聚合推送通道关闭:用于显式终止指定交易所或市场维度的全量实时流推送;退订粒度为整条市场流而非单只股票,发送退订帧后服务端将立即停止下发该市场的高吞吐行情包。
- 交易时段联动与休市资源回收:在跨市场实盘系统中,通常在交易所正式收盘后下发市场流退订指令并转入盘后归档流程,避免非交易时段长连接空转占用工作线程与内存缓冲。
- 结合交易所日历自动启停轮询:在本站网关(
quote-fmp.com)REST 轮询架构下,可配合/stable/all-exchange-market-hours的isMarketOpen布尔状态与法定半日市安排,在闭市后自动挂起定时采集任务以节约配额。 - 协议边界与 REST 替代:本站网关(
quote-fmp.com)当前主供/stable/*HTTP REST 接口,WebSocket 流暂未开放;实盘多股高频刷屏请直接调用 Stock Batch Quote(股票批量报价)或 Exchange Stock Quotes(交易所股票批量报价)。 - 配套投研接口:Socket.io WebSocket(Socket.IO 实时连接) · Stock Batch Quote Short(股票批量精简报价) · Exchange Stock Quotes(交易所全量报价) · Global Exchange Market Hours(全球交易所交易时段)
调用代码示例
Python 关键代码本站网关(quote-fmp.com)仅开放 /stable/* REST 接口(WebSocket 暂未开放);上方展示通过 /stable/exchange-market-hours 检查 isMarketOpen 状态以在收盘后自动暂停轮询任务的代码。
session = requests.Session()
# 本站网关(quote-fmp.com)当前对客主供全量 REST 接口(/stable/*),WebSocket 流暂未开放
resp = session.get(
"https://quote-fmp.com/stable/exchange-market-hours",
params={"exchange": "NASDAQ", "apikey": FMP_KEY},
timeout=15,
)
resp.raise_for_status()
df = pd.DataFrame(resp.json())
# 官方取消全市场行情流订阅 JSON 帧参考:
# unsub_market = {"event": "unsubscribe", "data": {"ticker": "*"}}参数使用和避坑
2 组参数组合 · 2 条避坑以下列出本接口在高频投研与回测场景下的常用 Query 参数组合写法:
| 投研场景 | Query 参数组合示例 | 返回数据特征与用途 |
|---|---|---|
| 网关智能调度方案:查询交易所实时开闭市状态控制轮询启停 | GET /stable/exchange-market-hours?exchange=NASDAQ | 检查返回的 isMarketOpen 布尔字段,当市场休市(false)时自动挂起全市场行情拉取任务,避免非交易时段空跑。 |
| 官方流协议参考:发送通配符退订帧停止全市场聚合流 | {"event": "unsubscribe", "data": {"ticker": "*"}} | 官方长连接协议中用于关闭全市场高吞吐推送而保留底层已鉴权的 TCP 连接。 |
实盘调度 /stable/batch-exchange-quote 等全市场接口时,应在任务入口处结合 /stable/exchange-market-hours(isMarketOpen)与 /stable/holidays-by-exchange(节假日及半日市提前收盘时间 adjCloseTime),收盘后立即停止高频轮询。
在长连接流式消费中,从客户端发出退订帧到服务端停止推流存在 1 个 RTT 延迟,期间网卡缓冲区仍会读出数百条在途行情帧,消费循环需根据本地开关标志直接丢弃。
返回数据
3 个字段本接口示例响应共包含 3 个字段(数值型 1 个,文本/日期/布尔型 2 个)。下表列出全部字段名、类型、首条记录真实样本值与中文释义,实际返回会因接口与数据状态有所不同。
| 字段 | 类型 | 示例值 | 说明 |
|---|---|---|---|
event | string | "unsubscribe" | 事件名称 |
status | number | 200 | 状态 |
message | string | "Unsubscribed from fmp-index-st…" | 接口消息 |
查看响应数据示例(原始 JSON)
{
"event": "unsubscribe",
"status": 200,
"message": "Unsubscribed from fmp-index-stream stream."
}常见问题解答(FAQ)
2 个问题美股冬令时与夏令时切换期间,如何准确判断收盘停止采集的时刻?
切勿在定时任务里写死北京时间 04:00 或 05:00。直接调用 Global Exchange Market Hours(全球交易所交易时段)读取 isMarketOpen 布尔值,即可自动兼容美东冬夏令时切换与感恩节半日市。
收盘后调用一次 /stable/batch-exchange-quote 可以用来做当日日终结算吗?
可以在收盘后拉取一次作为当日盘口快照归档;但若用于标准日线 OHLCV 与复权历史入库,推荐在美东收盘清算完成后调用 Bulk 类别下的 Eod Bulk(日线行情批量)。
同模块相关接口对比
Websocket本接口路径 unsubscribe-market-stream,无必填参数。 同一模块「Websocket」下共 6 个接口,下表列出其余 5 个, 按粒度与查询维度对比,避免选错接口。
| 接口 | 路径 | 核心差异与适用场景 |
|---|---|---|
| 标准 WebSocketStandard WebSocket | standard-websocket | 官方原生 WebSocket 实时行情通道的握手流程与登录认证帧格式规范 |
| 报价订阅Quote Subscription | quote-subscription | 官方实时流协议中发起单票或多票实时报价订阅的指令载荷与逐笔成交、盘口帧结构 |
| 市场行情流订阅Market Stream Subscription | market-stream-subscription | FMP 官方实时流协议中全市场聚合流订阅指令的帧格式与高吞吐消费注意事项 |
| 取消单只标的订阅Unsubscribe Ticker | unsubscribe-ticker | 官方实时流协议中取消指定标的报价订阅的退订指令结构与客户端订阅列表维护方式 |
| 心跳事件Heartbeat Event | heartbeat-event | 官方实时流协议中服务端周期性下发的 heartbeat 保活事件帧格式与半开死连接超时重连机制 |