快速开始
本页用几段最小示例带你跑通 v2 的命名空间 API。开始前请先完成安装。
创建实例
StockSDK 是唯一入口,所有命名空间挂在实例上:
ts
import { StockSDK } from 'stock-sdk'
const sdk = new StockSDK()构造函数接受可选配置(自定义 fetch、外部 AbortSignal、请求 hooks、缓存等),不传则使用默认值。详见请求治理。
10 行 demo
获取一只 A 股的实时行情,并打印价格与涨跌幅:
ts
import { StockSDK } from 'stock-sdk'
const sdk = new StockSDK()
const quotes = await sdk.quotes.cn(['sh600519'])
const q = quotes[0]
console.log(q.name) // 名称
console.log(q.price) // 现价(单位以数据源当前口径为准)
console.log(q.changePercent) // 涨跌幅(百分数,如 5.2 表示 5.2%)符号
string是一等公民,'sh600519'/'600519'都能识别;需要消歧时可先用stock-sdk/symbols的normalizeSymbol。返回字段以最终实现为准。
常见用法
取多市场实时行情
ts
await sdk.quotes.cn(['sh600519', '000001']) // A 股
await sdk.quotes.hk(['00700']) // 港股
await sdk.quotes.us(['AAPL']) // 美股
await sdk.quotes.fund(['510300']) // 基金历史 K 线
ts
// A 股日 K 线
const kline = await sdk.kline.cn('600519', { period: 'daily' })
// 分钟 K 线 / 港股 / 美股
await sdk.kline.cnMinute('600519')
await sdk.kline.hk('00700', { period: 'daily' })
await sdk.kline.us('AAPL', { period: 'daily' })K 线方法的具体参数(周期、复权、数量、日期范围等)以实现为准。
K 线 + 技术指标
ts
// 直接返回带指标的 K 线
const withInd = await sdk.kline.withIndicators('600519', {
indicators: { ma: [5, 20], macd: true },
})也可以先拿原始 K 线,再用纯计算函数贴指标(不发网络请求):
ts
import { addIndicators } from 'stock-sdk/indicators'
const kline = await sdk.kline.cn('600519', { period: 'daily' })
const enriched = addIndicators(kline, { ma: [5, 20], macd: true, kdj: true })识别买卖信号
ts
import { addIndicators } from 'stock-sdk/indicators'
import { calcSignals } from 'stock-sdk/signals'
const kline = await sdk.kline.cn('600519', { period: 'daily' })
const enriched = addIndicators(kline, { ma: [5, 20], macd: true })
const signals = calcSignals(enriched, {
ma: { fast: 5, slow: 20 }, // 金叉 / 死叉
macd: true,
})
// [{ type: 'ma_golden_cross', at, index, detail }, ...]搜索标的
ts
const results = await sdk.search('贵州茅台')交易日历
ts
await sdk.calendar.isTradingDay('2026-06-08')
await sdk.calendar.nextTradingDay('2026-06-08')
await sdk.calendar.marketStatus('CN')板块与衍生品
ts
await sdk.board.industry.list() // 行业板块列表
await sdk.board.concept.constituents('半导体') // 概念板块成分股
await sdk.options.etf.dailyKline('10004336') // ETF 期权日 K
await sdk.futures.kline('rb2510') // 期货 K 线资金面
ts
await sdk.fundFlow.individual('600519') // 个股资金流向
await sdk.northbound.summary() // 北向资金概况
await sdk.dragonTiger.detail('2026-06-06') // 龙虎榜错误处理
v2 对外只抛 SdkError,带稳定的 code 字段,便于按类型分支处理:
ts
import { SdkError } from 'stock-sdk/errors'
try {
await sdk.quotes.cn(['sh600519'])
} catch (err) {
if (err instanceof SdkError) {
console.error(err.code, err.message) // 如 'TIMEOUT' / 'HTTP_ERROR'
}
}详见错误处理与重试。