UNPKG

@itick/browser-sdk

Version:

Official iTick API SDK for browser. Real-time & historical data for global Stocks, Forex, Crypto, Indices, Futures, Funds, Precious Metals. REST (OHLCV/K-line) + low-latency WebSocket. Promise-based, TypeScript-ready. For quant trading & fintech

270 lines 13.2 kB
/** * Stock Module * Provides data access interfaces for stocks */ import { Client, ClientOptions } from '../../utils/client'; import { APIResponse, StockInfo, StockIPO, StockSplit } from '../../types'; import { TickData, TickDataMap } from '../../types/tick'; import { QuoteData, QuoteDataMap } from '../../types/quote'; import { DepthData, DepthDataMap } from '../../types/depth'; import { KlineData, KlineDataMap, GetKlineOptions, GetKlinesOptions } from '../../types/kline'; import { CreateSocketOptions } from '../../types/socket'; import SocketClient from '../../utils/SocketClient'; /** * Stock SDK Client * Specialized for stock data access */ export declare class StockClient extends Client { constructor(token: string, options?: ClientOptions); /** * Get Stock Information * @description Query basic stock information based on market code and symbol code * @param params - Query parameters object * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-info Official Documentation} for complete supported list * @param params.code - Stock code (e.g., AAPL, MSFT etc.) * @param params.exchange - Optional Exchange code (e.g., NYSE, NASDAQ etc.) * @returns Promise wrapped standard API response, data is stock information data {@link StockInfo} * @example * ```typescript * // Get Apple Inc. stock information * getInfo({ region: 'US', code: 'AAPL' }).then(response => { * console.log('Stock information:', response.data); * }).catch(err => { * console.error('Failed to get stock information:', err); * }); * ``` */ getInfo(params: { region: string; code: string; exchange?: string; }): Promise<APIResponse<StockInfo>>; /** * Get Stock IPO Information * @description Query stock initial public offering information based on market code and symbol code * @param params - Query parameters object * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-ipo Official Documentation} for complete supported list * @param params.code - Stock code (e.g., AAPL, MSFT etc.) * @returns Promise wrapped standard API response, data is stock IPO information data {@link StockIPO} * @example * ```typescript * // Get Apple Inc. IPO information * getIPO({ region: 'US', code: 'AAPL' }).then(response => { * console.log('IPO information:', response.data); * }).catch(err => { * console.error('Failed to get IPO information:', err); * }); * ``` */ getIPO(params: { region: string; code: string; }): Promise<APIResponse<StockIPO>>; /** * Get Stock Adjustment Factor Information * @description Query stock ex-rights and ex-dividend information based on market code and symbol code * @param params - Query parameters object * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-split Official Documentation} for complete supported list * @param params.code - Stock code (e.g., AAPL, MSFT etc.) * @returns Promise wrapped standard API response, data is stock adjustment factor information data {@link StockSplit} * @example * ```typescript * // Get Apple Inc. adjustment information * getSplit({ region: 'US', code: 'AAPL' }).then(response => { * console.log('Adjustment information:', response.data); * }).catch(err => { * console.error('Failed to get adjustment information:', err); * }); * ``` */ getSplit(params: { region: string; code: string; }): Promise<APIResponse<StockSplit>>; /** * Get Stock Real-Time Trade Snapshot * @description Query latest trade real-time market data for stock based on market code and symbol code * @param params - Query parameters object * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-tick Official Documentation} for complete supported list * @param params.code - Stock code (e.g., AAPL, MSFT etc.) * @returns Promise wrapped standard API response, data is real-time market data {@link TickData} * @example * ```typescript * // Get real-time trade market data for Apple Inc. stock * getTick({ region: 'US', code: 'AAPL' }).then(response => { * console.log('Real-time market:', response.data); * }).catch(err => { * console.error('Failed to get market data:', err); * }); * ``` */ getTick(params: { region: string; code: string; }): Promise<APIResponse<TickData>>; /** * Get Stock Latest Quote * @description Query latest quote real-time market data for stock based on market code and symbol code * @param params - Query parameters object * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-quote Official Documentation} for complete supported list * @param params.code - Stock code (e.g., AAPL, MSFT etc.) * @returns Promise wrapped API response, data is latest quote data {@link QuoteData} * @example * ```typescript * // Get latest quote for Apple Inc. stock * getQuote({ region: 'US', code: 'AAPL' }).then(response => { * console.log('Latest quote:', response.data); * }).catch(err => { * console.error('Failed to get quote:', err); * }); * ``` */ getQuote(params: { region: string; code: string; }): Promise<APIResponse<QuoteData>>; /** * Get Stock Latest Order Book * @description Query latest order book data for stock based on market code and symbol code * @param params - Query parameters object * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-depth Official Documentation} for complete supported list * @param params.code - Stock code (e.g., AAPL, MSFT etc.) * @returns Promise wrapped API response, data is latest order book data {@link DepthData} * @example * ```typescript * // Get latest order book for Apple Inc. stock * getDepth({ region: 'US', code: 'AAPL' }).then(response => { * console.log('Latest order book:', response.data); * }).catch(err => { * console.error('Failed to get order book:', err); * }); * ``` */ getDepth(params: { region: string; code: string; }): Promise<APIResponse<DepthData>>; /** * Get Stock K-Line Data * @description Query stock K-line data based on market code, symbol code, K-line period, end time and number of records to return * @param options - Query parameters object {@link GetKlineOptions} * @param options.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-kline Official Documentation} for complete supported list * @param options.code - Stock code (e.g., AAPL, MSFT etc.) * @returns Promise wrapped API response, data is K-line data array {@link KlineData} * @example * ```typescript * // Get 5-minute K-line data for Apple Inc. stock * getKline({ region: 'US', code: 'AAPL', interval: '5m', limit: 100 }).then(response => { * console.log('K-line data:', response.data); * }).catch(err => { * console.error('Failed to get K-line data:', err); * }); * ``` */ getKline(options: GetKlineOptions): Promise<APIResponse<KlineData[]>>; /** * Get Multiple Stocks Latest Trades * @description Query latest trade real-time market data for multiple stocks based on market code and symbol code list * @param params - Query parameters object * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-ticks Official Documentation} for complete supported list * @param params.codes - Symbol code list (e.g., AAPL, MSFT etc.) * @returns Promise wrapped API response, data is multiple stocks latest trade data object {@link TickDataMap} * @example * ```typescript * // Get latest trade market data for Apple Inc. and Microsoft Corp. * getTicks({ region: 'US', codes: ['AAPL', 'MSFT'] }).then(response => { * console.log('Latest trades:', response.data); * }).catch(err => { * console.error('Failed to get trade market data:', err); * }); * ``` */ getTicks(params: { region: string; codes: string[] | string; }): Promise<APIResponse<TickDataMap>>; /** * Get Multiple Stocks Latest Quotes * @description Query latest quote real-time market data for multiple stocks based on market code and symbol code list * @param params - Query parameters object * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-quotes Official Documentation} for complete supported list * @param params.codes - Symbol code list (e.g., AAPL, MSFT etc.) * @returns Promise wrapped API response, data is multiple stocks latest quote data object {@link QuoteDataMap} * @example * ```typescript * // Get latest quotes for Apple Inc. and Microsoft Corp. * getQuotes({ region: 'US', codes: ['AAPL', 'MSFT'] }).then(response => { * console.log('Latest quotes:', response.data); * }).catch(err => { * console.error('Failed to get quotes:', err); * }); * ``` */ getQuotes(params: { region: string; codes: string[] | string; }): Promise<APIResponse<QuoteDataMap>>; /** * Get Multiple Stocks Latest Order Books * @description Query latest order book real-time market data for multiple stocks based on market code and symbol code list * @param params - Query parameters object * @param params.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-depths Official Documentation} for complete supported list * @param params.codes - Symbol code list (e.g., AAPL, MSFT etc.) * @returns Promise wrapped API response, data is multiple stocks latest order book data object {@link DepthDataMap} * @example * ```typescript * // Get latest order books for Apple Inc. and Microsoft Corp. * getDepths({ region: 'US', codes: ['AAPL', 'MSFT'] }).then(response => { * console.log('Latest order books:', response.data); * }).catch(err => { * console.error('Failed to get order books:', err); * }); * ``` */ getDepths(params: { region: string; codes: string[] | string; }): Promise<APIResponse<DepthDataMap>>; /** * Get Multiple Stocks K-Line Data * @description Query K-line data for multiple stocks based on market code, symbol code list, K-line period, end time and number of records to return * @param options - Query parameters object {@link GetKlinesOptions} * @param options.region - Market code (e.g., US, HK etc.), see {@link https://docs.itick.org/rest-api/stocks/stock-klines Official Documentation} for complete supported list * @param options.codes - Symbol code list (e.g., AAPL, MSFT etc.) * @returns Promise wrapped API response, data is multiple stocks K-line data object {@link KlineDataMap} * @example * ```typescript * // Get 5-minute K-line data for Apple Inc. and Microsoft Corp. * getKlines({ region: 'US', codes: ['AAPL', 'MSFT'], kType: '5m', limit: 100 }).then(response => { * console.log('K-line data:', response.data); * }).catch(err => { * console.error('Failed to get K-line data:', err); * }); * ``` */ getKlines(options: GetKlinesOptions): Promise<APIResponse<KlineDataMap>>; /** * Create WebSocket Connection * @description Creates a WebSocket connection and returns a SocketClient object for managing connection and subscribing to real-time data. Subscription data can be specified through options parameter. * Automatically handles connection retry and heartbeat mechanism to ensure connection stability and reliability. * @param options - Optional options object for creating WebSocket connection {@link CreateSocketOptions} * @returns SocketClient object for managing WebSocket connection * @example * ```typescript * // Create a WebSocket connection and subscribe to latest tick and quote market data for Apple and Microsoft * const client = new StockClient(token); * const socket = client.createSocket({ * subscribeData: { * codes: ['AAPL$US', 'MSFT$US'], * types: ['tick','quote'] * } * }); * socket.onSocketMessage(data => { * console.log('Received WebSocket message:', data); * }); * ``` * @see Official Documentation https://docs.itick.org/websocket/stocks */ createSocket(options?: CreateSocketOptions): SocketClient; } //# sourceMappingURL=index.d.ts.map