아래는 지난 글인 캔들 데이터 조회입니다.
2023.01.06 - [파이썬/가상화폐] - Python 바이낸스 거래소 선물자동매매 개발 가이드 ep5.캔들 데이터 조회
호가 조회 API는 현재 호가창에서 최고매수호가, 최고매도호가 및 대기주문수량을 얻어오며 본 프로젝트는 호가창 정보를 조회해 포지션 오픈/종료시 주문 접수 가격으로 사용할 예정입니다.
아래는 웹브라우저에서 확인한 Binance 호가창의 모습입니다.
이에 대해 간단히 설명하면, 위 호가창에서 현재 체결가격이 16803.0 USDT이고 현재가 바로 위에 매도호가영역 중 16803.0이 최고매도호가(현재 제일 높은 매도호가, best ask price)이며 현재가 아래 영역 중 16802.9이 최고매수호가(현재 제일 높은 매수호가, best bid price)를 의미합니다.
이 정보를 가져오는 샘플 코드는 링크에 있으며 바로 사용해보도록 하겠습니다.
main.py
import logging
from binance.um_futures import UMFutures
from binance.lib.utils import config_logging
config_logging(logging, logging.DEBUG)
um_futures_client = UMFutures()
logging.info(um_futures_client.book_ticker("BTCUSDT"))
실행결과는 다음과 같습니다.
잘 안 보이실 수 있어 조회결과만 놓고 살펴보겠습니다.
응답 결과는 간결하며 특징은 호가창에 전체 정보를 가져오는 것이 아니라 최고매수/매도호가만 하나씩 가져옵니다.
{'symbol': 'BTCUSDT', 'bidPrice': '16800.10', 'bidQty': '12.033', 'askPrice': '16800.20', 'askQty': '23.596', 'time': 1670404950049}
위 결과에서 ‘bidPrice’는 최고매수호가, ‘bidQty’는 매수주문량을 의미하며 반대로 ‘askPrice’는 최고매도호가, ‘askQty’는 매도주문량을 의미합니다.
이렇게 가격(캔들, 호가) 조회 방법까지 알아봤지만 약간의 맹점이 있습니다.
바로 이렇게 조회한 데이터가 최신이 아닐 수 있다는 점입니다.
그 이유는 API 호출은 다음과 같은 프로세스로 이루어지기 때문입니다.
1.사용자(Client) > Python 프로그램(API를 이용한 데이터 요청)
2.거래소 > 사용자(Client)의 요청수신 > 데이터 전달 > Python 프로그램(데이터수신)
즉, 사용자가 요청을 보내고 나서 API 서버로부터의 응답을 기다리는 사이에 가격이나 호가가 충분히 변경될 수 있습니다.
물론 가격을 조회하는 코드를 실행해보면 금방 응답이 오기 때문에 일반적인 경우 응답을 주고 받는 사이에 데이터 변경의 폭이 크지 않아 프로그램을 운영하는데 큰 문제가 될 정도는 아닙니다. (지표발표 및 긴급 이슈로 인한 급등락 발생시에는 큰 차이가 발생할 수 있습니다.)
이에 대한 대안으로는 데이터를 주고 받는 측끼리 서로 연결한 뒤 이후부터 별 다른 요청없이도 계속해서 최신 데이터를 전송해주는 Websocket을 사용하는 방법이 있습니다. 이 방법은 앞으로 온오프라인 강의에서 진행할 예정이라 본 프로젝트를 진행하는 현재로서는 약간의 빈틈이 있다는 정도로만 알고 넘어가셔도 충분합니다.
같이 읽어보면 좋은 글
2022.12.27 - [파이썬/가상화폐] - [전자책] 바이낸스 코인선물자동매매 시스템 개발 방법을 담은 책이 출시되었습니다.
2022.11.05 - [파이썬/가상화폐] - [공지] 코인거래소별 프리미엄 체크봇 개발 가이드와 풀소스 전자책 | binance bybit | 업비트 김치프리미엄
'파이썬 > 가상화폐' 카테고리의 다른 글
Python 바이낸스 거래소 선물자동매매 개발 가이드 ep8.주문취소 (0) | 2023.01.17 |
---|---|
Python 바이낸스 거래소 선물자동매매 개발 가이드 ep7.주문접수 (2) | 2023.01.16 |
Python 바이낸스 거래소 선물자동매매 개발 가이드 ep5.캔들 데이터 조회 (0) | 2023.01.06 |
Python 바이낸스 거래소 선물자동매매 개발 가이드 ep4.잔고 포지션 조회 (0) | 2023.01.05 |
비트코인 강세장 주기와 프로그래밍을 배워둬야 하는 이유 (2) | 2023.01.02 |
댓글