Skip to content

sdk.batch · 批量行情

sdk.batch 命名空间用于全市场或大批量行情拉取:一次取回整个 A 股 / 港股 / 美股市场的行情快照,或按给定代码批量取数。相比逐个调用 quotes,batch 内部做了分片与并发编排,适合选股、扫描、看板等场景。

ts
import { StockSDK } from 'stock-sdk'

const sdk = new StockSDK()
const all = await sdk.batch.cn()

方法表

方法说明
batch.cn(opts?)全市场 A 股批量行情
batch.hk(opts?)全市场港股批量行情
batch.us(opts?)全市场美股批量行情
batch.byCodes(codes, opts?)按指定代码批量取行情(跨市场可由符号推断)
batch.raw(params)原始批量接口(直传底层参数,返回未归并的原始结构)

调用示例

全市场快照

ts
// 一次取回整个 A 股市场
const all = await sdk.batch.cn()
console.log(all.length) // 数千条

// 港股 / 美股全市场
const hk = await sdk.batch.hk()
const us = await sdk.batch.us()

按代码批量

ts
// 跨市场代码可混传,由 normalizeSymbol 推断各自市场
const quotes = await sdk.batch.byCodes(['600519', '00700', 'AAPL'])

进度回调

全市场批量内部分片并发,可通过 options 监听进度(具体参数以实现为准):

ts
const all = await sdk.batch.cn({
  onProgress: ({ loaded, total }) => {
    console.log(`${loaded}/${total}`)
  },
})

原始批量

batch.raw 直传底层参数、返回未归并的原始结构,作为高级逃生舱(绕过统一契约):

ts
const raw = await sdk.batch.raw({ /* 底层参数,以实现为准 */ })

返回说明

batch.cn / batch.hk / batch.us / batch.byCodes 返回 Quote 可辨识联合 数组,字段与 sdk.quotes.* 一致:基础字段 symbol / market / assetType / exchange / currency / timestamp / tz / source,行情字段 price / change / changePercent / volume / amount 等。

ts
const all = await sdk.batch.cn()

// 全市场本地筛选(也可配合 stock-sdk/screener)
const hot = all.filter(
  (q) => q.assetType === 'stock' && q.changePercent > 5,
)

口径与缓存

  • 返回值遵循 v2 统一契约:百分比为百分数、timestampnumber | null、无 raw 字段。金额 / 价格 / 成交量有统一目标口径,但当前 beta 的运行值仍以各 provider 原始口径为准。
  • 全市场快照适合配合缓存做短 TTL 复用,避免短时间内重复全量拉取。
  • batch.raw 返回原始结构,经统一契约归并,字段以底层接口为准。

batch 常作为 stock-sdk/screener 的输入数据源。具体并发参数、进度回调签名与原始结构以实现为准。