Subscribes/Unsubscribes to market options Order Book Snapshots 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:order:snapshots", { "instrument": "BTC-24JUN22-15000-P", "exchange": "deribit" } ]
}
Param | Type | Description |
---|---|---|
instrument | string | The asset instrument. (REQUIRED) |
exchange | string | The exchange for which to retrieve asset instruments. (OPTIONAL) |
Response
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "cd09d018-fa34-408d-aef7-8a5ef2c641b3",
"result": {
"exchange": "deribit",
"instrument": "BTC-12APR24-71000-C",
"timestamp": 1711571460000,
"exchangeTimestamp": 1711571461951,
"exchangeTimestampNanoseconds": 0,
"underlyingPrice": 69599.7133,
"underlyingIndex": "SYN.BTC-12APR24",
"stats": {
"volume_usd": 376871.48,
"volume": 88.7,
"price_change": -16.9492,
"low": 0.049,
"high": 0.0669
},
"state": "open",
"openInterest": 293.2,
"minPrice": 0.017,
"maxPrice": 0.1,
"markPrice": 0.0477,
"markIv": 69.04,
"lastPrice": 0.049,
"interestRate": 0,
"indexPrice": 68922.78,
"greeks": {
"rho": 12.53638,
"theta": -127.22042,
"vega": 57.04281,
"gamma": 0.00004,
"delta": 0.47249
},
"estimatedDeliveryPrice": 68922.78,
"bids": [
[
0.0475,
4.7
],
[
0.047,
53.7
],
[
0.0465,
13.4
]
],
"bidIv": 68.75,
"bestBidPrice": 0.0475,
"bestBidAmount": 4.7,
"bestAskPrice": 0.0485,
"bestAskAmount": 26.4,
"asks": [
[
0.0485,
26.4
],
[
0.049,
38.8
],
[
0.0495,
8
]
],
"askIv": 69.97,
"sequence": 68116518368,
"metadata": {
"settlementPrice": 0.05367167
}
}
}
}
Field | Type | Description |
---|---|---|
exchange | string | The exchange. |
instrument | string | The instrument. |
timestamp | number | The time at which the order book snapshot took place. |
exchangeTimestamp | number | null | Timestamp that the exchange returned. |
exchangeTimestampNanoseconds | number | null | Nanoseconds part of exchangeTimestamp . |
underlyingPrice | number | null | Underlying price for implied volatility calculations. |
underlyingIndex | string | null | Name of the underlying future, or indexPrice . |
stats | object | null | |
stats.high | number | null | Highest price during 24h. |
stats.low | number | null | Lowest price during 24h. |
stats.price_change | number | null | 24-hour price change expressed as a percentage, null if there weren't any trades. |
stats.volume | number | null | Volume during last 24h in base currency. |
stats.volume_usd | number | null | |
state | string | null | The state of the order book. Possible values are open and closed . |
openInterest | number | null | The amount of corresponding cryptocurrency contracts, e.g., BTC or ETH. |
minPrice | number | null | The minimum price for the future. Any sell orders you submit lower than this price will be clamped to this minimum. |
maxPrice | number | null | The maximum price for the future. Any buy orders you submit higher than this price, will be clamped to this maximum. |
markPrice | number | null | The mark price for the instrument. |
markIv | number | null | Implied volatility for mark price. |
lastPrice | number | null | The price for the last trade. |
interestRate | number | null | Interest rate used in implied volatility calculations. |
indexPrice | number | null | Current index price |
greeks | object | null | |
greeks.delta | number | null | The delta value for the option. |
greeks.gamma | number | null | The gamma value for the option. |
greeks.rho | number | null | The rho value for the option. |
greeks.theta | number | null | The theta value for the option. |
greeks.vega | number | null | The vega value for the option. |
estimatedDeliveryPrice | number | null | The settlement price for the instrument. Only when state = open . |
bids | array of [price, amount] | List of bids. |
bidIv | number | null | Implied volatility for best bid. |
bestBidPrice | number | null | The current best bid price, null if there aren't any bids. |
bestBidAmount | number | null | It represents the requested order size of all best bids. |
bestAskPrice | number | null | The current best ask price, null if there aren't any asks. |
bestAskAmount | number | null | It represents the requested order size of all best asks. |
asks | array of [price, amount] | List of asks. |
askIv | number | null | Implied volatility for best ask. |
sequence | number | null | |
metadata | object | null |
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:order:snapshots'],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});