npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-binance-client-service

v1.0.4

Published

Node.ts module that extends the binance-api-node library with new functionality.

Downloads

7

Readme

NodeBinanceClientService

This module is an extended extension of the popular binance-api-node library. It provides a set of additional tools and functions that simplify interaction with the Binance exchange and allow for deeper analysis of market data. The module is based on proven and reliable methods, ensuring the stability and accuracy of the results obtained.

Installation

npm i node-binance-client-service

Getting Started

To get started with this module, import it and create a client instance. API keys are optional unless you need to make authenticated requests. You can generate an API key here.

const binanceClient = new NodeBinanceClientService({
    binance_api_key: "YOUR_API_KEY",
    binance_secret_key: "YOUR_SECRET_KEY"
})

Calc functions

calcPercentChange

This JavaScript function, calcPercentChange, calculates the percentage change between an initial value (opening price) and a final value (closing price). It is commonly used in financial applications to determine the price change of an asset over a specific period.

| Parameter | Type | Description | |---------------|---------|-----------------------------------------------------------------------------| | openPrice | number | The starting value, such as the opening price of a stock. | | closePrice | number | The ending value, such as the closing price of a stock. | | includeMinus| boolean | A flag that determines whether to include a negative sign in the result if the percentage change is negative. |

Usage

const percentChange = binanceClient.calcPercentChange(openPrice, closePrice, isIncludeMinus)

Return

| Type | Description | |---------|-----------------------------------------------------------------------------------------------| | number | The percentage change between openPrice and closePrice. The sign of the result depends on the value of the includeMinus flag and the direction of the change. |

calcAllTickerDensitiesWithInputData

This JavaScript function, calcAllTickerDensitiesWithInputData, calculates the densities of bids and asks from the order book data. It filters out the bids and asks that meet a certain density threshold based on a coefficient.

| Parameter | Type | Description | |---------------|---------|-----------------------------------------------------------------------------| | inputData | object | The input data containing the order book information. | | coefficient | number | A coefficient used to determine the density threshold for filtering bids and asks. |

Usage

const result = binanceClient.calcAllTickerDensitiesWithInputData(inputData, coefficient);

Return

| Type | Description | |--------------|-----------------------------------------------------------------------------------------------| | AllDensities | An object containing the average densities and filtered densities for both asks and bids. |

calcTrend

This TypeScript function, calcTrend, calculates the trend and percentage change based on the input candle chart data. It determines whether the trend is "Up", "Down", or "Not changed" based on the opening and closing prices.

Parameters

| Parameter | Type | Description | |---------------|-----------------------|-----------------------------------------------------------------------------| | inputData | CandleChartResult[] | An array of objects containing the candle chart data. |

Usage

const result = calcTrend(inputData);

Result

| Property | Type | Description | |-----------------|---------|--------------------------------------------------| | trend | string | The trend direction: "Up", "Down", or "Not changed" | | percentChange | number | The percentage change from the opening to the closing price |

calcCorrelation

This TypeScript function, calcCorrelation, calculates the correlation coefficient between the closing prices of two sets of candle chart data. The correlation coefficient measures the strength and direction of the linear relationship between the two datasets.

Parameters

| Parameter | Type | Description | |--------------------------|---------------------|-----------------------------------------------------------------------------| | firstTickerCandlesData | CandleDataResult | An object containing the first set of candle chart data. | | secondTickerCandlesData| CandleDataResult | An object containing the second set of candle chart data. |

Usage

const correlation = calcCorrelation(firstTickerCandlesData, secondTickerCandlesData);

Result

| Type | Description | |---------|-----------------------------------------------------------------------------------------------| | number | The correlation coefficient between the closing prices of the two ticker candle data sets. This value ranges from -1 to 1, indicating the strength and direction of the linear relationship. |

calcPumpsDumps

