Binance Options: интерфейс API и WebSocket

2022-09-08 09:41

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

1. Конечные точки рыночных данных

Ссылка на сайт Github для каждого запроса обеспечивает доступ к соответствующим весовым значениям, параметрам и ответам конечных точек. 

Запрос

Описание

Конечная точка и дополнительные данные

Test Connectivity

Проверить возможность соединения с API REST

GET /eapi/v1/ping

Check Server Time

Проверить возможность соединения с API REST и получить текущее время сервера

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 или без нее) тикера базового актива к концу заданного периода обратного отсчета. По его завершении все открытые ордера отменяются. Новые ордера отклоняются с кодом ошибки -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)

Эта конечная точка отвечает за сброс времени, с которого начинается обратный отсчет, до момента получения этого сообщения. Оно повторяется многократно в виде heartbeat-сообщений. Чтобы обновить сразу несколько сообщений, в базовом параметре можно задать тикеры базовых активов в виде списка (за исключением BTCUSDT и ETHUSDT).

POST /eapi/v1/countdownCancelAllHeartBeat (HMAC SHA256)

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