Інтерфейс Binance Options API і WebSocket

2022-09-08 09:41

Торгівля опціонами на Binance здійснюється через пакет для мережевого підключення до API Binance Futures і відкрита для користувачів, які ввімкнули торговий інтерфейс Binance API. 

1. Кінцеві точки ринкових даних

За посиланням на Github для кожного запиту можна отримати доступ до відповідних вагових значень, параметрів і відповідей кінцевих точок. 

Запит

Опис

Кінцева точка та деталі

Test Connectivity

Перевірка підключення до Rest API

GET /eapi/v1/ping

Check Server Time

Перевірте підключення до Rest API і отримайте поточний час сервера

GET /eapi/v1/time

Exchange Information

Поточні правила торгівлі на біржі й інформація про символи

GET /eapi/v1/exchangeInfo 

Order Book

Отримайте дані книги ордерів

GET /eapi/v1/depth

Recent Trades List

Отримайте список останніх ринкових угод

GET /eapi/v1/trades

Old Trades Lookup (MARKET_DATA)

Отримайте старі ринкові угоди з історії

GET /eapi/v1/historicalTrades

Kline/Candlestick Data

Свічки на свічкових/K-line графіках, що відповідають певному символу опціону. K-line визначаються за часом відкриття

GET /eapi/v1/klines

Options Mark Price

Ціна маркування опціонів та інформація греків

GET /eapi/v1/mark

24hr Ticker Price Change Statistics

Статистика зміни ціни протягом 24 годин (ковзне вікно)

GET /eapi/v1/ticker

Symbol Price Ticker

Отримайте дані про спотову індексну ціну на базовий актив опціону

GET /eapi/v1/index

Historical Exercise Records

Отримайте записи про виконані опціони в минулому

GET /eapi/v1/exerciseHistory

Open Interest

Отримайте відкритий інтерес для базового активу на певну дату експірації

GET /eapi/v1/openInterest

2. Кінцеві точки для акаунтів/угод

За посиланням на Github для кожного запиту можна отримати доступ до відповідних вагових значень, параметрів і відповідей кінцевих точок.

Запит

Опис

Кінцева точка та деталі

Option Account Information (TRADE)

Отримати актуальні дані акаунту

GET /eapi/v1/account (HMAC SHA256)

Funds Transfer (TRADE)

Детальніше можна переглянути дані тут

New Order (TRADE)

Надіслати новий ордер

POST /eapi/v1/order (HMAC SHA256)

Place Multiple Orders (TRADE)

Надіслати декілька ордерів на опціони

POST /eapi/v1/batchOrders (HMAC SHA256)

Query Single Order (TRADE)

Перевірити статус ордера

GET /eapi/v1/order (HMAC SHA256)

Cancel Options Order (TRADE)

Скасувати активний ордер

DELETE /eapi/v1/order (HMAC SHA256)

Cancel Multiple Options Orders (TRADE)

Скасувати декілька активних ордерів

DELETE /eapi/v1/batchOrders (HMAC SHA256)

Cancel all Options orders on a specific symbol (TRADE)

Скасувати всі активні ордери для символу

DELETE /eapi/v1/allOpenOrders (HMAC SHA256)

Cancel All Options Orders by Underlying (TRADE)

Скасувати всі активні ордери для певного базового активу

DELETE /eapi/v1/allOpenOrdersByUnderlying (HMAC SHA256)

Query Current Open Options Orders (USER_DATA)

Запит на всі відкриті ордери, статус: ACCEPTED PARTIALLY_FILLED

GET /eapi/v1/openOrders (HMAC SHA256)

Query Options Order History (TRADE)

Запит на всі виконані ордери за 5 днів. Статус ордерів: CANCELLED, FILLED, REJECTED

GET /eapi/v1/historyOrders (HMAC SHA256)

Options Position Information (USER_DATA)

Отримати інформацію за поточними позиціями

GET /eapi/v1/position (HMAC SHA256)

Account Trade List (USER_DATA)

Отримати список угод для конкретного акаунту або символу

GET /eapi/v1/userTrades (HMAC SHA256)

User Exercise Record (USER_DATA)

Отримати записи про виконанні опціони для акаунту

GET /eapi/v1/exerciseRecord (HMAC SHA256)

Account Funding Flow (USER_DATA)

Запит на інформацію щодо поповнень

GET /eapi/v1/bill (HMAC SHA256)

3. Потоки ринкових даних WebSocket

Ви можете підписатися або скасувати підписку на будь-який із наведених нижче потоків за допомогою запитів, наведених у розділі WebSocket

Потік

Назва потоку

Опис

Швидкість оновлення

Потоки торгівлі

<symbol>@trade або <underlyingAsset>@trade

Торговельні потоки надсилають вихідні дані про угоди для певного символу або базового активу, наприклад, ETH@trade

50 мс

Потоки індексів

<symbol>@index

Базовий потік індексу (наприклад, ETHUSDT)

1000 мс

Ціна маркування

<underlyingAsset>@markPrice

Ціна маркування для всіх символів опціонів для конкретного базового активу, наприклад, ETH@markPrice

1000 мс

Потоки K-line/свічкових графіків

<symbol>@kline_<interval>

Потік K-line/ свічкових графіків передає оновлені дані в поточний K-line/свічковий графік кожні 1000 мілісекунд (за наявності)

