tardis-dev
Version:
Convenient access to tick-level historical and real-time cryptocurrency market data via Node.js
102 lines • 4.55 kB
TypeScript
import type { SymbolType } from './exchangedetails.ts';
import type { Exchange } from './types.ts';
export declare function getInstrumentInfo(exchange: Exchange): Promise<InstrumentInfo[]>;
export declare function getInstrumentInfo(exchange: Exchange | Exchange[], filter: InstrumentInfoFilter): Promise<InstrumentInfo[]>;
export declare function getInstrumentInfo(exchange: Exchange, symbol: string): Promise<InstrumentInfo>;
export declare function findInstrumentSymbols(exchanges: Exchange[], filter: InstrumentInfoFilter, selector?: InstrumentSymbolSelector): Promise<InstrumentSymbols[]>;
export type InstrumentSymbolSelector = 'id' | 'datasetId';
export type InstrumentSymbols = {
exchange: Exchange;
symbols: string[];
};
export type InstrumentInfoFilter = {
baseCurrency?: string | string[];
quoteCurrency?: string | string[];
type?: SymbolType | SymbolType[];
contractType?: ContractType | ContractType[];
underlyingType?: UnderlyingType | UnderlyingType[];
active?: boolean;
availableSince?: string;
availableTo?: string;
};
export type ContractType = 'move' | 'linear_future' | 'inverse_future' | 'quanto_future' | 'linear_perpetual' | 'inverse_perpetual' | 'quanto_perpetual' | 'put_option' | 'call_option' | 'turbo_put_option' | 'turbo_call_option' | 'spread' | 'interest_rate_swap' | 'repo' | 'index';
export type UnderlyingType = 'native' | 'equity' | 'commodity' | 'fixed_income' | 'fx' | 'index' | 'pre_market';
export interface InstrumentInfo {
/** symbol id */
id: string;
/** dataset symbol id, may differ from id */
datasetId?: string;
/** exchange id */
exchange: string;
/** normalized, so for example bitmex XBTUSD has base currency set to BTC not XBT */
baseCurrency: string;
/** normalized, so for example bitfinex BTCUST has quote currency set to USDT, not UST */
quoteCurrency: string;
type: SymbolType;
/** derivative contract type */
contractType?: ContractType;
/** indicates if the instrument can currently be traded. */
active: boolean;
/** date in ISO format */
availableSince: string;
/** date in ISO format */
availableTo?: string;
/** date in ISO format, when the instrument was first listed on the exchange */
listing?: string;
/** in ISO format, only for futures and options */
expiry?: string;
/** expiration schedule type */
expirationType?: 'daily' | 'weekly' | 'next_week' | 'quarter' | 'next_quarter';
/** the underlying index for derivatives */
underlyingIndex?: string;
/** underlying asset class */
underlyingType?: UnderlyingType;
/** price tick size, price precision can be calculated from it */
priceIncrement: number;
/** amount tick size, amount/size precision can be calculated from it */
amountIncrement: number;
/** min order size */
minTradeAmount: number;
/** minimum notional value */
minNotional?: number;
/** consider it as illustrative only, as it depends in practice on account traded volume levels, different categories, VIP levels, owning exchange currency etc */
makerFee: number;
/** consider it as illustrative only, as it depends in practice on account traded volume levels, different categories, VIP levels, owning exchange currency etc */
takerFee: number;
/** only for derivatives */
inverse?: boolean;
/** only for derivatives */
contractMultiplier?: number;
/** only for quanto instruments */
quanto?: boolean;
/** only for quanto instruments as settlement currency is different base/quote currency */
settlementCurrency?: string;
/** strike price, only for options */
strikePrice?: number;
/** option type, only for options */
optionType?: 'call' | 'put';
/** margin mode */
marginMode?: 'isolated' | 'cross';
/** whether margin trading is supported (spot) */
margin?: boolean;
/** if this instrument is an alias for another */
aliasFor?: string;
/** historical changes to instrument parameters */
changes?: {
until: string;
priceIncrement?: number;
amountIncrement?: number;
contractMultiplier?: number;
minTradeAmount?: number;
makerFee?: number;
takerFee?: number;
quanto?: boolean;
inverse?: boolean;
settlementCurrency?: string;
underlyingIndex?: string;
contractType?: ContractType;
quoteCurrency?: string;
type?: string;
}[];
}
//# sourceMappingURL=instrumentinfo.d.ts.map