
你要是从本系列第一篇跟着写到现在手里应该攒了几个盘中监控脚本——自选股轮询、涨跌幅告警、涨停池、炸板预警、盘口分析。然后问题来了一天 500 次免费额度到底够不够假设 20 只自选盘中每 5 分钟刷一次4 小时 48 次逐只轮询20 × 48 960 次→ ❌ 超限下午就断流批量接口1 × 48 48 次→ ✅ 仅用 9.6%同一批数据、同一个结果额度消耗差了 20 倍。这篇就是告诉你这个批量接口怎么用以及它跟逐只调到底差在哪。本文你将得到什么一个对比脚本逐只轮询stock_ssjyvs 批量拉取stock_ssjy_more20 只真实自选股实时数据对比耗时、额度、字段差异免费版日额度模型从不够用到绰绰有余的具体算账批量接口使用注意事项上限 20 只/次、字段差异、返回格式两个接口同一份数据mairui SDK 提供了两个实时行情接口接口方法入参额度消耗单股实时stock_ssjy(code)单个股票代码1 次/只批量实时stock_ssjy_more(codes)逗号分隔 ≤20 只1 次不管几只核心规则批量接口不管你传 1 只还是 20 只都只算 1 次 API 调用。这个规则来自/hsrl/ssjy_more接口后台路由MerryApi_new/Router/hsrl.py免费版也能用。上篇提到的stock_real_all全市场快照虽然更省事一次拉 5000 只也只 1 次但那是付费版权益需要包年或白金证书免费版用不了。所以对于免费版用户来说stock_ssjy_more就是省额度的最佳选择。代码逐只轮询 vs 批量一次frommairuiimportClientimportosimporttime licos.environ[MAIRUI_LICENCE]mcClient(lic)# 20 只自选股WATCHLIST[000001,000002,000858,002594,300750,600519,601318,600036,000333,002415,600900,601012,000651,002142,600585,601398,000725,002230,600276,300059,]# ── 方案 A: 逐只调 ──print(【逐只轮询】)t0time.time()forcodeinWATCHLIST:rmc.stock_ssjy(code)ttime.time()-t0print(f耗时{t:.2f}s | 额度20 次)# ── 方案 B: 批量一次 ──print(\n【批量拉取】)t0time.time()resultsmc.stock_ssjy_more(,.join(WATCHLIST))ttime.time()-t0print(f耗时{t:.2f}s | 额度1 次 | 返回{len(results)}只)实测对比2026-08-04 09:59真实运行 批量实时接口 vs 单股轮询额度消耗对比 自选股: 20 只 【方案 A】单股轮询 (逐一调 stock_ssjy) 耗时: 0.53s | 成功20只 | 失败0只 API 调用次数: 20 次每只 1 次 免费版日额度消耗: 20/500 次 (4.0%) 【方案 B】批量接口 (stock_ssjy_more, 一次 ≤20 只) 耗时: 0.02s | 返回: 20只 API 调用次数: 1 次一次拉 20 只只计 1 次额度 免费版日额度消耗: 1/500 次 (0.2%) 额度节省: 20 次 → 1 次 省 19/20 95%两条关键数据额度从 20 次 → 1 次省 95%耗时从 0.53s → 0.02s快 26 倍批量接口只做一次网络往返日额度模型算账场景 1自选股盘中刷新条件20 只自选每 5 分钟刷新一次盘中 4 小时 48 次/天 逐只轮询20 × 48 960 次 → ❌ 超限500/日下午断流 批量接口 1 × 48 48 次 → ✅ 仅用 9.6%绰绰有余场景 2全市场快扫高频条件5000 只全市场每 30 秒扫一次 逐只轮询❌ 根本不可能5000 500 批量接口5000/20 250 批 × 1 次 250 次 → ✅ 够用场景 3盘中盯盘 涨停池 盘口分析合在一起批量刷新 20 只自选 1 × 48 48 次 涨停池limit_up_pool1 × 48 48 次 盘口五档5 只重点 5 × 48 240 次 ──────────────────────────────── 合计336 次/日 → ✅ 还剩 164 次不是不够用是之前没用对接口。⚠️ 重要批量接口与单股的字段差异两个接口返回的字段不完全相同实测对比如下类别字段单股(stock_ssjy)批量(stock_ssjy_more)核心p(现价)/zf(涨跌幅)/cje(成交额)/o/h/l/yc✅✅批量专有dm(代码)/tr(振幅)/pb_ratio(市净率)/tv(总手)❌✅单股专有sz(总市值)/lb(量比)/lt(流通市值)/hs(换手)✅❌单股专有zdf60(60日涨跌)/sjl(市盈率)/fm(评分)✅❌结论核心字段现价、涨跌幅、成交额、开高低两边都有盯盘够用。如果要总市值、换手率等扩展字段需要单独用stock_ssjy补。批量接口独有的dm字段很实用——返回结果是一个数组靠dm能直接定位到代码不用再维护下标映射。使用注意事项上限 20 只/次传 21 只及以上会报错 422请求参数无效。如果需要拉超过 20 只分批次调每 20 只一组for 循环调用参数格式逗号分隔字符串不是数组。正确000001,000002,600519错误[000001,000002]缺参数报 422忘了传 codes 参数或传了空字符串都会返回 422免费版可用这个接口没有 licence 等级限制免费版证书也能用字段取用先判存在如果你需要换手率hs批量接口没有这个字段需要单独调单股接口补充分批次拉取的完整例子deffetch_watchlist_batch(mc,watchlist,batch_size20):分批拉取自选股实时行情。返回 {code: data}。result{}foriinrange(0,len(watchlist),batch_size):batchwatchlist[i:ibatch_size]codes,.join(batch)itemsmc.stock_ssjy_more(codes)foriteminitems:result[item[dm]]itemreturnresult# 用法即使 50 只自选也只需要 3 次调用3 次额度all_datafetch_watchlist_batch(mc,WATCHLIST,batch_size20)常见坑别把批量接口省额度当成可以疯狂轮询——1 秒调 10 次会被限流建议至少间隔 3-5 秒交易日 09:30 之前调用会返回空数组盘中才有实时数据批量接口返回顺序 你传参的顺序不按代码排序小结批量接口stock_ssjy_more是盯盘场景省额度的核心武器。20 只自选、每 5 分钟刷新、一天 48 次——逐只轮询 960 次超限批量接口只用 48 次还快 26 倍。加上前几篇的涨停池、炸板预警、盘口分析整个盯盘体系在免费版 500 次/日内完全可以落地。下一篇我们做涨速排行榜——3 分钟内涨幅最猛的 30 只用实时数据算出来。这个结合批量接口威力更大先批量拉一轮价格隔一段时间再拉一轮算差就出涨速全在 10 次额度以内搞定。⚠️免责声明本文为技术分享所有计算仅展示 Python 编程方法与 API 使用技巧不构成任何投资建议。股市有风险投资需谨慎。 关注「Python实时盯盘与预警」合集共 16 篇从自选股报价到全市场监控、从免费版到企业证书方案——一站式盘中盯盘不求人。