Subscribes/Unsubscribes to market options Trades data.
Once you're connected to this subscription: wss://ws.amberdata.com/options, 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:options:trades",
{
"instrument": "BTC-16JUN23-26000-P",
"exchange": "deribit"
}
]
}
Param | Type | Description |
---|---|---|
instrument | string | The asset instrument. |
exchange | string | The exchange for which to retrieve asset instruments. |
Response
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "c148c36c-ba18-4364-abd6-528b61b4e068",
"result": {
"instrument": "ETH-29MAR24-3650-C",
"exchange": "deribit",
"exchangeTimestamp": 1711571475505,
"exchangeTimestampNanoseconds": 0,
"isBuySide": true,
"price": 0.005,
"size": 1,
"tradeId": "ETH-201932780",
"tradeSequence": "1535",
"tickDirection": 1,
"markPrice": 0.00497,
"iv": 71.45,
"indexPrice": 3503.08
}
}
}
Field | Type | Description |
---|---|---|
exchange | string | The exchange. |
instrument | string | |
exchangeTimestamp | number | Timestamp that the exchange returned. |
exchangeTimestampNanoseconds | number | Nanoseconds part of exchangeTimestamp . |
isBuySide | boolean | null | true if the trade is a buy, false otherwise. |
quoteSize | number | null | |
price | number | null | The price at which the instrument was traded. |
size | number | null | The total amount of the instrument that was traded. |
tradeId | string | null | The exchange provided id of the trade. |
tradeSequence | number | |
tickDirection | number | |
markPrice | number | |
iv | number | The implied volatility of the instrument. |
indexPrice | number | The price of the underlying asset. |
Example
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/options', {headers: {x-api-key:'<api_key>'}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:options:trades', {'instrument': 'BTC-16JUN23-26000-P', 'exchange': 'deribit'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});