This TypeScript function, calcPumpsDumps, identifies significant price movements (pumps and dumps) in a set of candle chart data based on a specified coefficient. It calculates the average percentage change in price and then determines which candles exceed this average change by the given coefficient.

Parameters

| Parameter | Type | Description | |---------------|------------------|-------------------------------------------------------------------------------------------| | candleData | CandleDataResult | An object containing the candle chart data, including symbol, interval, and candles data. | | coefficient | number | A multiplier used to determine the threshold for significant price changes. |

Usage

const result = calcPumpsDumps(candleData, coefficient);

Result

| Type | Description | |-----------------|--------------------------------------------------------------------------------------------------------------------------------------------| | PumpDumpResult | An object containing the symbol, symbol type, interval, limit, start time, end time, and arrays of candles identified as pumps and dumps. |

(Async) GET functions

getAllFuturesTickers

This asynchronous TypeScript function, getAllFuturesTickers, retrieves all futures tickers from the Binance API and filters them based on their status.

Parameters

| Parameter | Type | Description | |---------------|------------------|------------------------------------------------------------------------------------------| | symbolStatus | SymbolStatus | The status of the symbols to filter by (e.g., TRADING, BREAK, etc.).|

Usage

const tickers = await getAllFuturesTickers('TRADING');

Result

| Type | Description | |-------|--------------------------------------------------------------------------------------------------------------------------------------------| | Array | An array of symbols that match the specified status. |

getAllSpotTickers

This asynchronous TypeScript function, getAllSpotTickers, retrieves all spot tickers from the Binance API and filters them based on their status.

Parameters

| Parameter | Type | Description | |---------------|------------------|------------------------------------------------------------------------------------------| | symbolStatus | SymbolStatus | The status of the symbols to filter by (e.g., TRADING, BREAK, etc.).|

Usage

const tickers = await getAllSpotTickers('TRADING');

Result

| Type | Description | |-------|--------------------------------------------------------------------------------------------------------------------------------------------| | Array | An array of symbols that match the specified status. |

getSpotTickerCandles

This asynchronous TypeScript function, getSpotTickerCandles, retrieves candle chart data for a specified spot ticker from the Binance API and formats it into a structured result.

Parameters

| Parameter | Type | Description | |---------------|------------------|------------------------------------------------------------------------------------------| | options | CandlesOptions | An object containing options for retrieving the candle data, such as symbol, interval, limit, start time, and end time.|

Usage

const options = {
    symbol: "BTCUSDT",
    interval: "1h",
    limit: 100,
    startTime: 1622505600000,
    endTime: 1622592000000
};
const result = await getSpotTickerCandles(options);

Result

| Type | Description | |-------|--------------------------------------------------------------------------------------------------------------------------------------------| | CandleDataResult | An object containing the symbol, symbol type, interval, limit, start time, end time, and an array of formatted candle data. |

getFuturesTickerCandles

This asynchronous TypeScript function, getFuturesTickerCandles, retrieves candle chart data for a specified futures ticker from the Binance API and formats it into a structured result.

Parameters

| Parameter | Type | Description | |---------------|------------------|------------------------------------------------------------------------------------------| | options | CandlesOptions | An object containing options for retrieving the candle data, such as symbol, interval, limit, start time, and end time.|

Usage

const options = {
    symbol: "BTCUSDT",
    interval: "1h",
    limit: 100,
    startTime: 1622505600000,
    endTime: 1622592000000
};
const result = await getFuturesTickerCandles(options);

Result

| Type | Description | |-------|--------------------------------------------------------------------------------------------------------------------------------------------| | CandleDataResult | An object containing the symbol, symbol type, interval, limit, start time, end time, and an array of formatted candle data. |

getSpotOrderBook

This asynchronous TypeScript function, getSpotOrderBook, retrieves the current price and order book for a specified spot ticker from the Binance API and formats it into a structured result.

Parameters

