/** * 新浪财经数据源 —— 实时行情 / K线 / 列表 / 分时 * * 三个域名: * - hq.sinajs.cn 实时行情(批量,GBK) * - money.finance.sina.com.cn K线(分钟/日,JSON,UTF-8) * - vip.stock.finance.sina.com.cn 全市场列表 + 板块列表(JSON,UTF-8) * * 关键约束: * - 部分接口需要特定的来源标识(Referer),以符合数据源的访问约定 * - 行情接口 GBK 编码,K线/列表 UTF-8 * * 主要用于: * - 腾讯行情失败的实时报价 fallback * - 腾讯 K线失败时的备源(支持任意周期 scale 参数) * - 东财 push2 列表不可用时的全市场/板块列表主源 * * 数据格式(实时行情): * var hq_str_sh600519="贵州茅台,1308.660,1308.550,1309.220,1315.280,1301.000,1309.220,1309.230,2497581,3266919421.000,..."; * 字段:0=名称, 1=今开, 2=昨收, 3=当前价, 4=最高, 5=最低, * 6=买一价, 7=卖一价, 8=成交量(股), 9=成交额(元), * 30=日期, 31=时间 */ import type { SymbolParts } from "../utils/symbol.js"; export interface SinaRawQuote { name: string; code: string; open: number; prevClose: number; price: number; high: number; low: number; bid1: number; ask1: number; /** 成交量(股) */ volume: number; /** 成交额(元) */ amount: number; date: string; time: string; } export declare function fetchSinaQuotes(symbols: SymbolParts[]): Promise; /** * 新浪 K线 —— 支持任意周期(scale 参数) * scale 单位:分钟。日 K 用 240(一个交易日 4 小时),周 K 用 1200,月 K 用 7200。 * 实测返回 JSON 数组,字段:day/open/high/low/close/volume + 均线(ma_price5 等) * * 注:新浪 K线只支持不复权,复权需走腾讯。 */ export interface SinaKlineRow { date: string; open: number; high: number; low: number; close: number; volume: number; } export declare function fetchSinaKline(symbol: SymbolParts, opts: { period: string; limit?: number; }): Promise; /** * 新浪全市场股票列表 —— 替代东财 push2/clist(境外不通) * node 取值:hs_a=沪深A, sh_a=沪A, sz_a=深A, bj=北交所(详见 getHQNodes) * * 返回字段(symbol=sz301707, trade=现价, changepercent, volume=股, amount=元, * per=PE, pb=PB, mktcap=总市值(万元), nmc=流通市值(万元), turnoverratio=换手率) */ export interface SinaListItem { symbol: string; code: string; name: string; trade: number; open: number; high: number; low: number; settlement: number; pricechange: number; changepercent: number; volume: number; amount: number; per: number; pb: number; mktcap: number; nmc: number; turnoverratio: number; } export declare function fetchSinaStockList(opts: { market?: "all" | "sh" | "sz" | "bj"; page?: number; size?: number; sort?: string; desc?: boolean; }): Promise<{ total: number; items: SinaListItem[]; }>; /** * 新浪板块列表 —— 从节点树动态取板块清单(行业/概念/地域) * * 新浪的"板块列表"不是单一接口返回的排行表,而是节点树里的分类清单: * - 行业:new_blhy(玻璃)/ new_cmyl(传媒)... * - 概念:gn_hwqc / gn_BCdc ... * - 地域:diyu_650000 ... * 本函数返回板块名 + node code(作为板块标识),行情字段置空(需另查成分股聚合)。 * * 注:返回的 items 是简化结构(symbol/code/name 有值,行情字段 NaN)。 * node code 作为板块标识传给 sector stocks 查成分股。 */ export interface SinaSectorNode { /** 板块名称,如"玻璃行业" */ name: string; /** 新浪 node code,如 new_blhy(作为板块标识) */ node: string; } export declare function fetchSinaSectorList(opts: { kind?: "industry" | "concept" | "area"; }): Promise<{ total: number; items: SinaSectorNode[]; }>; /** * Sina 通用函数:把 TencentQuote-style 标准化字段从 Sina 数据补齐 * 用于当腾讯失败时的兜底 */ export declare function sinaToQuote(s: SinaRawQuote, sym: SymbolParts): { code: string; name: string; market: import("../utils/symbol.js").Market; price: number; prevClose: number; open: number; high: number; low: number; change: number; changePercent: number; volume: number; amount: number; turnoverRate: number; volumeRatio: number; amplitude: number; peRatio: null; pbRatio: null; circulateMarketCap: number; totalMarketCap: number; limitUp: number; limitDown: number; time: string; bids: never[]; asks: never[]; source: "sina"; }; //# sourceMappingURL=sina.d.ts.map