트레이딩/암호화폐
bybit . API V5 . 웹소켓 Orderbook . 실시간 호가 수신
i.got.it
2024. 5. 24. 20:31
웹소켓 으로 실시간 호가 수신
웹소켓 구독 해지 공통사항 : https://igotit.tistory.com/4946
웹소켓 Orderbook 요청하기
subscribe Topic
orderbook.{depth}.{symbol} e.g., orderbook.1.BTCUSDT
depth 는 호가 깊이이며, 지정 가능한 깊이는 종목별로 아래 테이블과 같다.
Linear, Inverse
depth | push frequency |
1 | 10 ms |
50 | 20 ms |
200 | 100 ms |
500 | 100 ms |
Spot
depth | push frequency |
1 | 10 ms |
50 | 20 ms |
200 | 200 ms |
Options
depth | push frequency |
25 | 20 ms |
100 | 100 ms |
제공되는 호가 데이터 형식 2종 - 스냅샷 , 델타
Orderbook 구독 요청 한 첫 데이터는 snapshot , 이후 데이터는 delta 형식의 정보 제공.
delta 란 직전 대비 변경된 호가 정보들만 제공하는것. snapshot 은 호가정보 전체.
한편, snapshot 형식은 구독 요청 첫 시점외에도 바이비트 서버에서 간헐적으로 snapshot 형식으로 송신하게되므로 수신처리부에서는 snapshot 수신시마다 호가 정보 snapshot의 것으로 갱신해야한다.
웹소켓 Orderbook . 수신 데이터 예
Snapshot
{
"topic": "orderbook.50.BTCUSDT",
"type": "snapshot",
"ts": 1672304484978,
"data": {
"s": "BTCUSDT",
"b": [
...,
[
"16493.50",
"0.006"
],
[
"16493.00",
"0.100"
]
],
"a": [
[
"16611.00",
"0.029"
],
[
"16612.00",
"0.213"
],
...,
],
"u": 18521288,
"seq": 7961638724
}
"cts": 1672304484976
}
Delta
{
"topic": "orderbook.50.BTCUSDT",
"type": "delta",
"ts": 1687940967466,
"data": {
"s": "BTCUSDT",
"b": [
[
"30247.20",
"30.028"
],
[
"30245.40",
"0.224"
],
[
"30242.10",
"1.593"
],
[
"30240.30",
"1.305"
],
[
"30240.00",
"0"
]
],
"a": [
[
"30248.70",
"0"
],
[
"30249.30",
"0.892"
],
[
"30249.50",
"1.778"
],
[
"30249.60",
"0"
],
[
"30251.90",
"2.947"
],
[
"30252.20",
"0.659"
],
[
"30252.50",
"4.591"
]
],
"u": 177400507,
"seq": 66544703342
}
"cts": 1687940967464
}
각 데이터 항목 의미
Parameter | Type | Comments |
topic | string | Topic name |
type | string | Data type. snapshot,delta |
ts | number | The timestamp (ms) that the system generates the data |
data | map | Object |
> s | string | Symbol name |
> b | array | Bids. For snapshot stream, the element is sorted by price in descending order |
>> b[0] | string | Bid price |
>> b[1] | string | Bid size
|
> a | array | Asks. For snapshot stream, the element is sorted by price in ascending order |
>> a[0] | string | Ask price |
>> a[1] | string | Ask size
|
> u | integer | Update ID. Is a sequence. Occasionally, you'll receive "u"=1, which is a snapshot data due to the restart of the service. So please overwrite your local orderbook |
> seq | integer | Cross sequence
|
cts | number | The timestamp from the match engine when this orderbook data is produced. It can be correlated with T from public trade channel |
연관
웹소켓 구독 해지 공통사항.
상위 정리
첫 등록 : 2024.05.24
최종 수정 :
단축 주소 : https://igotit.tistory.com/5619