| Parameter | Type | Description | |---------------|--------|------------------------------------------------------------------------------------------| | symbol | string | The symbol for which to retrieve the order book (e.g., BTCUSDT).| | orderBookLimit | number | The limit on the number of orders to retrieve for the order book.|

Usage

const orderBook = await getSpotOrderBook('BTCUSDT', 100);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | ResultOrderBookObject | An object containing the symbol, order book type, current price, and the order book data (asks and bids).|

getFuturesOrderBook

This asynchronous TypeScript function, getFuturesOrderBook, retrieves the current price and order book for a specified futures ticker from the Binance API and formats it into a structured result.

Parameters

| Parameter | Type | Description | |---------------|--------|------------------------------------------------------------------------------------------| | symbol | string | The symbol for which to retrieve the order book (e.g., BTCUSDT).| | orderBookLimit | number | The limit on the number of orders to retrieve for the order book.|

Usage

const orderBook = await getFuturesOrderBook('BTCUSDT', 100);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | ResultOrderBookObject | An object containing the symbol, order book type, current price, and the order book data (asks and bids).|

getAllSpotTickerDensities

This asynchronous TypeScript function, getAllSpotTickerDensities, retrieves the order book for a specified spot ticker, calculates the density of orders, and returns the results.

Parameters

| Parameter | Type | Description | |---------------|--------|------------------------------------------------------------------------------------------| | symbol | string | The symbol for which to retrieve the order book (e.g., BTCUSDT).| | densityCoefficient | number | A coefficient used to calculate the density of orders.| | orderBookLimit | number | The limit on the number of orders to retrieve for the order book.|

Usage

const densities = await getAllSpotTickerDensities('BTCUSDT', 1.5, 100);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | Object | An object containing the symbol, data type (spot), and arrays of calculated densities for asks and bids.|

getAllFuturesTickerDensities

This asynchronous TypeScript function, getAllFuturesTickerDensities, retrieves the order book for a specified futures ticker, calculates the density of orders, and returns the results.

Parameters

| Parameter | Type | Description | |---------------|--------|------------------------------------------------------------------------------------------| | symbol | string | The symbol for which to retrieve the order book (e.g., BTCUSDT).| | densityCoefficient | number | A coefficient used to calculate the density of orders.| | orderBookLimit | number | The limit on the number of orders to retrieve for the order book.|

Usage

const densities = await getAllFuturesTickerDensities('BTCUSDT', 1.5, 100);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | Object | An object containing the symbol, data type (futures), and arrays of calculated densities for asks and bids.|

getSpotTrend

This asynchronous TypeScript function, getSpotTrend, retrieves candle chart data for a specified spot ticker from the Binance API and calculates the trend based on the retrieved data.

Parameters

| Parameter | Type | Description | |---------------|--------|------------------------------------------------------------------------------------------| | options | CandlesOptions | An object containing options for retrieving the candle data, such as symbol, interval, limit, start time, and end time.|

Usage

const options = {
    symbol: "BTCUSDT",
    interval: "1h",
    limit: 100,
    startTime: 1622505600000,
    endTime: 1622592000000
};
const trend = await getSpotTrend(options);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | TrendResult | The result of the trend calculation based on the candle data.|

getFuturesTrend

This asynchronous TypeScript function, getFuturesTrend, retrieves candle chart data for a specified futures ticker from the Binance API and calculates the trend based on the retrieved data.

Parameters

| Parameter | Type | Description | |---------------|--------|------------------------------------------------------------------------------------------| | options | CandlesOptions | An object containing options for retrieving the candle data, such as symbol, interval, limit, start time, and end time.|

Usage

const options = {
    symbol: "BTCUSDT",
    interval: "1h",
    limit: 100,
    startTime: 1622505600000,
    endTime: 1622592000000
};
const trend = await getFuturesTrend(options);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | TrendResult | The result of the trend calculation based on the candle data.|

getSpotCorrelation

This asynchronous TypeScript function, getSpotCorrelation, retrieves candle chart data for multiple spot tickers from the Binance API, calculates the correlation between each ticker and a specified second ticker, and returns the results.

