market:futures:long_short_ratios

Subscribes/Unsubscribes to market futures Long/Short Ratios data.

Once you're connected to this subscription: wss://ws.amberdata.com/futures, you must provide either the instrument or exchange - one needs to be specified, both cannot be empty.

Request

{
  "jsonrpc" : "2.0",
  "id"      : 1,
  "method"  : "subscribe",
  "params"  : [ "market:futures:long_short_ratios", { "instrument": "XRPUSDT", "exchange": "binance", "period": "minutely" } ]
}
ParamTypeDescription
instrumentstringThe asset instrument.
exchangestringThe exchange for which to retrieve asset instruments.

Response

{
    "jsonrpc": "2.0",
    "method": "subscription",
    "params": {
        "subscription": "1a71b04a-4f9f-4638-8cb2-b0f2d9c7e51e",
        "result": {
            "exchange": "binance",
            "instrument": "BTCUSDT",
            "timestamp": 1711571100000,
            "longAccount": 0.6069,
            "ratio": 1.5439,
            "shortAccount": 0.3931,
            "period": 5
        }
    }
}
FieldTypeDescription
exchangestringThe exchange name.
instrumentstringThe instrument name.
timestampnumberThe time at which the long/short ratio was updated.
longAccountnumberThe proportion of accounts on the long side of the futures contract.
rationumberThe long/short ratio.
shortAccountnumberThe proportion of accounts on the short side of the futures contract.
periodnumberThe frequency of the timeInterval. When timeInterval=minutes, the period is 5, indicating 5 minutes. When timeInterval=days, the period is 1, indicating 1 day.

Example

const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:'<api_key>'}});

ws.on('open', () => {
  ws.send(JSON.stringify({
      jsonrpc: '2.0',
      method: 'subscribe',
      params: ['market:futures:long_short_ratios', {'instrument': 'XRPUSDT', 'exchange': 'binance', 'period': 'minutely'}],
      id: 1,
    }));
});

ws.on('message', data => {
  console.log(JSON.stringify(JSON.parse(data), null, 2));
});