Рубрики
Без рубрики

Финансовые данные в реальном времени с использованием WebSockets

Эта короткая статья была написана, чтобы покрыть отсутствие любого учебника того, как просто начать получать STO … Теги с Python, наукой данных, учебником.

Эта короткая статья была написана, чтобы покрыть отсутствие любого учебника того, как просто начать получать акции, форекс и криптовые цитаты в течение 5 минут. Однако мы будем сосредоточены на реализации Python, однако та же логика может быть легко расширена на другие языки.

WebSockets может быть важнейшей частью приложений, которые полагаются на точные данные в режиме реального времени, такие как приложение диаграммы, управление портфелем и алгоритмические торговые системы.

Подготовка

Мы будем пользоваться услугой Двенадцать данных Отказ Убедитесь, что ваш ключ API обновлен, чтобы иметь право на Использование Websockets.

Для пользователей Python установите библиотеку PIP Установить TwelvedataGithub Отказ

Питон

Первые вещи сначала определяют функцию, которая будет использоваться при получении новых данных.

def on_event(e):
    print(e)

Эта функция должна выполнять любые последовательные действия в соответствии с вашей логикой: обновить цену, обновить запись, отобразить изменения и т. Д.

Помните, что все полученные данные в JSON формат или быть более точным Дикт объект.

Основной блок должен инициализировать TDClient Объект и выполнить последовательное подключение к серверу.

from twelvedata import TDClient

td = TDClient('your_api_key')

ws = td.websocket(symbols=['BTC/USD', 'AAPL', 'EUR/USD'], on_event=on_event)
ws.connect()
ws.keep_alive()

Websocket поддерживает следующие методы: Подписаться – Новые символы будут включены. Отписаться – Удалите старые символы из подписки. Сброс – Отписаться от всех символов. соединить – Откройте новое соединение с сервером. Отключить – Закройте существующее соединение с сервером. stear_alive – запустить бесконечную петлю, чтобы получить все данные.

Ответ

В ответ вы получите объект с базовой метаинформацией, ценой галочки и ежедневным объемом. Например:

{'event': 'price', 'symbol': 'BTC/USD', 'currency_base': 'Bitcoin', 'currency_quote': 'US Dollar', 'exchange': 'Binance', 'type': 'Digital Currency', 'timestamp': 1600595462, 'price': 10964.8, 'day_volume': 38279}

Не забывайте о открытых часах рынка, например, в выходные дни только Crypto Markets открываются.

Средняя задержка составляет около ~ 150 мс, что делает данные надежными и применимы к любому использованию. Кроме того, единый формат позволяет гибкости в потоковых данных по сравнению с различными типами активов. Теперь вы можете легко использовать его для вашего приложения, например, график.

Оригинал: “https://dev.to/midassss/real-time-financial-data-streaming-using-websockets-4phb”