Parameters

| Parameter | Type | Description | |---------------|----------------|------------------------------------------------------------------------------------------| | tickersArrayOptions | CandlesOptions[] | An array of options for retrieving the candle data for multiple tickers.| | secondTickerOptions | CandlesOptions | Options for retrieving the candle data for the second ticker.|

Usage

const tickersArrayOptions = [
    { symbol: "BTCUSDT", interval: "1h", limit: 100, startTime: 1622505600000, endTime: 1622592000000 },
    // more options...
];
const secondTickerOptions = { symbol: "ETHUSDT", interval: "1h", limit: 100, startTime: 1622505600000, endTime: 1622592000000 };
const correlationResult = await getSpotCorrelation(tickersArrayOptions, secondTickerOptions);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | GetCorrelationResult | An object containing the symbol of the second ticker and an array of correlation results for each ticker.|

getFuturesCorrelation

This asynchronous TypeScript function, getFuturesCorrelation, retrieves candle chart data for multiple futures tickers from the Binance API, calculates the correlation between each ticker and a specified second ticker, and returns the results.

Parameters

| Parameter | Type | Description | |---------------|----------------|------------------------------------------------------------------------------------------| | tickersArrayOptions | CandlesOptions[] | An array of options for retrieving the candle data for multiple tickers.| | secondTickerOptions | CandlesOptions | Options for retrieving the candle data for the second ticker.|

Usage

const tickersArrayOptions = [
    { symbol: "BTCUSDT", interval: "1h", limit: 100, startTime: 1622505600000, endTime: 1622592000000 },
    // more options...
];
const secondTickerOptions = { symbol: "ETHUSDT", interval: "1h", limit: 100, startTime: 1622505600000, endTime: 1622592000000 };
const correlationResult = await getFuturesCorrelation(tickersArrayOptions, secondTickerOptions);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | GetCorrelationResult | An object containing the symbol of the second ticker and an array of correlation results for each ticker.|

getSpotPumpsDumps

This asynchronous TypeScript function, getSpotPumpsDumps, retrieves candle chart data for a specified spot ticker from the Binance API, calculates significant price movements (pumps and dumps) based on a specified coefficient, and returns the results.

Parameters

| Parameter | Type | Description | |---------------|----------------|------------------------------------------------------------------------------------------| | tickerOption | CandlesOptions | Options for retrieving the candle data, such as symbol, interval, limit, start time, and end time.| | coefficient | number | A multiplier used to determine the threshold for significant price changes.|

Usage

const tickerOption = {
    symbol: "BTCUSDT",
    interval: "1h",
    limit: 100,
    startTime: 1622505600000,
    endTime: 1622592000000
};
const coefficient = 1.5;
const pumpsDumps = await getSpotPumpsDumps(tickerOption, coefficient);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | PumpDumpResult | An object containing the symbol, symbol type, interval, limit, start time, end time, and arrays of candles identified as pumps and dumps.|

getFuturesPumpsDumps

This asynchronous TypeScript function, getFuturesPumpsDumps, retrieves candle chart data for a specified futures ticker from the Binance API, calculates significant price movements (pumps and dumps) based on a specified coefficient, and returns the results.

Parameters

| Parameter | Type | Description | |---------------|----------------|------------------------------------------------------------------------------------------| | tickerOption | CandlesOptions | Options for retrieving the candle data, such as symbol, interval, limit, start time, and end time.| | coefficient | number | A multiplier used to determine the threshold for significant price changes.|

Usage

const tickerOption = {
    symbol: "BTCUSDT",
    interval: "1h",
    limit: 100,
    startTime: 1622505600000,
    endTime: 1622592000000
};
const coefficient = 1.5;
const pumpsDumps = await getFuturesPumpsDumps(tickerOption, coefficient);

Result