1000 мс

Тікери за 24 години

<symbol>@ticker

Інформація про тікери за 24 години за всіма символами. Надсилатимуться лише символи зі зміненими даними

1000 мс

Тікери за 24 години за базовим активом і датою закінчення дії

<underlyingAsset>@ticker@<expirationDate>

Тікери за 24 години за базовим активом і датою закінчення дії, наприклад, ETH@ticker@220930

1000 мс

Open Interest

<underlyingAsset>@openInterest@<expirationDate>

Отримати відкритий відсоток для базового активу на певну дату закінчення дії, наприклад, ETH@openInterest@221125

60 с

Нова інформація про символ

option_pair

Потік лістингу нових символів

50 мс  

Часткові потоки даних глибини книги

<symbol>@depth<levels> або <symbol>@depth<levels>@100ms або <symbol>@depth<levels>@1000ms

Найкращі біди та аски Допустимі рівні: 10, 20, 50, 100

100 мс, 500 мс або 1000 мс (стандартно, коли швидкість оновлення не задана)

Різні потоки даних глибини книги

<symbol>@depth1000 

Коли рівень глибини встановлено на 1000, потік повертає різні дані за глибиною книги кожні 50 мс. Дотримуйтеся описаних далі інструкцій щодо правильного керування локальною книгою ордерів

50 мс

4. Потоки користувацьких даних WebSocket

Ви можете отримати доступ до потоків користувацьких даних через listenKey. Перегляньте розділ "Потоків користувацьких даних WebSocket"

Подія

Тип події

Опис

Швидкість оновлення

Дані акаунту

ACCOUNT_UPDATE

Оновлювати дані за такими показниками:

  • Поповнення та зняття коштів з акаунту
  • Зміна інформації про позицію Включає атрибут P, якщо є зміни, інакше атрибут P відсутній.
  • Оновлення греків
50 мс

Оновлення ордерів

ORDER_TRADE_UPDATE

Оновлювати дані за такими показниками:

  • Заповнення ордерів
  • Розміщення ордерів
  • Скасування ордерів
50 мс

5. Кінцеві точки маркетмейкерів

Описані далі кінцеві точки API доступні лише для маркетмейкерів.  За посиланням на Github для кожного запиту можна отримати доступ до відповідних вагових значень, параметрів і відповідей кінцевих точок.

Запит

Опис

Кінцева точка та деталі

Option Margin Account Information (USER_DATA)

Отримати актуальні дані акаунту

GET /eapi/v1/marginAccount (HMAC SHA256)

Set Market Maker Protection Config (TRADE)

Налаштувати конфігурацію для MMP. Захист маркетмейкерів (MMP) – це набір механізмів захисту для маркетмейкерів опціонів. Завдяки цьому механізму можна уникнути надмірного обсягу угод за короткий період. Механізми захисту запускаються в момент, коли акаунт маркетмейкера досягає певного ліміту. Усі поточні ордери з MMP скасовуються, а нові – відхиляються. Маркетмейкери можуть використовувати цей період для того, щоб повторно оцінити ситуацію на ринку та змінити ціни ордерів.

POST /eapi/v1/mmpSet (HMAC SHA256)

Get Market Maker Protection Config (TRADE)

Отримати конфігурацію для MMP

Get /eapi/v1/mmp (HMAC SHA256)

Reset Market Maker Protection Config (TRADE)

Скинути конфігурацію MMP і повторно запустити ордери MMP

POST /eapi/v1/mmpReset (HMAC SHA256)

Set Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)

Ця кінцева точка відповідає за параметри функції автоматичного скасування. Якщо не буде надіслано жодного heartbeat-повідомлення, будуть скасовані всі відкриті ордери (ордери з MMP або без MMP) символу базового активу наприкінці зазначеного періоду зворотного відліку. Після періоду зворотного відліку всі відкриті ордери будуть скасовані. Нові ордери відхилятимуться з кодом помилки -2010, доки не буде надіслано heartbeat-повідомлення або не буде вимкнено функцію автоматичного скасування шляхом встановлення значення 0 для countdownTime.

POST /eapi/v1/countdownCancelAll (HMAC SHA256)  

Get Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)

Ця кінцева точка повертає параметри автоматичного скасування для кожного символу базового активу. Зауважте, що буде повернуто лише активні параметри автоматичного скасування. Якщо для параметра countdownTime встановлено значення 0 (тобто countdownTime вимкнено), зворотна відповідь не буде містити символ базового активу й відповідний параметр countdownTime.

GET /eapi/v1/countdownCancelAll (HMAC SHA256) 

Auto-Cancel All Open Orders (Kill-Switch) Heartbeat (TRADE)

Ця кінцева точка скидає час, з якого почнеться зворотний відлік до моменту отримання цього повідомлення. Воно повторюється багаторазово та регулярно у вигляді heartbeats-повідомлень (з англ. "heartbeat" – серцебиття). Щоб оновити одразу кілька heartbeat-повідомлень, у параметрах базового активу можна встановити його символи у вигляді списку (за виключенням BTCUSDT і ETHUSDT).

POST /eapi/v1/countdownCancelAllHeartBeat (HMAC SHA256)

Зареєструйтесь зараз – отримайте повернення комісії за торгівлю на суму до 100 USDT (для верифікованих користувачів)