WebSocket을 사용한 실시간 금융 데이터 스트리밍

이 짧은 기사는 5분 이내에 주식, 외환 및 암호 시세를 받기 시작하는 방법에 대한 자습서의 부족을 다루기 위해 작성되었습니다. 우리는 주로 Python 구현에 초점을 맞출 것이지만 동일한 논리를 다른 언어로 쉽게 확장할 수 있습니다.

WebSocket은 차트 애플리케이션, 포트폴리오 관리 및 알고리즘 거래 시스템과 같이 정확한 실시간 데이터에 의존하는 앱의 중요한 부분일 수 있습니다.

준비



서비스Twelve Data를 사용하게 됩니다. WebSocketsusage에 적합하도록 API 키를 업그레이드했는지 확인하십시오.

Python 사용자의 경우 라이브러리 pip install twelvedata - GitHub 를 설치하십시오.

파이썬



먼저 새 데이터를 수신할 때 사용할 함수를 정의합니다.

def on_event(e):
    print(e)

이 기능은 논리에 따라 가격 업데이트, 레코드 업데이트, 변경 사항 표시 등의 연속 작업을 수행해야 합니다.

Remember that all data received is in json format or to be more precise a dict object.



메인 블록은 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은 다음 메서드를 지원합니다.subscribe - 포함할 새 심볼.unsubscribe - 구독에서 이전 기호를 제거합니다.reset - 모든 기호를 구독 취소합니다.connect - 서버와의 새 연결을 엽니다.disconnect - 서버와의 기존 연결을 닫습니다.keep_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}

Do not forget about market open hours, for instance over the weekends only crypto markets are opened.





평균 대기 시간은 약 ~150ms이므로 데이터를 안정적으로 사용하고 모든 용도에 적용할 수 있습니다. 또한 단일 형식을 사용하면 다양한 유형의 자산에서 데이터를 유연하게 스트리밍할 수 있습니다.
이제 애플리케이션에 쉽게 사용할 수 있습니다. 차트.

좋은 웹페이지 즐겨찾기