JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 386
  • Score
    100M100P100Q84469F
  • License ISC

Tencent qt.gtimg.cn stock quote SDK

Package Exports

  • stock-sdk
  • stock-sdk/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (stock-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Stock SDK

基于腾讯财经 qt.gtimg.cn 非官方接口封装的 TypeScript SDK,支持 A 股、港股、美股、公募基金实时行情查询。

安装

npm install stock-sdk
# 或
yarn add stock-sdk

快速开始

import StockSDK from 'stock-sdk';

const sdk = new StockSDK();

// A 股全量行情
const fullQuotes = await sdk.getFullQuotes(['sz000858', 'sh600000']);
console.log(fullQuotes);

// 简要行情
const simpleQuotes = await sdk.getSimpleQuotes(['s_sz000858', 's_sh000001']);
console.log(simpleQuotes);

API 文档

getFullQuotes(codes: string[]): Promise<FullQuote[]>

获取 A 股 / 指数全量行情数据。

参数

  • codes — 股票代码数组,格式 <market><code>,如 ['sz000858', 'sh600000']

返回

interface FullQuote {
  marketId: string;      // 市场标识
  name: string;          // 名称
  code: string;          // 股票代码
  price: number;         // 最新价
  prevClose: number;     // 昨收
  open: number;          // 今开
  volume: number;        // 成交量(手)
  outerVolume: number;   // 外盘
  innerVolume: number;   // 内盘
  bid: { price: number; volume: number }[];  // 买一~买五
  ask: { price: number; volume: number }[];  // 卖一~卖五
  time: string;          // 时间戳 yyyyMMddHHmmss
  change: number;        // 涨跌额
  changePercent: number; // 涨跌幅%
  high: number;          // 最高
  low: number;           // 最低
  volume2: number;       // 成交量(手)
  amount: number;        // 成交额(万)
  turnoverRate: number | null;  // 换手率%
  pe: number | null;            // 市盈率
  circulatingMarketCap: number | null;  // 流通市值(亿)
  totalMarketCap: number | null;        // 总市值(亿)
  pb: number | null;            // 市净率
  limitUp: number | null;       // 涨停价
  limitDown: number | null;     // 跌停价
  raw: string[];                // 原始字段数组
}

示例

const quotes = await sdk.getFullQuotes(['sz000858']);
console.log(quotes[0].name);  // 五 粮 液
console.log(quotes[0].price); // 111.70

getSimpleQuotes(codes: string[]): Promise<SimpleQuote[]>

获取简要行情(股票 / 指数)。

参数

  • codes — 代码数组,格式 s_<market><code>,如 ['s_sz000858', 's_sh000001']

返回

interface SimpleQuote {
  marketId: string;
  name: string;
  code: string;
  price: number;
  change: number;
  changePercent: number;
  volume: number;
  amount: number;
  marketCap: number | null;  // 总市值(亿)
  marketType: string;        // 如 GP-A / ZS
  raw: string[];
}

示例

const quotes = await sdk.getSimpleQuotes(['s_sh000001']);
console.log(quotes[0].name);  // 上证指数

getFundFlow(codes: string[]): Promise<FundFlow[]>

获取资金流向数据。

参数

  • codes — 代码数组,格式 ff_<market><code>,如 ['ff_sz000858']

返回

interface FundFlow {
  code: string;
  mainInflow: number;    // 主力流入
  mainOutflow: number;   // 主力流出
  mainNet: number;       // 主力净流入
  mainNetRatio: number;  // 主力净流入占比
  retailInflow: number;  // 散户流入
  retailOutflow: number; // 散户流出
  retailNet: number;     // 散户净流入
  retailNetRatio: number;// 散户净流入占比
  totalFlow: number;     // 总资金流
  name: string;
  date: string;
  raw: string[];
}

示例

const flows = await sdk.getFundFlow(['ff_sz000858']);
console.log(flows[0].mainNet);

getPanelLargeOrder(codes: string[]): Promise<PanelLargeOrder[]>

获取盘口大单占比。

参数

  • codes — 代码数组,格式 s_pk<market><code>,如 ['s_pksz000858']

返回

interface PanelLargeOrder {
  buyLargeRatio: number;   // 买盘大单占比
  buySmallRatio: number;   // 买盘小单占比
  sellLargeRatio: number;  // 卖盘大单占比
  sellSmallRatio: number;  // 卖盘小单占比
  raw: string[];
}

示例

const orders = await sdk.getPanelLargeOrder(['s_pksz000858']);
console.log(orders[0].buyLargeRatio);

getHKQuotes(codes: string[]): Promise<HKQuote[]>

获取港股扩展行情。

参数

  • codes — 代码数组,格式 r_hk<code>,如 ['r_hk09988']

返回

interface HKQuote {
  marketId: string;
  name: string;
  code: string;
  price: number;
  prevClose: number;
  open: number;
  volume: number;
  time: string;
  change: number;
  changePercent: number;
  high: number;
  low: number;
  amount: number;
  lotSize: number | null;
  circulatingMarketCap: number | null;
  totalMarketCap: number | null;
  currency: string;
  raw: string[];
}

示例

const quotes = await sdk.getHKQuotes(['r_hk09988']);
console.log(quotes[0].name);  // 阿里巴巴-W

getUSQuotes(codes: string[]): Promise<USQuote[]>

获取美股简要行情。

参数

  • codes — 代码数组,格式 s_us<code>,如 ['s_usBABA']

返回

interface USQuote {
  marketId: string;
  name: string;
  code: string;
  price: number;
  change: number;
  changePercent: number;
  volume: number;
  amount: number;
  marketCap: number | null;
  raw: string[];
}

示例

const quotes = await sdk.getUSQuotes(['s_usBABA']);
console.log(quotes[0].code);  // BABA.N

getFundQuotes(codes: string[]): Promise<FundQuote[]>

获取公募基金行情。

参数

  • codes — 代码数组,格式 jj<六位代码>,如 ['jj000001']

返回

interface FundQuote {
  code: string;
  name: string;
  nav: number;       // 最新单位净值
  accNav: number;    // 累计净值
  change: number;    // 当日涨跌额
  navDate: string;   // 净值日期
  raw: string[];
}

示例

const funds = await sdk.getFundQuotes(['jj000001']);
console.log(funds[0].name);  // 华夏成长混合

batchRaw(params: string): Promise<{ key: string; fields: string[] }[]>

批量混合查询,返回原始解析结果。

参数

  • params — 逗号分隔的多个查询参数,如 'sz000858,s_sh000001,jj000001'

返回

{ key: string; fields: string[] }[]

示例

const raw = await sdk.batchRaw('sz000858,s_sh000001');
console.log(raw[0].key);    // sz000858
console.log(raw[0].fields); // ['51', '五 粮 液', '000858', ...]

开发

# 安装依赖
npm install

# 运行测试
npm test

# 构建
npm run build

许可证

ISC