차트를 가져오는 방법은 크게 두가지가 있습니다.
CCXT라는 가상화폐 거래소의 API를 단일한 인터페이스로 제공하는 오픈소스 라이브러리를 활용하는 것.
바이낸스에서 제공되는 API를 직접 요청하는 것.
우선 CCXT를 활용하는 방법입니다.
import ccxt
import pprint
Futures_binance = ccxt.binance(config={
'options': {
'defaultType': 'future'
}
})
BTC_Chart = Futures_binance.fetch_ohlcv(
symbol="BTCUSDT",
timeframe='1m',
limit=20)
pprint.pprint(BTC_Chart)
CCXT를 통해 받은 차트 데이터는 리스트 형태입니다.
[[1732140660000, 94317.7, 94317.8, 94310.0, 94310.1, 25.388],
[1732140720000, 94310.0, 94347.3, 94310.0, 94342.9, 29.979],
[1732140780000, 94342.8, 94404.0, 94342.8, 94389.2, 82.209],
[1732140840000, 94389.1, 94389.2, 94342.8, 94342.9, 36.86],
...
]
[ 캔들의 시작 시간, 시가, 고가, 저가, 종가, 거래량 ] 순서입니다.
함수의 이름을 보면 fetch_ohlcv는 open, high, low, close, volume 의 약자입니다
symbol : 변경한다면 "ETHUSDT"처럼 다른 코인의 심볼을 넣어주면 됩니다.
timeframe : 차트의 단위입니다.
사용되는 규격은 1m, 3m, 5m, 15m, 30m, 1h, 4h, 1d 등이 있습니다.
limit : 불러올 캔들의 개수입니다.
1회 최대 1000개까지 가능하며, 그외에 규격은 없습니다. ( 1~1000 아무 숫자)
다음은 바이낸스의 API를 직접 불러오는 코드입니다.
import pprint
import requests
symbol = 'BTCUSDT'
interval = '1m'
limit = '20'
url = f'https://fapi.binance.com/fapi/v1/klines?symbol={symbol}&interval={interval}&limit={limit}'
data = requests.get(url).json()
pprint.pprint(data)
Kline/Candlestick Data – Binance API Documentation (binance-docs.github.io)
[[1732142520000, # 캔들 시작 시간
'94027.00', # 시가
'94080.00', # 고가
'94014.80', # 저가
'94022.50', # 종가
'76.221', # 거래량
1732142579999, # 캔들 종료 시간
'7168343.68960', # 거래 대금
1726, # 거래 횟수
'31.218', # Taker가 매수한 거래량
'2935842.90590', # Taker가 매수한 거래대금
'0'],
시간에 관한 것 외엔 전부 문자열로 데이터를 받게 됩니다.
float으로 형변환을 해야 합니다.
대신 장점은 거래대금 및 Taker가 매수한 수량, 대금을 볼 수 있습니다.
거래대금은 여러 종목을 다룰 때 종종 편리하게 사용합니다.
'파이썬 > 바이낸스 선물 API' 카테고리의 다른 글
[선물 API] 주문 넣기, 취소하기 (0) | 2024.11.21 |
---|---|
[선물 API] 바이낸스 선물 레버리지 배율 변경 (0) | 2024.11.21 |
[선물 API] 유통 공급량을 이용한 시총 계산 (0) | 2024.01.31 |
[선물API] 계좌 정보 불러오기 (0) | 2023.06.22 |
[선물 API] 여러개 주문 동시에 넣기 (0) | 2023.06.17 |