| Type | Description | |-------|-------------------------------------------------------------------------------------------------------------------------------------------| | PumpDumpResult | An object containing the symbol, symbol type, interval, limit, start time, end time, and arrays of candles identified as pumps and dumps.|

Interfaces

FindAllTickersInterface

| Property | Type | Description | |-----------|--------|-----------------------| | ticker | string | Ticker symbol | | tickSize | number | Tick size of the ticker|

Bid

| Property | Type | Description | |-----------|--------|-----------------------| | price | number | Bid price | | quantity | number | Bid quantity |

CandleDataResult

| Property | Type | Description | |---------------|-------------------------|------------------------------------| | symbol | string | Symbol of the asset | | symbolType | DataType | Type of the symbol (spot/futures) | | interval | CandleChartInterval_LT | Interval of the candle data | | limit | number | Limit of the data points | | startTime | number | Start time of the data | | endTime | number | End time of the data | | candlesData | CandleChartResult[] | Array of candle data results |

CandleChartResult

| Property | Type | Description | |-------------------|--------|------------------------------------| | openTime | number | Opening time of the candle | | open | number | Opening price | | high | number | Highest price | | low | number | Lowest price | | close | number | Closing price | | volume | number | Volume of the asset | | closeTime | number | Closing time of the candle | | quoteVolume | number | Quote volume | | trades | number | Number of trades | | baseAssetVolume | number | Base asset volume | | quoteAssetVolume | number | Quote asset volume |

ResultOrderBookObject

| Property | Type | Description | |----------------|-----------------|------------------------------------| | symbol | string | Symbol of the asset | | orderBookType | DataType | Type of the order book (spot/futures)| | currentPrice | number | Current price of the asset | | orderBook | OrderBookObject | Order book data |

OrderBookObject

| Property | Type | Description | |-----------|-------|-----------------------| | asks | Bid[] | Array of ask bids | | bids | Bid[] | Array of bid bids |

DensityObject

| Property | Type | Description | |-----------------|-------|-----------------------| | averageDensity | number| Average density | | densities | Bid[] | Array of densities |

AllDensities

| Property | Type | Description | |-----------|---------------|-----------------------| | asks | DensityObject | Ask densities | | bids | DensityObject | Bid densities |

TrendResult

| Property | Type | Description | |---------------|-----------|-----------------------| | trend | TrendType | Trend type | | percentChange | number | Percentage change |

TickerCorrelation

| Property | Type | Description | |-----------|--------|-----------------------| | symbol | string | Symbol of the asset | | correlation| number| Correlation value |

GetCorrelationResult

| Property | Type | Description | |-----------------|-------------------|-----------------------| | symbol | string | Symbol of the asset | | correlationArray| TickerCorrelation[]| Array of correlations |

ApisData

| Property | Type | Description | |------------------|--------|-----------------------| | binanceApiKey | string | Binance API key | | binanceSecretKey | string | Binance secret key |

PumpDumpResult

| Property | Type | Description | |---------------|-------------------------|------------------------------------| | symbol | string | Symbol of the asset | | symbolType | DataType | Type of the symbol (spot/futures) | | interval | CandleChartInterval_LT | Interval of the candle data | | limit | number | Limit of the data points | | startTime | number | Start time of the data | | endTime | number | End time of the data | | pumps | CandleChartResult[] | Array of pump candle data | | dumps | CandleChartResult[] | Array of dump candle data |

Types

DataType

| Value | Description | |----------|-----------------------| | spot | Spot market data | | futures | Futures market data |

SymbolStatus

| Value | Description | |------------------|-----------------------| | TRADING | Trading status | | SETTLING | Settling status | | PENDING_TRADING | Pending trading status|

TrendType

| Value | Description | |--------------|-----------------------| | Up | Upward trend | | Down | Downward trend | | Not changed | No change in trend |

PumpDump

| Value | Description | |--------|-----------------------| | PUMP | Pump event | | DUMP | Dump event |