/** * 请求速率限制器 - 基于令牌桶算法 * 支持浏览器和 Node.js 环境 */ /** * 限流器配置选项 */ interface RateLimiterOptions { /** 每秒最大请求数,默认 5 */ requestsPerSecond?: number; /** 令牌桶最大容量(允许的突发请求数),默认等于 requestsPerSecond */ maxBurst?: number; } /** * 已知的数据源名称 */ type ProviderName = 'tencent' | 'eastmoney' | 'sina' | 'linkdiary' | 'unknown'; /** * 重试配置选项 */ interface RetryOptions { /** 最大重试次数,默认 3 */ maxRetries?: number; /** 初始退避时间(毫秒),默认 1000 */ baseDelay?: number; /** 最大退避时间(毫秒),默认 30000 */ maxDelay?: number; /** 退避系数,默认 2 */ backoffMultiplier?: number; /** 可重试的 HTTP 状态码,默认 [408, 429, 500, 502, 503, 504] */ retryableStatusCodes?: number[]; /** 是否在网络错误时重试,默认 true */ retryOnNetworkError?: boolean; /** 是否在超时时重试,默认 true */ retryOnTimeout?: boolean; /** 重试回调(用于日志等) */ onRetry?: (attempt: number, error: Error, delay: number) => void; } /** * Provider 级请求策略 */ interface ProviderRequestPolicy { /** 请求超时时间(毫秒) */ timeout?: number; /** 重试配置 */ retry?: RetryOptions; /** 自定义请求头 */ headers?: Record; /** 自定义 User-Agent(浏览器环境可能会被忽略) */ userAgent?: string; /** 限流配置(防止请求过快被频控) */ rateLimit?: RateLimiterOptions; /** 是否启用 UA 轮换(仅 Node.js 有效) */ rotateUserAgent?: boolean; /** 熔断器配置(连续失败时暂停请求) */ circuitBreaker?: CircuitBreakerOptions; } /** * SDK 统一错误码 */ type SdkErrorCode = 'NETWORK_ERROR' | 'TIMEOUT' | 'HTTP_ERROR' | 'RATE_LIMITED' | 'CIRCUIT_OPEN' | 'UPSTREAM_EMPTY' | 'INVALID_SYMBOL' | 'INVALID_ARGUMENT' | 'NOT_FOUND'; /** * SDK 错误构造参数 */ interface SdkErrorOptions { code: SdkErrorCode; message: string; provider?: ProviderName; url?: string; status?: number; details?: Record; cause?: unknown; } /** * SDK 标准错误 */ declare class SdkError extends Error { readonly code: SdkErrorCode; readonly provider?: ProviderName; readonly url?: string; readonly status?: number; readonly details?: Record; constructor(options: SdkErrorOptions); } /** * HTTP 错误类 */ declare class HttpError extends SdkError { readonly status: number; readonly statusText: string; constructor(status: number, statusText: string, url?: string, provider?: ProviderName); } /** * 标准化后的请求错误元数据。 * 为保持兼容,网络类错误会尽量复用原始 Error 实例,并附加这些字段。 */ interface RequestErrorMetadata { sdkCode?: SdkErrorCode; provider?: ProviderName; url?: string; status?: number; details?: Record; } /** * 带标准化元数据的请求错误。 */ type RequestError = Error & RequestErrorMetadata; /** * 读取错误上的 SDK 标准错误码。 */ declare function getSdkErrorCode(error: unknown): SdkErrorCode | undefined; /** * 熔断器 - 防止雪崩效应 * * 状态机: * - CLOSED: 正常状态,允许所有请求 * - OPEN: 熔断状态,拒绝所有请求 * - HALF_OPEN: 半开状态,允许少量请求探测 */ /** * 熔断器状态 */ type CircuitState = 'CLOSED' | 'OPEN' | 'HALF_OPEN'; /** * 熔断器配置 */ interface CircuitBreakerOptions { /** 触发熔断的失败次数阈值,默认 5 */ failureThreshold?: number; /** 熔断持续时间(毫秒),默认 30000 (30秒) */ resetTimeout?: number; /** 半开状态允许的探测请求数,默认 1 */ halfOpenRequests?: number; /** 状态变化回调 */ onStateChange?: (from: CircuitState, to: CircuitState) => void; } /** * 请求客户端配置选项 */ interface RequestClientOptions { baseUrl?: string; timeout?: number; retry?: RetryOptions; /** 自定义请求头 */ headers?: Record; /** 自定义 User-Agent(浏览器环境可能会被忽略) */ userAgent?: string; /** 限流配置(防止请求过快被频控) */ rateLimit?: RateLimiterOptions; /** 是否启用 UA 轮换(仅 Node.js 有效),默认 false */ rotateUserAgent?: boolean; /** 熔断器配置(连续失败时暂停请求) */ circuitBreaker?: CircuitBreakerOptions; /** * Provider 级请求策略。 * 未配置的 provider 会回退到全局默认配置。 */ providerPolicies?: Partial>; } /** * 响应解析器 */ /** * 将 ArrayBuffer 解码为 GBK 字符串 * 使用原生 TextDecoder(浏览器和 Node.js 18+ 均支持 GBK) */ declare function decodeGBK(data: ArrayBuffer): string; /** * 解析腾讯财经响应文本 * 按 `;` 拆行,提取 `v_xxx="..."` 里的内容,返回 { key, fields }[] */ declare function parseResponse(text: string): { key: string; fields: string[]; }[]; /** * 安全转换为数字,空值返回 0 */ declare function safeNumber(val: string | undefined): number; /** * 安全转换为数字,空值返回 null */ declare function safeNumberOrNull(val: string | undefined): number | null; /** * 将数组分割成指定大小的块 */ declare function chunkArray(array: T[], chunkSize: number): T[][]; /** * 并发控制执行异步任务 * @param tasks 任务函数数组 * @param concurrency 最大并发数 */ declare function asyncPool(tasks: (() => Promise)[], concurrency: number, preserveOrder?: boolean): Promise; /** * JSONP 双端请求工具 * 浏览器端:动态创建 *\/\ncallback({...})` * - jsonp.php: `/**\/\ncallback([...])` * - jsonp_v2.php: 同 jsonp.php */ declare function extractJsonFromJsonp(text: string): unknown; interface JsonpOptions { /** 超时毫秒数,默认 15000 */ timeout?: number; /** 自定义回调参数名(用于 openapi.php 类接口),默认 'callback' */ callbackParam?: string; /** * 回调名嵌入方式: * - 'query' : 通过 URL query 参数传入(openapi.php 类) * - 'path' : 嵌入 URL 路径中的 {callback} 占位符(jsonp.php 类) * 默认 'query' */ callbackMode?: 'query' | 'path'; } /** * 发送 JSONP 请求(自动适配浏览器 / Node.js 环境) * @param url - 请求 URL * @param options - 配置选项 * @returns 解析后的 JSON 数据 */ declare function jsonpRequest(url: string, options?: JsonpOptions): Promise; /** * A 股 / 指数 全量行情 */ interface FullQuote { /** 市场标识 */ marketId: string; /** 名称 */ name: string; /** 股票代码 */ code: string; /** 最新价 */ price: number; /** 昨收 */ prevClose: number; /** 今开 */ open: number; /** 成交量(手) */ volume: number; /** 外盘 */ outerVolume: number; /** 内盘 */ innerVolume: number; /** 买一~买五 { price, volume }[] */ bid: { price: number; volume: number; }[]; /** 卖一~卖五 { price, volume }[] */ ask: { price: number; volume: number; }[]; /** 时间戳 yyyyMMddHHmmss */ time: string; /** 涨跌额 */ change: number; /** 涨跌幅% */ changePercent: number; /** 最高 */ high: number; /** 最低 */ low: number; /** 成交量(手) (字段36) */ volume2: number; /** 成交额(万) */ amount: number; /** 换手率% */ turnoverRate: number | null; /** 市盈率(TTM) */ pe: number | null; /** 振幅% */ amplitude: number | null; /** 流通市值(亿) */ circulatingMarketCap: number | null; /** 总市值(亿) */ totalMarketCap: number | null; /** 市净率 */ pb: number | null; /** 涨停价 */ limitUp: number | null; /** 跌停价 */ limitDown: number | null; /** 量比 */ volumeRatio: number | null; /** 均价 */ avgPrice: number | null; /** 市盈率(静) */ peStatic: number | null; /** 市盈率(动) */ peDynamic: number | null; /** 52周最高价 */ high52w: number | null; /** 52周最低价 */ low52w: number | null; /** 流通股本(股) */ circulatingShares: number | null; /** 总股本(股) */ totalShares: number | null; /** 原始字段数组(供扩展使用) */ raw: string[]; } /** * 简要行情(股票 / 指数) */ interface SimpleQuote { marketId: string; name: string; code: string; price: number; change: number; changePercent: number; volume: number; amount: number; /** 总市值(亿) */ marketCap: number | null; /** 市场类型标识 如 GP-A / ZS */ marketType: string; raw: string[]; } /** * 资金流向 */ 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[]; } /** * 盘口大单占比 */ interface PanelLargeOrder { /** 买盘大单占比 */ buyLargeRatio: number; /** 买盘小单占比 */ buySmallRatio: number; /** 卖盘大单占比 */ sellLargeRatio: number; /** 卖盘小单占比 */ sellSmallRatio: number; raw: string[]; } /** * 港股扩展行情 */ 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[]; } /** * 美股行情 */ interface USQuote { /** 市场标识 */ 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; /** 换手率% */ turnoverRate: number | null; /** 市盈率 */ pe: number | null; /** 振幅% */ amplitude: number | null; /** 总市值(亿) */ totalMarketCap: number | null; /** 市净率 */ pb: number | null; /** 52周最高价 */ high52w: number | null; /** 52周最低价 */ low52w: number | null; /** 原始字段数组 */ raw: string[]; } /** * 公募基金行情 */ interface FundQuote { code: string; name: string; /** 最新单位净值 */ nav: number; /** 累计净值 */ accNav: number; /** 当日涨跌额 */ change: number; /** 净值日期 */ navDate: string; raw: string[]; } /** * A 股历史 K 线(日/周/月) */ interface HistoryKline { /** 日期 YYYY-MM-DD */ date: string; /** 股票代码 */ code: string; /** 开盘价 */ open: number | null; /** 收盘价 */ close: number | null; /** 最高价 */ high: number | null; /** 最低价 */ low: number | null; /** 成交量 */ volume: number | null; /** 成交额 */ amount: number | null; /** 振幅% */ amplitude: number | null; /** 涨跌幅% */ changePercent: number | null; /** 涨跌额 */ change: number | null; /** 换手率% */ turnoverRate: number | null; } /** * A 股分时数据(1 分钟) */ interface MinuteTimeline { /** 时间 YYYY-MM-DD HH:mm */ time: string; /** 开盘价 */ open: number | null; /** 收盘价 */ close: number | null; /** 最高价 */ high: number | null; /** 最低价 */ low: number | null; /** 成交量 */ volume: number | null; /** 成交额 */ amount: number | null; /** 均价 */ avgPrice: number | null; } /** * A 股分钟 K 线(5/15/30/60) */ interface MinuteKline { /** 时间 YYYY-MM-DD HH:mm */ time: string; /** 开盘价 */ open: number | null; /** 收盘价 */ close: number | null; /** 最高价 */ high: number | null; /** 最低价 */ low: number | null; /** 成交量 */ volume: number | null; /** 成交额 */ amount: number | null; /** 振幅% */ amplitude: number | null; /** 涨跌幅% */ changePercent: number | null; /** 涨跌额 */ change: number | null; /** 换手率% */ turnoverRate: number | null; } /** * 当日分时项 */ interface TodayTimeline { /** 时间 HH:mm */ time: string; /** 当前价 */ price: number; /** 均价 */ avgPrice: number; /** 累计成交量(股) */ volume: number; /** 累计成交额(元) */ amount: number; } /** * 当日分时响应 */ interface TodayTimelineResponse { /** 股票代码 */ code: string; /** 交易日期 YYYY-MM-DD */ date: string; /** * 昨收价 * - 由 SDK 解析腾讯接口的 `quoteFields[4]` 得到 * - 上游异常或接口未返回时可能为 `0` 或 `undefined` */ preClose?: number; /** 当日分时序列 */ data: TodayTimeline[]; } /** * 港股 / 美股历史 K 线 */ interface HKUSHistoryKline { /** 日期 YYYY-MM-DD */ date: string; /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 开盘价 */ open: number | null; /** 收盘价 */ close: number | null; /** 最高价 */ high: number | null; /** 最低价 */ low: number | null; /** 成交量 */ volume: number | null; /** 成交额 */ amount: number | null; /** 振幅% */ amplitude: number | null; /** 涨跌幅% */ changePercent: number | null; /** 涨跌额 */ change: number | null; /** 换手率% */ turnoverRate: number | null; } /** * 行业板块列表项 */ interface IndustryBoard { /** 排名 */ rank: number; /** 板块名称 */ name: string; /** 板块代码,如 BK1027 */ code: string; /** 最新价 */ price: number | null; /** 涨跌额 */ change: number | null; /** 涨跌幅% */ changePercent: number | null; /** 总市值 */ totalMarketCap: number | null; /** 换手率% */ turnoverRate: number | null; /** 上涨家数 */ riseCount: number | null; /** 下跌家数 */ fallCount: number | null; /** 领涨股名称 */ leadingStock: string | null; /** 领涨股涨跌幅% */ leadingStockChangePercent: number | null; } /** * 行业板块实时行情指标 */ interface IndustryBoardSpot { item: string; value: number | null; } /** * 行业板块成分股 */ interface IndustryBoardConstituent { /** 排名 */ rank: number; /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 最新价 */ price: number | null; /** 涨跌幅% */ changePercent: number | null; /** 涨跌额 */ change: number | null; /** 成交量 */ volume: number | null; /** 成交额 */ amount: number | null; /** 振幅% */ amplitude: number | null; /** 最高价 */ high: number | null; /** 最低价 */ low: number | null; /** 开盘价 */ open: number | null; /** 昨收 */ prevClose: number | null; /** 换手率% */ turnoverRate: number | null; /** 市盈率 */ pe: number | null; /** 市净率 */ pb: number | null; } /** * 行业板块历史 K 线 */ interface IndustryBoardKline { date: string; open: number | null; close: number | null; high: number | null; low: number | null; volume: number | null; amount: number | null; amplitude: number | null; changePercent: number | null; change: number | null; turnoverRate: number | null; } /** * 行业板块 1 分钟分时 */ interface IndustryBoardMinuteTimeline { time: string; open: number | null; close: number | null; high: number | null; low: number | null; volume: number | null; amount: number | null; /** 最新价 */ price: number | null; /** * @deprecated 旧类型字段,请改用 `price` */ avgPrice: number | null; } /** * 行业板块分钟 K 线(5/15/30/60) */ interface IndustryBoardMinuteKline { time: string; open: number | null; close: number | null; high: number | null; low: number | null; volume: number | null; amount: number | null; amplitude: number | null; changePercent: number | null; change: number | null; turnoverRate: number | null; } /** * 概念板块类型复用行业板块结构 */ type ConceptBoard = IndustryBoard; type ConceptBoardSpot = IndustryBoardSpot; type ConceptBoardConstituent = IndustryBoardConstituent; type ConceptBoardKline = IndustryBoardKline; type ConceptBoardMinuteTimeline = IndustryBoardMinuteTimeline; type ConceptBoardMinuteKline = IndustryBoardMinuteKline; /** * 国内期货交易所 */ type FuturesExchange = 'SHFE' | 'DCE' | 'CZCE' | 'INE' | 'CFFEX' | 'GFEX'; /** * 期货 K 线 */ interface FuturesKline { date: string; code: string; name: string; open: number | null; close: number | null; high: number | null; low: number | null; volume: number | null; amount: number | null; amplitude: number | null; changePercent: number | null; change: number | null; turnoverRate: number | null; openInterest: number | null; } /** * 全球期货实时报价 */ interface GlobalFuturesQuote { code: string; name: string; price: number | null; change: number | null; changePercent: number | null; open: number | null; high: number | null; low: number | null; prevSettle: number | null; volume: number | null; buyVolume: number | null; sellVolume: number | null; openInterest: number | null; } /** * 期货库存品种 */ interface FuturesInventorySymbol { code: string; name: string; marketCode: string; } /** * 期货库存数据 */ interface FuturesInventory { code: string; date: string; inventory: number | null; change: number | null; } /** * COMEX 库存数据 */ interface ComexInventory { date: string; name: string; storageTon: number | null; storageOunce: number | null; /** * @deprecated 请改用 `storageTon` */ inventory: number | null; /** * @deprecated COMEX 接口当前未提供稳定的变动字段,始终返回 `null` */ change: number | null; /** * @deprecated 请改用 `name` */ market: 'gold' | 'silver'; } /** * 中金所股指期权产品 */ type IndexOptionProduct = 'ho' | 'io' | 'mo'; /** * 期权 T 型报价项 */ interface OptionTQuote { symbol: string; buyVolume: number | null; buyPrice: number | null; price: number | null; askPrice: number | null; askVolume: number | null; openInterest: number | null; change: number | null; strikePrice: number | null; } /** * 期权 T 型报价结果 */ interface OptionTQuoteResult { calls: OptionTQuote[]; puts: OptionTQuote[]; } /** * 期权日 K 线 */ interface OptionKline { date: string; open: number | null; high: number | null; low: number | null; close: number | null; volume: number | null; } /** * 期权分钟数据 */ interface OptionMinute { time: string; date: string; price: number | null; volume: number | null; openInterest: number | null; avgPrice: number | null; } /** * ETF 期权月份信息 */ interface ETFOptionMonth { months: string[]; stockId: string; cateId: string; cateList: string[]; } /** * ETF 期权到期信息 */ interface ETFOptionExpireDay { expireDay: string; remainderDays: number; stockId: string; name: string; } /** * ETF 期权品种 */ type ETFOptionCate = '50ETF' | '300ETF' | '500ETF' | '科创50' | '科创板50'; /** * 中金所期权实时行情 */ interface CFFEXOptionQuote { code: string; name: string; price: number | null; change: number | null; changePercent: number | null; volume: number | null; amount: number | null; openInterest: number | null; strikePrice: number | null; remainDays: number | null; dailyChange: number | null; prevSettle: number | null; open: number | null; } /** * 期权龙虎榜项 */ interface OptionLHBItem { tradeType: string; date: string; symbol: string; targetName: string; rank: number; memberName: string; sellVolume: number | null; sellVolumeChange: number | null; netSellVolume: number | null; sellVolumeRatio: number | null; buyVolume: number | null; buyVolumeChange: number | null; netBuyVolume: number | null; buyVolumeRatio: number | null; sellPosition: number | null; sellPositionChange: number | null; netSellPosition: number | null; sellPositionRatio: number | null; buyPosition: number | null; buyPositionChange: number | null; netBuyPosition: number | null; buyPositionRatio: number | null; /** * @deprecated 请改用 `date` */ tradeDate: string; /** * @deprecated 旧字段,使用当前数据时优先读取 `buyVolume` / `sellVolume` */ volume: number | null; /** * @deprecated 旧字段,使用当前数据时优先读取 `buyVolumeChange` / `sellVolumeChange` */ volumeChange: number | null; /** * @deprecated 旧字段,历史实现中无稳定金额语义,当前返回最接近的持仓值 */ amount: number | null; /** * @deprecated 旧字段,历史实现中无稳定金额变动语义,当前返回最接近的持仓变动值 */ amountChange: number | null; /** * @deprecated 请改用 `buyPosition` / `sellPosition` */ openInterest: number | null; /** * @deprecated 请改用 `buyPositionChange` / `sellPositionChange` */ openInterestChange: number | null; /** * @deprecated 请改用更细粒度的 `tradeType` */ side: 'buy' | 'sell' | 'net' | null; } /** * 标准化的搜索结果资产分类 * - 由 `SearchResult.type` 原始字符串归一化得到 * - 用于跨数据源做统一的资产类型判断 */ type SearchResultType = 'stock' | 'index' | 'fund' | 'bond' | 'futures' | 'option' | 'other'; /** * 搜索结果 * * @remarks * `type` 字段保留上游原始资产类型字符串(如 `'GP-A'`、`'ZS'`、`'KJ'` 等), * 以保持向后兼容;如需基于统一分类做判断,请使用 `category`。 */ interface SearchResult { /** 股票代码(完整,如 `sh600519`) */ code: string; /** 名称 */ name: string; /** 市场标识,如 `sh` / `sz` / `hk` / `us` */ market: string; /** 上游原始资产类型字符串,如 `'GP-A'` / `'ZS'` / `'KJ'` */ type: string; /** * 标准化后的资产分类(在原始 `type` 基础上做归一化) * - 不影响 `type` 原值,可放心用于 `switch` 等场景 */ category?: SearchResultType; } /** * 分红派送详情 */ interface DividendDetail { code: string; name: string; reportDate: string | null; planNoticeDate: string | null; disclosureDate: string | null; assignTransferRatio: number | null; bonusRatio: number | null; transferRatio: number | null; dividendPretax: number | null; dividendDesc: string | null; dividendYield: number | null; eps: number | null; bps: number | null; capitalReserve: number | null; unassignedProfit: number | null; netProfitYoy: number | null; totalShares: number | null; equityRecordDate: string | null; exDividendDate: string | null; payDate: string | null; assignProgress: string | null; noticeDate: string | null; } /** * 资金流向相关数据类型 */ /** * 个股资金流(日/周/月线) */ interface StockFundFlowDaily { /** 日期 YYYY-MM-DD */ date: string; /** 收盘价 */ close: number | null; /** 涨跌幅(%) */ changePercent: number | null; /** 主力净流入-净额(元) */ mainNetInflow: number | null; /** 主力净流入-净占比(%) */ mainNetInflowPercent: number | null; /** 超大单净流入-净额(元) */ superLargeNetInflow: number | null; /** 超大单净流入-净占比(%) */ superLargeNetInflowPercent: number | null; /** 大单净流入-净额(元) */ largeNetInflow: number | null; /** 大单净流入-净占比(%) */ largeNetInflowPercent: number | null; /** 中单净流入-净额(元) */ mediumNetInflow: number | null; /** 中单净流入-净占比(%) */ mediumNetInflowPercent: number | null; /** 小单净流入-净额(元) */ smallNetInflow: number | null; /** 小单净流入-净占比(%) */ smallNetInflowPercent: number | null; } /** * 个股资金流排名项(多维度统一结构,按排序周期返回相应周期数据) */ interface FundFlowRankItem { /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 最新价 */ price: number | null; /** 涨跌幅(%)(对应排序周期,例如 5 日则为 5 日涨跌幅) */ changePercent: number | null; /** 主力净流入-净额(元) */ mainNetInflow: number | null; /** 主力净流入-净占比(%) */ mainNetInflowPercent: number | null; /** 超大单净流入-净额(元) */ superLargeNetInflow: number | null; /** 超大单净流入-净占比(%) */ superLargeNetInflowPercent: number | null; /** 大单净流入-净额(元) */ largeNetInflow: number | null; /** 大单净流入-净占比(%) */ largeNetInflowPercent: number | null; /** 中单净流入-净额(元) */ mediumNetInflow: number | null; /** 中单净流入-净占比(%) */ mediumNetInflowPercent: number | null; /** 小单净流入-净额(元) */ smallNetInflow: number | null; /** 小单净流入-净占比(%) */ smallNetInflowPercent: number | null; } /** * 板块资金流排名项 */ interface SectorFundFlowItem { /** 板块代码(东方财富 BK 编号) */ code: string; /** 板块名称 */ name: string; /** 涨跌幅(%) */ changePercent: number | null; /** 主力净流入-净额(元) */ mainNetInflow: number | null; /** 主力净流入-净占比(%) */ mainNetInflowPercent: number | null; /** 超大单净流入-净额(元) */ superLargeNetInflow: number | null; /** 大单净流入-净额(元) */ largeNetInflow: number | null; /** 中单净流入-净额(元) */ mediumNetInflow: number | null; /** 小单净流入-净额(元) */ smallNetInflow: number | null; /** 主力净流入最大股名称 */ topStockName?: string; /** 主力净流入最大股代码 */ topStockCode?: string; } /** * 大盘资金流(按日) */ interface MarketFundFlow { /** 日期 YYYY-MM-DD */ date: string; /** 上证指数收盘价 */ shClose: number | null; /** 上证指数涨跌幅(%) */ shChangePercent: number | null; /** 深证指数收盘价 */ szClose: number | null; /** 深证指数涨跌幅(%) */ szChangePercent: number | null; /** 主力净流入-净额(元) */ mainNetInflow: number | null; /** 主力净流入-净占比(%) */ mainNetInflowPercent: number | null; /** 超大单净流入-净额(元) */ superLargeNetInflow: number | null; /** 超大单净流入-净占比(%) */ superLargeNetInflowPercent: number | null; /** 大单净流入-净额(元) */ largeNetInflow: number | null; /** 大单净流入-净占比(%) */ largeNetInflowPercent: number | null; /** 中单净流入-净额(元) */ mediumNetInflow: number | null; /** 中单净流入-净占比(%) */ mediumNetInflowPercent: number | null; /** 小单净流入-净额(元) */ smallNetInflow: number | null; /** 小单净流入-净占比(%) */ smallNetInflowPercent: number | null; } /** * 沪深港通 / 北向资金 数据类型 */ /** 资金方向 */ type NorthboundDirection = 'north' | 'south'; /** 北向持股市场 */ type NorthboundMarket = 'all' | 'shanghai' | 'shenzhen'; /** 北向持股排行查询周期 */ type NorthboundRankPeriod = 'today' | '3day' | '5day' | '10day' | 'month' | 'quarter' | 'year'; /** * 北向 / 南向资金分时数据 */ interface NorthboundMinuteItem { /** 日期 YYYY-MM-DD */ date: string; /** 时间 HH:MM */ time: string; /** 沪股通 / 港股通(沪) 净流入(万元) */ shanghaiNetInflow: number | null; /** 深股通 / 港股通(深) 净流入(万元) */ shenzhenNetInflow: number | null; /** 合计净流入(万元) */ totalNetInflow: number | null; } /** * 沪深港通市场资金流向汇总(datacenter RPT_MUTUAL_QUOTA) */ interface NorthboundFlowSummary { /** 交易日 YYYY-MM-DD */ date: string; /** 类型编号 */ type: string; /** 板块名称(如「沪股通」「港股通(沪)」) */ boardName: string; /** 资金方向(如「北向资金」「南向资金」) */ direction: string; /** 交易状态 */ status: string; /** 成交净买额(元,原始接口单位) */ netBuyAmount: number | null; /** 资金净流入(元) */ netInflow: number | null; /** 当日资金余额(元) */ remainAmount: number | null; /** 上涨数 */ upCount: number | null; /** 持平数 */ flatCount: number | null; /** 下跌数 */ downCount: number | null; /** 相关指数代码 */ indexCode: string; /** 相关指数名称 */ indexName: string; /** 指数涨跌幅(%) */ indexChangePercent: number | null; } /** * 北向 / 沪股通 / 深股通持股个股排行项 */ interface NorthboundHoldingRankItem { /** 日期 YYYY-MM-DD */ date: string; /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 今日收盘价 */ close: number | null; /** 今日涨跌幅(%) */ changePercent: number | null; /** 今日持股股数 */ holdShares: number | null; /** 今日持股市值(元) */ holdMarketValue: number | null; /** 持股占流通股比(%) */ holdRatioFloat: number | null; /** 持股占总股本比(%) */ holdRatioTotal: number | null; /** 区间增持估计股数 */ addShares: number | null; /** 区间增持估计市值(元) */ addMarketValue: number | null; /** 区间增持估计市值增幅(%) */ addMarketValuePercent: number | null; /** 所属板块 */ sector: string; } /** * 北向资金历史项(按日) */ interface NorthboundHistoryItem { /** 日期 YYYY-MM-DD */ date: string; /** 成交净买额(元) */ netBuyAmount: number | null; /** 买入成交额(元) */ buyAmount: number | null; /** 卖出成交额(元) */ sellAmount: number | null; /** 历史累计净买额(元) */ accNetBuyAmount: number | null; /** 当日资金流入(元) */ netInflow: number | null; /** 当日资金余额(元) */ remainAmount: number | null; /** 领涨股代码 */ topStockCode: string | null; /** 领涨股名称 */ topStockName: string | null; /** 领涨股涨跌幅(%) */ topStockChangePercent: number | null; } /** * 个股北向持仓历史项 */ interface NorthboundIndividualItem { /** 日期 YYYY-MM-DD */ date: string; /** 持股数量 */ holdShares: number | null; /** 持股市值(元) */ holdMarketValue: number | null; /** 持股占流通股比(%) */ holdRatioFloat: number | null; /** 持股占总股本比(%) */ holdRatioTotal: number | null; /** 收盘价 */ close: number | null; /** 涨跌幅(%) */ changePercent: number | null; } /** * 涨停板 / 盘口异动 数据类型 */ /** 涨停股池类型 */ type ZTPoolType = 'zt' | 'yesterday' | 'strong' | 'sub_new' | 'broken' | 'dt'; /** * 涨停股池项(统一字段,部分类型某些字段为空) */ interface ZTPoolItem { /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 最新价(元) */ price: number | null; /** 涨跌幅(%) */ changePercent: number | null; /** 涨停价(元) - 仅部分池子返回 */ limitPrice: number | null; /** 成交额(元) */ amount: number | null; /** 流通市值(元) */ floatMarketValue: number | null; /** 总市值(元) */ totalMarketValue: number | null; /** 换手率(%) */ turnoverRate: number | null; /** 连板数 - 仅涨停股池返回 */ continuousBoardCount: number | null; /** 首次封板时间 HHMMSS - 涨停/炸板池 */ firstBoardTime: string | null; /** 最后封板时间 HHMMSS - 涨停池 */ lastBoardTime: string | null; /** 封板资金(元) - 涨停池 */ boardAmount: number | null; /** 封单资金(元) - 跌停池 */ sealAmount: number | null; /** 炸板次数 */ failedCount: number | null; /** 所属行业 */ industry: string; /** 涨停统计(如 '3/5' 表示 5 天内涨停 3 次) */ ztStatistics: string; /** 振幅(%) - 部分池子返回 */ amplitude: number | null; /** 涨速 - 部分池子返回 */ speed: number | null; } /** 盘口异动类型 */ type StockChangeType = 'rocket_launch' | 'quick_rebound' | 'large_buy' | 'limit_up_seal' | 'limit_down_open' | 'big_buy_order' | 'auction_up' | 'high_open_5d' | 'gap_up' | 'high_60d' | 'surge_60d' | 'accelerate_down' | 'high_dive' | 'large_sell' | 'limit_down_seal' | 'limit_up_open' | 'big_sell_order' | 'auction_down' | 'low_open_5d' | 'gap_down' | 'low_60d' | 'drop_60d'; /** * 盘口异动项 */ interface StockChangeItem { /** 发生时间 HH:MM:SS */ time: string; /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 异动类型 */ changeType: StockChangeType; /** 异动类型对应的中文标签 */ changeTypeLabel: string; /** 相关信息(来自原始接口) */ info: string; } /** * 板块异动项 */ interface BoardChangeItem { /** 板块名称 */ name: string; /** 涨跌幅(%) */ changePercent: number | null; /** 主力净流入(元) */ mainNetInflow: number | null; /** 异动总次数 */ totalChangeCount: number | null; /** 异动最频繁个股代码 */ topStockCode: string; /** 异动最频繁个股名称 */ topStockName: string; /** 异动最频繁个股方向:'大笔买入' | '大笔卖出' */ topStockDirection: string; /** 异动类型分布(key 为类型代码,value 为出现次数) */ changeTypeDistribution: Record; } /** * 龙虎榜数据类型 */ /** 龙虎榜统计周期 */ type DragonTigerPeriod = '1month' | '3month' | '6month' | '1year'; /** * 龙虎榜详情项 */ interface DragonTigerDetailItem { /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 上榜日期 YYYY-MM-DD */ date: string; /** 收盘价 */ close: number | null; /** 涨跌幅(%) */ changePercent: number | null; /** 龙虎榜净买额(元) */ netBuyAmount: number | null; /** 龙虎榜买入额(元) */ buyAmount: number | null; /** 龙虎榜卖出额(元) */ sellAmount: number | null; /** 龙虎榜成交额(元) */ dealAmount: number | null; /** 市场总成交额(元) */ totalAmount: number | null; /** 净买额占总成交比(%) */ netBuyRatio: number | null; /** 成交额占总成交比(%) */ dealAmountRatio: number | null; /** 换手率(%) */ turnoverRate: number | null; /** 流通市值(元) */ floatMarketValue: number | null; /** 上榜原因 */ reason: string; /** 上榜后 1 日涨跌幅(%) */ afterChange1d: number | null; /** 上榜后 2 日涨跌幅(%) */ afterChange2d: number | null; /** 上榜后 5 日涨跌幅(%) */ afterChange5d: number | null; /** 上榜后 10 日涨跌幅(%) */ afterChange10d: number | null; } /** * 龙虎榜个股上榜统计项 */ interface DragonTigerStockStatItem { /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 最近上榜日 YYYY-MM-DD */ latestDate: string; /** 收盘价 */ close: number | null; /** 涨跌幅(%) */ changePercent: number | null; /** 上榜次数 */ count: number | null; /** 龙虎榜累计买入额(元) */ totalBuyAmount: number | null; /** 龙虎榜累计卖出额(元) */ totalSellAmount: number | null; /** 龙虎榜累计净额(元) */ totalNetAmount: number | null; /** 龙虎榜累计成交额(元) */ totalDealAmount: number | null; /** 累计买方机构次数 */ buyOrgCount: number | null; /** 累计卖方机构次数 */ sellOrgCount: number | null; } /** * 龙虎榜机构买卖项 */ interface DragonTigerInstitutionItem { /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 上榜日期 YYYY-MM-DD */ date: string; /** 收盘价 */ close: number | null; /** 涨跌幅(%) */ changePercent: number | null; /** 买方机构数 */ buyOrgCount: number | null; /** 卖方机构数 */ sellOrgCount: number | null; /** 机构买入额(元) */ orgBuyAmount: number | null; /** 机构卖出额(元) */ orgSellAmount: number | null; /** 机构净额(元) */ orgNetAmount: number | null; } /** * 龙虎榜营业部排行项 */ interface DragonTigerBranchItem { /** 营业部代码 */ code: string; /** 营业部名称 */ name: string; /** 买入总额(元) */ totalBuyAmount: number | null; /** 卖出总额(元) */ totalSellAmount: number | null; /** 买入次数 */ buyCount: number | null; /** 卖出次数 */ sellCount: number | null; /** 上榜次数 */ totalCount: number | null; } /** * 龙虎榜个股席位明细项 */ interface DragonTigerSeatItem { /** 排名 */ rank: number | null; /** 营业部名称 */ branchName: string; /** 买入额(元) */ buyAmount: number | null; /** 买入占总成交比(%) */ buyAmountRatio: number | null; /** 卖出额(元) */ sellAmount: number | null; /** 卖出占总成交比(%) */ sellAmountRatio: number | null; /** 净额(元) */ netAmount: number | null; /** 类型标识: 'buy' | 'sell' */ side: 'buy' | 'sell'; } /** * 龙虎榜日期范围参数 */ interface DragonTigerDateOptions { /** 开始日期 YYYYMMDD */ startDate: string; /** 结束日期 YYYYMMDD */ endDate: string; } /** * 大宗交易数据类型 */ /** * 大宗交易市场统计项(按日) */ interface BlockTradeMarketStatItem { /** 交易日期 YYYY-MM-DD */ date: string; /** 上证指数 */ shClose: number | null; /** 上证指数涨跌幅(%) */ shChangePercent: number | null; /** 大宗交易成交总额(元) */ totalAmount: number | null; /** 溢价成交总额(元) */ premiumAmount: number | null; /** 溢价成交占比(%) */ premiumRatio: number | null; /** 折价成交总额(元) */ discountAmount: number | null; /** 折价成交占比(%) */ discountRatio: number | null; } /** * 大宗交易明细项 */ interface BlockTradeDetailItem { /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 交易日期 YYYY-MM-DD */ date: string; /** 收盘价 */ close: number | null; /** 涨跌幅(%) */ changePercent: number | null; /** 成交价(元) */ dealPrice: number | null; /** 成交量(股) */ dealVolume: number | null; /** 成交额(元) */ dealAmount: number | null; /** 溢价率(%) */ premiumRate: number | null; /** 买方营业部 */ buyBranch: string; /** 卖方营业部 */ sellBranch: string; } /** * 大宗交易每日统计项(按股票汇总) */ interface BlockTradeDailyStatItem { /** 股票代码 */ code: string; /** 股票名称 */ name: string; /** 交易日期 YYYY-MM-DD */ date: string; /** 涨跌幅(%) */ changePercent: number | null; /** 收盘价 */ close: number | null; /** 成交笔数 */ dealCount: number | null; /** 成交总额(元) */ dealTotalAmount: number | null; /** 成交总量(股) */ dealTotalVolume: number | null; /** 溢价成交额(元) */ premiumAmount: number | null; /** 折价成交额(元) */ discountAmount: number | null; } /** * 大宗交易日期范围参数 */ interface BlockTradeDateOptions { /** 开始日期 YYYYMMDD 或 YYYY-MM-DD */ startDate?: string; /** 结束日期 YYYYMMDD 或 YYYY-MM-DD */ endDate?: string; } /** * 融资融券数据类型 */ /** * 融资融券账户统计项(按日) */ interface MarginAccountItem { /** 日期 YYYY-MM-DD */ date: string; /** 融资余额(元) */ finBalance: number | null; /** 融券余额(元) */ loanBalance: number | null; /** 融资买入额(元) */ finBuyAmount: number | null; /** 融券卖出额(元) */ loanSellAmount: number | null; /** 参与交易的投资者数量 */ investorCount: number | null; /** 有融资融券负债的投资者数量 */ liabilityInvestorCount: number | null; /** 担保物总价值(元) */ totalGuarantee: number | null; /** 平均维持担保比例(%) */ avgGuaranteeRatio: number | null; } /** * 融资融券标的证券项 */ interface MarginTargetItem { /** 证券代码 */ code: string; /** 证券名称 */ name: string; /** 日期 YYYY-MM-DD */ date: string; /** 融资余额(元) */ finBalance: number | null; /** 融资买入额(元) */ finBuyAmount: number | null; /** 融资偿还额(元) */ finRepayAmount: number | null; /** 融券余量(股) */ loanBalance: number | null; /** 融券卖出量(股) */ loanSellVolume: number | null; /** 融券偿还量(股) */ loanRepayVolume: number | null; } /** * 腾讯财经 - 批量操作 */ /** * A 股市场/板块类型 * - sh: 上交所(6 开头) * - sz: 深交所(0 和 3 开头,包含创业板) * - bj: 北交所(92 开头) * - kc: 科创板(688 开头) * - cy: 创业板(30 开头) */ type AShareMarket = 'sh' | 'sz' | 'bj' | 'kc' | 'cy'; /** * 获取全部 A 股行情的配置选项 */ interface GetAllAShareQuotesOptions { /** 单次请求的股票数量,默认 500 */ batchSize?: number; /** 最大并发请求数,默认 7 */ concurrency?: number; /** 进度回调函数 */ onProgress?: (completed: number, total: number) => void; /** * 筛选特定的交易所或板块 * - 不传或 undefined: 返回全部 A 股 * - 'sh': 上交所(6 开头,包含科创板) * - 'sz': 深交所(0 和 3 开头,包含创业板) * - 'bj': 北交所(92 开头) * - 'kc': 科创板(688 开头) * - 'cy': 创业板(30 开头) */ market?: AShareMarket; } /** * 获取全部美股行情的配置选项 */ interface GetAllUSQuotesOptions { /** 单次请求的股票数量,默认 500 */ batchSize?: number; /** 最大并发请求数,默认 7 */ concurrency?: number; /** 进度回调函数 */ onProgress?: (completed: number, total: number) => void; /** * 筛选特定市场 * - 'NASDAQ': 纳斯达克 (105) * - 'NYSE': 纽交所 (106) * - 'AMEX': 美交所 (107) */ market?: USMarket; } /** * 获取 A 股代码列表的配置选项 */ interface GetAShareCodeListOptions { /** * 是否返回简化的代码(不含交易所前缀) * - false(默认): 返回带前缀的完整代码,如 'sh600000', 'sz000001' * - true: 返回纯数字代码,如 '600000', '000001' */ simple?: boolean; /** * 筛选特定的交易所或板块 * - 不传或 undefined: 返回全部 A 股 * - 'sh': 上交所(6 开头,包含科创板) * - 'sz': 深交所(0 和 3 开头,包含创业板) * - 'bj': 北交所(92 开头) * - 'kc': 科创板(688 开头) * - 'cy': 创业板(30 开头) */ market?: AShareMarket; } type USMarket = 'NASDAQ' | 'NYSE' | 'AMEX'; interface GetUSCodeListOptions { /** 是否移除市场前缀,默认 false */ simple?: boolean; /** 筛选特定市场 */ market?: USMarket; } /** * 东方财富 - A 股 K 线 */ interface HistoryKlineOptions { /** K 线周期 */ period?: 'daily' | 'weekly' | 'monthly'; /** 复权类型 */ adjust?: '' | 'qfq' | 'hfq'; /** 开始日期 YYYYMMDD */ startDate?: string; /** 结束日期 YYYYMMDD */ endDate?: string; } interface MinuteKlineOptions { /** K 线周期 */ period?: '1' | '5' | '15' | '30' | '60'; /** 复权类型(仅 5/15/30/60 分钟有效) */ adjust?: '' | 'qfq' | 'hfq'; /** 开始时间 */ startDate?: string; /** 结束时间 */ endDate?: string; } /** * 东方财富历史 K 线 provider 工厂 */ /** * 通用历史 K 线请求选项 */ interface HistoryKlineRequestOptions { /** K 线周期 */ period?: 'daily' | 'weekly' | 'monthly'; /** 复权类型 */ adjust?: '' | 'qfq' | 'hfq'; /** 开始日期 YYYYMMDD */ startDate?: string; /** 结束日期 YYYYMMDD */ endDate?: string; } /** * 东方财富 - 港股 K 线 */ interface HKKlineOptions extends HistoryKlineRequestOptions { } /** * 东方财富 - 美股 K 线 */ interface USKlineOptions extends HistoryKlineRequestOptions { } /** * 东方财富 - 板块通用逻辑 * 提取行业板块和概念板块的共享代码 */ /** * K 线选项 */ interface BoardKlineOptions { /** K 线周期 */ period?: 'daily' | 'weekly' | 'monthly'; /** 复权类型 */ adjust?: '' | 'qfq' | 'hfq'; /** 开始日期 YYYYMMDD */ startDate?: string; /** 结束日期 YYYYMMDD */ endDate?: string; } /** * 分钟 K 线选项 */ interface BoardMinuteKlineOptions { /** K 线周期:1/5/15/30/60 分钟 */ period?: '1' | '5' | '15' | '30' | '60'; } /** * 东方财富 - 行业板块 */ type IndustryBoardKlineOptions = BoardKlineOptions; type IndustryBoardMinuteKlineOptions = BoardMinuteKlineOptions; /** * 东方财富 - 概念板块 */ type ConceptBoardKlineOptions = BoardKlineOptions; type ConceptBoardMinuteKlineOptions = BoardMinuteKlineOptions; /** * 东方财富 - 国内期货 K 线 */ interface FuturesKlineOptions { /** K 线周期 */ period?: 'daily' | 'weekly' | 'monthly'; /** 开始日期 YYYYMMDD */ startDate?: string; /** 结束日期 YYYYMMDD */ endDate?: string; } /** * 东方财富 - 全球期货行情 + K 线 */ interface GlobalFuturesSpotOptions { /** 每页条数,默认 20 */ pageSize?: number; } interface GlobalFuturesKlineOptions { /** K 线周期 */ period?: 'daily' | 'weekly' | 'monthly'; /** 开始日期 YYYYMMDD */ startDate?: string; /** 结束日期 YYYYMMDD */ endDate?: string; /** 东方财富市场代码(用于未内置的品种,可从 GLOBAL_FUTURES_MARKET 查表) */ marketCode?: number; } /** * 东方财富 - 中金所期权实时行情列表 * 数据来源:https://futsseapi.eastmoney.com/list/option/221 */ interface CFFEXOptionQuotesOptions { /** 每页条数,默认 20000 */ pageSize?: number; } /** * 东方财富 - 期货库存数据 * 数据来源:https://data.eastmoney.com/ifdata/kcsj.html * https://data.eastmoney.com/pmetal/comex/by.html */ interface FuturesInventoryOptions { /** 开始日期 YYYY-MM-DD(默认 2020-10-28) */ startDate?: string; /** 每页条数,默认 500 */ pageSize?: number; } interface ComexInventoryOptions { /** 每页条数,默认 500 */ pageSize?: number; } /** * 东方财富 datacenter-web 通用请求器 * 统一封装分页拉取、参数构建、响应解析。 * * 覆盖场景:北向资金、龙虎榜、融资融券、大宗交易、股东分析等所有 * 走 `https://datacenter-web.eastmoney.com/api/data/v1/get` 的接口。 */ /** * datacenter 查询参数 */ interface DatacenterQuery { /** 报表名称(如 RPT_MUTUAL_STOCK_NORTHSTA) */ reportName: string; /** 返回字段,默认 'ALL' */ columns?: string; /** 过滤表达式,如 (TRADE_DATE='2024-01-15') */ filter?: string; /** 排序字段(多个用逗号分隔) */ sortColumns?: string; /** 排序方向:'-1' 降序, '1' 升序(多个用逗号分隔) */ sortTypes?: string; /** 每页大小,默认 500 */ pageSize?: number; /** 起始页码,默认 1 */ startPage?: number; /** 是否自动拉取全部分页,默认 true */ fetchAllPages?: boolean; /** * 最大拉取页数(仅作为死循环安全阀,默认 1000)。 * * 取较大默认值是为了恢复原 dividend / futuresInventory 等接口"拉完所有页"的语义; * 大多数 datacenter 接口分页远低于此上限。如果确实希望限制拉取页数, * 调用方应显式传入较小的 `maxPages` 值。 * * 命中此上限时会在 console 输出 warning 提示,避免数据被静默截断。 */ maxPages?: number; /** 额外的 quoteColumns 参数(用于行情字段聚合) */ quoteColumns?: string; /** 额外的 quoteType 参数 */ quoteType?: string; /** 额外补充的查询参数(覆盖默认值,用于个别接口的特殊字段) */ extraParams?: Record; } /** * datacenter 分页响应 */ interface DatacenterResult { /** 解析后的数据列表 */ data: T[]; /** 总记录数(来自首页) */ total: number; /** 总页数(来自首页) */ pages: number; } /** * 东方财富 - 资金流向 * 数据来源: * - 个股/板块资金流历史: https://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get * - 资金流排名: https://push2.eastmoney.com/api/qt/clist/get */ /** 资金流周期 */ interface FundFlowOptions { /** 周期: 'daily' | 'weekly' | 'monthly',默认 'daily' */ period?: 'daily' | 'weekly' | 'monthly'; } /** 资金流排名维度 */ interface FundFlowRankOptions { /** 排名周期: 'today' | '3day' | '5day' | '10day',默认 'today' */ indicator?: 'today' | '3day' | '5day' | '10day'; /** 板块类型(仅 getSectorFundFlowRank 使用): 'industry' | 'concept' | 'region' */ sectorType?: 'industry' | 'concept' | 'region'; } /** * 东方财富 - 沪深港通 / 北向资金 * 数据来源: * - 分时数据: https://push2.eastmoney.com/api/qt/kamtbs.rtmin/get * - 资金流向汇总/排行/历史: datacenter-web RPT_MUTUAL_* */ /** 北向持股排行选项 */ interface NorthboundHoldingRankOptions { /** 市场: 'all' | 'shanghai' | 'shenzhen',默认 'all' */ market?: NorthboundMarket; /** 排名周期,默认 '5day' */ period?: NorthboundRankPeriod; /** * 指定交易日 YYYY-MM-DD(默认服务端最新交易日)。 * 注意:必须是有数据的交易日,否则返回空数组。 */ date?: string; } /** 北向资金历史/个股持仓选项 */ interface NorthboundHistoryOptions { /** 起始日期 YYYY-MM-DD */ startDate?: string; /** 结束日期 YYYY-MM-DD */ endDate?: string; } interface OHLCV { open: number | null; high: number | null; low: number | null; close: number | null; volume?: number | null; } interface MAOptions { /** 均线周期数组,默认 [5, 10, 20, 30, 60, 120, 250] */ periods?: number[]; /** 均线类型:'sma'(简单) | 'ema'(指数) | 'wma'(加权),默认 'sma' */ type?: 'sma' | 'ema' | 'wma'; } interface MACDOptions { /** 短期 EMA 周期,默认 12 */ short?: number; /** 长期 EMA 周期,默认 26 */ long?: number; /** 信号线 EMA 周期,默认 9 */ signal?: number; } interface BOLLOptions { /** 均线周期,默认 20 */ period?: number; /** 标准差倍数,默认 2 */ stdDev?: number; } interface KDJOptions { /** RSV 周期,默认 9 */ period?: number; /** K 值平滑周期,默认 3 */ kPeriod?: number; /** D 值平滑周期,默认 3 */ dPeriod?: number; } interface RSIOptions { /** RSI 周期数组,默认 [6, 12, 24] */ periods?: number[]; } interface WROptions { /** WR 周期数组,默认 [6, 10] */ periods?: number[]; } interface BIASOptions { /** BIAS 周期数组,默认 [6, 12, 24] */ periods?: number[]; } interface CCIOptions { /** CCI 周期,默认 14 */ period?: number; } interface ATROptions { /** ATR 周期,默认 14 */ period?: number; } interface IndicatorOptions { ma?: MAOptions | boolean; macd?: MACDOptions | boolean; boll?: BOLLOptions | boolean; kdj?: KDJOptions | boolean; rsi?: RSIOptions | boolean; wr?: WROptions | boolean; bias?: BIASOptions | boolean; cci?: CCIOptions | boolean; atr?: ATROptions | boolean; obv?: OBVOptions$1 | boolean; roc?: ROCOptions$1 | boolean; dmi?: DMIOptions$1 | boolean; sar?: SAROptions$1 | boolean; kc?: KCOptions$1 | boolean; } interface MAResult { [key: string]: number | null; } interface MACDResult { dif: number | null; dea: number | null; macd: number | null; } interface BOLLResult { mid: number | null; upper: number | null; lower: number | null; bandwidth: number | null; } interface KDJResult { k: number | null; d: number | null; j: number | null; } interface RSIResult { [key: string]: number | null; } interface WRResult { [key: string]: number | null; } interface BIASResult { [key: string]: number | null; } interface CCIResult { cci: number | null; } interface ATRResult { /** 真实波幅 */ tr: number | null; /** 平均真实波幅 */ atr: number | null; } interface OBVOptions$1 { /** OBV 均线周期 */ maPeriod?: number; } interface OBVResult$1 { /** OBV 值 */ obv: number | null; /** OBV 均线 */ obvMa: number | null; } interface ROCOptions$1 { /** ROC 周期,默认 12 */ period?: number; /** 信号线周期 */ signalPeriod?: number; } interface ROCResult$1 { /** ROC 值(百分比) */ roc: number | null; /** 信号线 */ signal: number | null; } interface DMIOptions$1 { /** 周期,默认 14 */ period?: number; /** ADX 平滑周期 */ adxPeriod?: number; } interface DMIResult$1 { /** +DI 值 */ pdi: number | null; /** -DI 值 */ mdi: number | null; /** ADX 值 */ adx: number | null; /** ADXR 值 */ adxr: number | null; } interface SAROptions$1 { /** 加速因子初始值,默认 0.02 */ afStart?: number; /** 加速因子增量,默认 0.02 */ afIncrement?: number; /** 加速因子最大值,默认 0.2 */ afMax?: number; } interface SARResult$1 { /** SAR 值 */ sar: number | null; /** 趋势方向:1 上升,-1 下降 */ trend: 1 | -1 | null; /** 极值点 */ ep: number | null; /** 加速因子 */ af: number | null; } interface KCOptions$1 { /** EMA 周期,默认 20 */ emaPeriod?: number; /** ATR 周期,默认 10 */ atrPeriod?: number; /** ATR 倍数,默认 2 */ multiplier?: number; } interface KCResult$1 { /** 中轨(EMA) */ mid: number | null; /** 上轨 */ upper: number | null; /** 下轨 */ lower: number | null; /** 通道宽度 */ width: number | null; } /** * 计算简单移动平均线 SMA */ declare function calcSMA(data: (number | null)[], period: number): (number | null)[]; /** * 计算指数移动平均线 EMA * 使用前 N 天的 SMA 作为 EMA 初始值,避免首日偏差 */ declare function calcEMA(data: (number | null)[], period: number): (number | null)[]; /** * 计算加权移动平均线 WMA */ declare function calcWMA(data: (number | null)[], period: number): (number | null)[]; /** * 批量计算均线 */ declare function calcMA(closes: (number | null)[], options?: MAOptions): MAResult[]; /** * 计算 MACD 指标 */ declare function calcMACD(closes: (number | null)[], options?: MACDOptions): MACDResult[]; /** * 计算布林带 */ declare function calcBOLL(closes: (number | null)[], options?: BOLLOptions): BOLLResult[]; /** * 计算 KDJ 指标 */ declare function calcKDJ(data: OHLCV[], options?: KDJOptions): KDJResult[]; /** * 计算 RSI 指标 */ declare function calcRSI(closes: (number | null)[], options?: RSIOptions): RSIResult[]; /** * 计算威廉指标 WR */ declare function calcWR(data: OHLCV[], options?: WROptions): WRResult[]; /** * 计算乖离率 BIAS * * 公式:BIAS = (收盘价 - MA) / MA × 100 * * 乖离率表示股价与移动平均线之间的偏离程度 * - 正乖离:股价在均线上方,可能超买 * - 负乖离:股价在均线下方,可能超卖 */ declare function calcBIAS(closes: (number | null)[], options?: BIASOptions): BIASResult[]; /** * 计算商品通道指数 CCI * * 公式: * TP(典型价格)= (最高价 + 最低价 + 收盘价) / 3 * MA = TP 的 N 日简单移动平均 * MD = TP 与 MA 的平均绝对偏差 * CCI = (TP - MA) / (0.015 × MD) * * CCI 用于判断超买超卖: * - CCI > 100:超买区域 * - CCI < -100:超卖区域 * - CCI 在 -100 ~ 100 之间:正常区域 */ declare function calcCCI(data: OHLCV[], options?: CCIOptions): CCIResult[]; /** * 计算平均真实波幅 ATR (Average True Range) * * 公式: * TR(真实波幅)= max( * 最高价 - 最低价, * |最高价 - 昨收|, * |最低价 - 昨收| * ) * ATR = TR 的 N 日移动平均 * * ATR 用于衡量市场波动性: * - ATR 越大,市场波动越大 * - ATR 越小,市场波动越小 * - 常用于止损位设置(如 2 倍 ATR) */ declare function calcATR(data: OHLCV[], options?: ATROptions): ATRResult[]; /** * OBV - On Balance Volume(能量潮) * 通过成交量的累积来判断股价走势 */ /** * OBV 配置选项 */ interface OBVOptions { /** OBV 均线周期,默认不计算 */ maPeriod?: number; } /** * OBV 计算结果 */ interface OBVResult { /** OBV 值 */ obv: number | null; /** OBV 均线(如果配置了 maPeriod) */ obvMa: number | null; } /** * 计算 OBV(能量潮) * * @description * OBV 是一个累积指标,通过比较当日收盘价与前一日收盘价来确定成交量的正负: * - 当日收盘价 > 前日收盘价:OBV = 前日 OBV + 当日成交量 * - 当日收盘价 < 前日收盘价:OBV = 前日 OBV - 当日成交量 * - 当日收盘价 = 前日收盘价:OBV = 前日 OBV * * @param data K 线数据数组 * @param options 配置选项 * @returns OBV 结果数组 * * @example * const obv = calcOBV(klines); * console.log(obv[10].obv); // OBV 值 */ declare function calcOBV(data: OHLCV[], options?: OBVOptions): OBVResult[]; /** * ROC - Rate of Change(变动率指标) * 衡量价格变化的速度和幅度 */ /** * ROC 配置选项 */ interface ROCOptions { /** ROC 周期,默认 12 */ period?: number; /** 信号线周期,默认不计算 */ signalPeriod?: number; } /** * ROC 计算结果 */ interface ROCResult { /** ROC 值(百分比) */ roc: number | null; /** ROC 的 MA 信号线 */ signal: number | null; } /** * 计算 ROC(变动率指标) * * @description * ROC = (当日收盘价 - N 日前收盘价) / N 日前收盘价 × 100 * * 信号解读: * - ROC 由负转正:买入信号 * - ROC 由正转负:卖出信号 * - ROC 与价格背离:可能的反转信号 * * @param data K 线数据数组 * @param options 配置选项 * @returns ROC 结果数组 * * @example * const roc = calcROC(klines, { period: 12 }); * console.log(roc[20].roc); // ROC 值 */ declare function calcROC(data: OHLCV[], options?: ROCOptions): ROCResult[]; /** * DMI/ADX - Directional Movement Index(趋向指标) * 判断趋势的方向和强度 */ /** * DMI 配置选项 */ interface DMIOptions { /** 周期,默认 14 */ period?: number; /** ADX 平滑周期,默认与 period 相同 */ adxPeriod?: number; } /** * DMI 计算结果 */ interface DMIResult { /** +DI 值 */ pdi: number | null; /** -DI 值 */ mdi: number | null; /** ADX 值(趋势强度) */ adx: number | null; /** ADXR 值(ADX 的平均) */ adxr: number | null; } /** * 计算 DMI/ADX(趋向指标) * * @description * DMI 包含三个指标: * - +DI:上升方向指标 * - -DI:下降方向指标 * - ADX:平均趋向指数,衡量趋势强度 * * 信号解读: * - +DI > -DI:上升趋势 * - -DI > +DI:下降趋势 * - ADX > 25:趋势明显 * - ADX < 20:横盘整理 * * @param data K 线数据数组 * @param options 配置选项 * @returns DMI 结果数组 * * @example * const dmi = calcDMI(klines, { period: 14 }); * console.log(dmi[20].pdi); // +DI * console.log(dmi[20].mdi); // -DI * console.log(dmi[20].adx); // ADX */ declare function calcDMI(data: OHLCV[], options?: DMIOptions): DMIResult[]; /** * SAR - Parabolic SAR(抛物线转向指标) * 判断趋势反转点和止损位 */ /** * SAR 配置选项 */ interface SAROptions { /** 加速因子初始值,默认 0.02 */ afStart?: number; /** 加速因子增量,默认 0.02 */ afIncrement?: number; /** 加速因子最大值,默认 0.2 */ afMax?: number; } /** * SAR 计算结果 */ interface SARResult { /** SAR 值 */ sar: number | null; /** 当前趋势:1 为上升,-1 为下降 */ trend: 1 | -1 | null; /** 极值点 */ ep: number | null; /** 加速因子 */ af: number | null; } /** * 计算 SAR(抛物线转向指标) * * @description * Parabolic SAR 用于确定价格的趋势方向和潜在的反转点: * - 当价格在 SAR 之上时,SAR 在价格下方,表示上升趋势 * - 当价格在 SAR 之下时,SAR 在价格上方,表示下降趋势 * - SAR 可用作动态止损位 * * @param data K 线数据数组 * @param options 配置选项 * @returns SAR 结果数组 * * @example * const sar = calcSAR(klines); * console.log(sar[20].sar); // SAR 值 * console.log(sar[20].trend); // 趋势方向 */ declare function calcSAR(data: OHLCV[], options?: SAROptions): SARResult[]; /** * KC - Keltner Channel(肯特纳通道) * 基于 ATR 的价格通道指标 */ /** * KC 配置选项 */ interface KCOptions { /** EMA 周期,默认 20 */ emaPeriod?: number; /** ATR 周期,默认 10 */ atrPeriod?: number; /** ATR 倍数,默认 2 */ multiplier?: number; } /** * KC 计算结果 */ interface KCResult { /** 中轨(EMA) */ mid: number | null; /** 上轨 */ upper: number | null; /** 下轨 */ lower: number | null; /** 通道宽度 */ width: number | null; } /** * 计算 KC(肯特纳通道) * * @description * Keltner Channel 是一个基于 ATR 的价格通道: * - 中轨 = EMA(close, period) * - 上轨 = 中轨 + multiplier × ATR * - 下轨 = 中轨 - multiplier × ATR * * 与布林带相比,KC 使用 ATR 而非标准差,对价格变化反应更平滑。 * * @param data K 线数据数组 * @param options 配置选项 * @returns KC 结果数组 * * @example * const kc = calcKC(klines, { emaPeriod: 20, multiplier: 2 }); * console.log(kc[30].upper); // 上轨 * console.log(kc[30].mid); // 中轨 * console.log(kc[30].lower); // 下轨 */ declare function calcKC(data: OHLCV[], options?: KCOptions): KCResult[]; /** * 带技术指标的 K 线数据 */ type KlineWithIndicators = T & { ma?: MAResult; macd?: MACDResult; boll?: BOLLResult; kdj?: KDJResult; rsi?: RSIResult; wr?: WRResult; bias?: BIASResult; cci?: CCIResult; atr?: ATRResult; obv?: OBVResult$1; roc?: ROCResult$1; dmi?: DMIResult$1; sar?: SARResult$1; kc?: KCResult$1; }; /** * 为 K 线数据添加技术指标 */ declare function addIndicators(klines: T[], options?: IndicatorOptions): KlineWithIndicators[]; type BaseKline = HistoryKline | HKUSHistoryKline; type IndicatorKey = keyof IndicatorOptions; interface IndicatorComputationContext { closes: (number | null)[]; ohlcv: OHLCV[]; } interface IndicatorLookback { bars: number; emaBased?: boolean; } interface IndicatorDescriptor { key: K; estimateLookback: (option: IndicatorOptions[K]) => IndicatorLookback; compute: (context: IndicatorComputationContext, option: IndicatorOptions[K]) => unknown[]; } type IndicatorDescriptorMap = { [K in IndicatorKey]: IndicatorDescriptor; }; declare function buildIndicatorContext(klines: T[]): IndicatorComputationContext; declare const INDICATOR_REGISTRY: IndicatorDescriptorMap; declare function getEnabledIndicatorKeys(options: IndicatorOptions): IndicatorKey[]; declare function estimateIndicatorLookback(options: IndicatorOptions): { maxLookback: number; hasEmaBasedIndicator: boolean; requiredBars: number; }; /** * 腾讯 Smartbox 搜索接口 * 支持浏览器(JSONP)和 Node.js(fetch)双端 */ /** 全局变量声明(浏览器环境)*/ declare global { interface Window { v_hint?: string; } } type MarketType = 'A' | 'HK' | 'US'; /** * `getKlineWithIndicators` 的请求参数 */ interface KlineWithIndicatorsOptions { /** * 市场类型 * - 不传时由 SDK 根据 `symbol` 自动识别 * - A 股 / 港股 / 美股 => 'A' / 'HK' / 'US' */ market?: MarketType; /** K 线周期,默认 `'daily'` */ period?: 'daily' | 'weekly' | 'monthly'; /** 复权方式:`''` 不复权 / `'qfq'` 前复权 / `'hfq'` 后复权 */ adjust?: '' | 'qfq' | 'hfq'; /** * 起始日期(`YYYYMMDD` 或 `YYYY-MM-DD`) * - SDK 会根据指标依赖自动向前多取若干 bar,以保证首日指标有效 */ startDate?: string; /** 结束日期(`YYYYMMDD` 或 `YYYY-MM-DD`) */ endDate?: string; /** * 指标配置 * - 仅传入 key(如 `{ ma: [5, 10] }`)即可启用对应指标 * - 完整选项参见 `IndicatorOptions` */ indicators?: IndicatorOptions; } declare class StockSDK { private readonly client; private readonly quoteService; private readonly boardService; private readonly klineService; private readonly futuresService; private readonly optionsService; private readonly indicatorService; private readonly fundFlowService; private readonly northboundService; private readonly marketEventService; private readonly dragonTigerService; private readonly dataService; /** * 创建 Stock SDK 实例。 * 旧的全局 `timeout` / `retry` / `rateLimit` / `circuitBreaker` 配置继续有效, * 也可以通过 `providerPolicies` 为不同数据源覆盖请求治理策略而不影响既有 API。 */ constructor(options?: RequestClientOptions); /** * 获取 A 股完整行情(腾讯接口) * @param codes 股票代码数组(如 `['sh600519', 'sz000001']`) */ getFullQuotes(codes: string[]): Promise; /** * 获取 A 股简化行情(腾讯接口) * @param codes 股票代码数组 */ getSimpleQuotes(codes: string[]): Promise; /** * 获取港股行情 * @param codes 港股代码数组(如 `['hk00700']`) */ getHKQuotes(codes: string[]): Promise; /** * 获取美股行情 * @param codes 美股代码数组(如 `['usAAPL']`) */ getUSQuotes(codes: string[]): Promise; /** * 获取基金行情(场内/场外) * @param codes 基金代码数组 */ getFundQuotes(codes: string[]): Promise; /** * 获取资金流向数据 * @param codes 股票代码数组 */ getFundFlow(codes: string[]): Promise; /** * 获取盘口大单/异动数据 * @param codes 股票代码数组 */ getPanelLargeOrder(codes: string[]): Promise; /** * 获取当日分时数据 * @param code 单只股票代码 */ getTodayTimeline(code: string): Promise; /** * 获取行业板块列表(东方财富) */ getIndustryList(): Promise; /** * 获取行业板块成分股实时行情 * @param symbol 行业板块代码 */ getIndustrySpot(symbol: string): Promise; /** * 获取行业板块成分股列表 * @param symbol 行业板块代码 */ getIndustryConstituents(symbol: string): Promise; /** * 获取行业板块历史 K 线 * @param symbol 行业板块代码 * @param options K 线参数 */ getIndustryKline(symbol: string, options?: IndustryBoardKlineOptions): Promise; /** * 获取行业板块分时/分钟 K 线 * @param symbol 行业板块代码 * @param options 周期参数(不传周期则返回当日分时) */ getIndustryMinuteKline(symbol: string, options?: IndustryBoardMinuteKlineOptions): Promise; /** * 获取概念板块列表(东方财富) */ getConceptList(): Promise; /** * 获取概念板块成分股实时行情 * @param symbol 概念板块代码 */ getConceptSpot(symbol: string): Promise; /** * 获取概念板块成分股列表 * @param symbol 概念板块代码 */ getConceptConstituents(symbol: string): Promise; /** * 获取概念板块历史 K 线 * @param symbol 概念板块代码 * @param options K 线参数 */ getConceptKline(symbol: string, options?: ConceptBoardKlineOptions): Promise; /** * 获取概念板块分时/分钟 K 线 * @param symbol 概念板块代码 * @param options 周期参数(不传周期则返回当日分时) */ getConceptMinuteKline(symbol: string, options?: ConceptBoardMinuteKlineOptions): Promise; /** * 获取 A 股历史 K 线(日/周/月,含复权) * @param symbol 股票代码 * @param options K 线参数 */ getHistoryKline(symbol: string, options?: HistoryKlineOptions): Promise; /** * 获取 A 股分时/分钟 K 线 * @param symbol 股票代码 * @param options 周期参数(不传周期则返回当日分时) */ getMinuteKline(symbol: string, options?: MinuteKlineOptions): Promise; /** * 获取港股历史 K 线 * @param symbol 港股代码 * @param options K 线参数 */ getHKHistoryKline(symbol: string, options?: HKKlineOptions): Promise; /** * 获取美股历史 K 线 * @param symbol 美股代码 * @param options K 线参数 */ getUSHistoryKline(symbol: string, options?: USKlineOptions): Promise; /** * 模糊搜索股票/指数/基金等 * @param keyword 关键词(代码 / 名称 / 拼音) */ search(keyword: string): Promise; /** * 获取 A 股全量代码列表 * @param options 过滤选项;传 `boolean` 兼容旧版「是否包含交易所前缀」用法 */ getAShareCodeList(options?: GetAShareCodeListOptions | boolean): Promise; /** * 获取美股全量代码列表 * @param options 过滤选项;传 `boolean` 兼容旧版「是否包含市场前缀」用法 */ getUSCodeList(options?: GetUSCodeListOptions | boolean): Promise; /** * 获取港股全量代码列表 */ getHKCodeList(): Promise; /** * 获取基金全量代码列表 */ getFundCodeList(): Promise; /** * 批量拉取全部 A 股完整行情 * @param options 批量请求参数(如批大小、并发等) */ getAllAShareQuotes(options?: GetAllAShareQuotesOptions): Promise; /** * 批量拉取全部港股行情 * @param options 批量请求参数 */ getAllHKShareQuotes(options?: GetAllAShareQuotesOptions): Promise; /** * 批量拉取全部美股行情 * @param options 批量请求参数 */ getAllUSShareQuotes(options?: GetAllUSQuotesOptions): Promise; /** * 按给定代码列表批量拉取完整行情 * @param codes 股票代码数组 * @param options 批量请求参数 */ getAllQuotesByCodes(codes: string[], options?: GetAllAShareQuotesOptions): Promise; /** * 直接调用腾讯批量行情原始接口(高级用法) * @param params 拼接后的查询参数(如 `'sh600519,sz000001'`) */ batchRaw(params: string): Promise<{ key: string; fields: string[]; }[]>; /** * 获取交易日历(A 股) */ getTradingCalendar(): Promise; /** * 获取分红配股明细 * @param symbol 股票代码 */ getDividendDetail(symbol: string): Promise; /** * 获取国内期货历史 K 线 * @param symbol 期货合约代码 * @param options K 线参数 */ getFuturesKline(symbol: string, options?: FuturesKlineOptions): Promise; /** * 获取全球期货实时行情 * @param options 筛选选项 */ getGlobalFuturesSpot(options?: GlobalFuturesSpotOptions): Promise; /** * 获取全球期货历史 K 线 * @param symbol 期货合约代码 * @param options K 线参数 */ getGlobalFuturesKline(symbol: string, options?: GlobalFuturesKlineOptions): Promise; /** * 获取期货库存品种列表 */ getFuturesInventorySymbols(): Promise; /** * 获取指定品种的期货库存历史 * @param symbol 品种代码 * @param options 查询参数 */ getFuturesInventory(symbol: string, options?: FuturesInventoryOptions): Promise; /** * 获取 COMEX 黄金/白银库存 * @param symbol `'gold'` 或 `'silver'` * @param options 查询参数 */ getComexInventory(symbol: 'gold' | 'silver', options?: ComexInventoryOptions): Promise; /** * 获取股指期权 T 型报价 * @param product 期权品种 * @param contract 合约月份等参数 */ getIndexOptionSpot(product: IndexOptionProduct, contract: string): Promise; /** * 获取股指期权日 K 线 * @param symbol 合约代码 */ getIndexOptionKline(symbol: string): Promise; /** * 获取中金所期权当日报价(IO/MO 等) * @param options 筛选选项 */ getCFFEXOptionQuotes(options?: CFFEXOptionQuotesOptions): Promise; /** * 获取 ETF 期权可用月份 * @param cate ETF 期权品种 */ getETFOptionMonths(cate: ETFOptionCate): Promise; /** * 获取 ETF 期权指定月份的合约列表/到期日 * @param cate ETF 期权品种 * @param month 月份(如 `'202405'`) */ getETFOptionExpireDay(cate: ETFOptionCate, month: string): Promise; /** * 获取 ETF 期权当日分时 * @param code 合约代码 */ getETFOptionMinute(code: string): Promise; /** * 获取 ETF 期权日 K 线 * @param code 合约代码 */ getETFOptionDailyKline(code: string): Promise; /** * 获取 ETF 期权 5 日分时 * @param code 合约代码 */ getETFOption5DayMinute(code: string): Promise; /** * 获取商品期权 T 型报价 * @param variety 品种 * @param contract 合约 */ getCommodityOptionSpot(variety: string, contract: string): Promise; /** * 获取商品期权日 K 线 * @param symbol 合约代码 */ getCommodityOptionKline(symbol: string): Promise; /** * 获取期权龙虎榜 * @param symbol 合约代码 * @param date 日期 `YYYY-MM-DD` */ getOptionLHB(symbol: string, date: string): Promise; /** * 获取带技术指标的 K 线(A 股 / 港股 / 美股自动识别) * @param symbol 股票代码 * @param options 配置(市场、周期、复权、日期范围、指标列表等) * @see {@link KlineWithIndicatorsOptions} */ getKlineWithIndicators(symbol: string, options?: KlineWithIndicatorsOptions): Promise[]>; /** * 获取个股资金流历史(日 / 周 / 月) * @param symbol 股票代码(支持带或不带 sh/sz/bj 前缀) * @param options 周期选项 */ getIndividualFundFlow(symbol: string, options?: FundFlowOptions): Promise; /** 获取大盘资金流(上证 + 深证综合) */ getMarketFundFlow(): Promise; /** * 获取个股资金流排名(沪深北 A 股全市场) * @param options 排名周期:'today' | '3day' | '5day' | '10day' */ getFundFlowRank(options?: FundFlowRankOptions): Promise; /** * 获取板块资金流排名(行业 / 概念 / 地域) * @param options 排名周期 + 板块类型 */ getSectorFundFlowRank(options?: FundFlowRankOptions): Promise; /** * 获取单个板块的历史资金流 * @param symbol 板块编号(如 'BK0438' 或全前缀 '90.BK0438') * @param options 周期选项 */ getSectorFundFlowHistory(symbol: string, options?: FundFlowOptions): Promise; /** * 获取北向 / 南向资金分时数据 * @param direction 方向:'north' (北向,默认) 或 'south' (南向) */ getNorthboundMinute(direction?: NorthboundDirection): Promise; /** 获取沪深港通市场资金流向汇总(北向 + 南向 + 港股通拆分) */ getNorthboundFlowSummary(): Promise; /** * 获取北向 / 沪股通 / 深股通持股个股排行 * @param options 市场(沪/深/全部) + 周期 */ getNorthboundHoldingRank(options?: NorthboundHoldingRankOptions): Promise; /** * 获取北向 / 南向资金历史 * @param direction 方向 * @param options 起止日期 */ getNorthboundHistory(direction?: NorthboundDirection, options?: NorthboundHistoryOptions): Promise; /** * 获取个股的北向持仓历史 * @param symbol 股票代码 * @param options 起止日期 */ getNorthboundIndividual(symbol: string, options?: NorthboundHistoryOptions): Promise; /** * 获取涨停股池(涨停 / 昨日涨停 / 强势 / 次新 / 炸板 / 跌停) * @param type 池子类型,默认 'zt' * @param date 交易日 YYYYMMDD 或 YYYY-MM-DD(默认今天) */ getZTPool(type?: ZTPoolType, date?: string): Promise; /** * 获取个股盘口异动(共 22 种异动类型) * @param type 异动类型,默认 'large_buy' */ getStockChanges(type?: StockChangeType): Promise; /** 获取板块异动详情(当日板块异动汇总) */ getBoardChanges(): Promise; /** * 获取龙虎榜详情 * @param options 起止日期 YYYYMMDD */ getDragonTigerDetail(options: DragonTigerDateOptions): Promise; /** * 获取个股上榜统计 * @param period 统计周期(默认近一月) */ getDragonTigerStockStats(period?: DragonTigerPeriod): Promise; /** * 获取机构买卖统计 * @param options 起止日期 YYYYMMDD */ getDragonTigerInstitution(options: DragonTigerDateOptions): Promise; /** * 获取营业部排行 * @param period 统计周期 */ getDragonTigerBranchRank(period?: DragonTigerPeriod): Promise; /** * 获取个股某日上榜席位明细(买入榜 + 卖出榜合并) * @param symbol 股票代码 * @param date 上榜日期 YYYYMMDD 或 YYYY-MM-DD */ getDragonTigerStockSeatDetail(symbol: string, date: string): Promise; /** 获取大宗交易市场每日统计 */ getBlockTradeMarketStat(): Promise; /** * 获取大宗交易明细 * @param options 起止日期 */ getBlockTradeDetail(options?: BlockTradeDateOptions): Promise; /** * 获取大宗交易每日统计(按股票汇总) * @param options 起止日期 */ getBlockTradeDailyStat(options?: BlockTradeDateOptions): Promise; /** 获取融资融券账户统计 */ getMarginAccountInfo(): Promise; /** * 获取融资融券标的明细 * @param date 指定交易日 YYYY-MM-DD(默认服务端最新交易日) */ getMarginTargetList(date?: string): Promise; } export { type AShareMarket, type ATROptions, type BIASOptions, type BOLLOptions, type BlockTradeDailyStatItem, type BlockTradeDateOptions, type BlockTradeDetailItem, type BlockTradeMarketStatItem, type BoardChangeItem, type CCIOptions, type CFFEXOptionQuote, type CFFEXOptionQuotesOptions, type ComexInventory, type ComexInventoryOptions, type ConceptBoard, type ConceptBoardConstituent, type ConceptBoardKline, type ConceptBoardKlineOptions, type ConceptBoardMinuteKline, type ConceptBoardMinuteKlineOptions, type ConceptBoardMinuteTimeline, type ConceptBoardSpot, type DMIOptions$1 as DMIOptions, type DMIResult$1 as DMIResult, type DatacenterQuery, type DatacenterResult, type DividendDetail, type DragonTigerBranchItem, type DragonTigerDateOptions, type DragonTigerDetailItem, type DragonTigerInstitutionItem, type DragonTigerPeriod, type DragonTigerSeatItem, type DragonTigerStockStatItem, type ETFOptionCate, type ETFOptionExpireDay, type ETFOptionMonth, type FullQuote, type FundFlow, type FundFlowOptions, type FundFlowRankItem, type FundFlowRankOptions, type FundQuote, type FuturesExchange, type FuturesInventory, type FuturesInventoryOptions, type FuturesInventorySymbol, type FuturesKline, type FuturesKlineOptions, type GetAShareCodeListOptions, type GetAllAShareQuotesOptions, type GlobalFuturesKlineOptions, type GlobalFuturesQuote, type GlobalFuturesSpotOptions, type HKQuote, type HKUSHistoryKline, type HistoryKline, HttpError, INDICATOR_REGISTRY, type IndexOptionProduct, type IndicatorKey, type IndicatorOptions, type IndustryBoard, type IndustryBoardConstituent, type IndustryBoardKline, type IndustryBoardKlineOptions, type IndustryBoardMinuteKline, type IndustryBoardMinuteKlineOptions, type IndustryBoardMinuteTimeline, type IndustryBoardSpot, type JsonpOptions, type KCOptions$1 as KCOptions, type KCResult$1 as KCResult, type KDJOptions, type KlineWithIndicators, type MACDOptions, type MAOptions, type MarginAccountItem, type MarginTargetItem, type MarketFundFlow, type MarketType, type MinuteKline, type MinuteTimeline, type NorthboundDirection, type NorthboundFlowSummary, type NorthboundHistoryItem, type NorthboundHistoryOptions, type NorthboundHoldingRankItem, type NorthboundHoldingRankOptions, type NorthboundIndividualItem, type NorthboundMarket, type NorthboundMinuteItem, type NorthboundRankPeriod, type OBVOptions$1 as OBVOptions, type OBVResult$1 as OBVResult, type OptionKline, type OptionLHBItem, type OptionMinute, type OptionTQuote, type OptionTQuoteResult, type PanelLargeOrder, type ProviderName, type ProviderRequestPolicy, type ROCOptions$1 as ROCOptions, type ROCResult$1 as ROCResult, type RSIOptions, type RequestClientOptions, type RequestError, type RetryOptions, type SAROptions$1 as SAROptions, type SARResult$1 as SARResult, SdkError, type SearchResult, type SearchResultType, type SectorFundFlowItem, type SimpleQuote, type StockChangeItem, type StockChangeType, type StockFundFlowDaily, StockSDK, type TodayTimeline, type TodayTimelineResponse, type USQuote, type WROptions, type ZTPoolItem, type ZTPoolType, addIndicators, asyncPool, buildIndicatorContext, calcATR, calcBIAS, calcBOLL, calcCCI, calcDMI, calcEMA, calcKC, calcKDJ, calcMA, calcMACD, calcOBV, calcROC, calcRSI, calcSAR, calcSMA, calcWMA, calcWR, chunkArray, decodeGBK, StockSDK as default, estimateIndicatorLookback, extractJsonFromJsonp, getEnabledIndicatorKeys, getSdkErrorCode, jsonpRequest, parseResponse, safeNumber, safeNumberOrNull };