바이낸스 차트를 DataFrame으로 출력하자
바이낸스 차트를 DataFrame으로 출력하려면,
먼저 바이낸스에서 제공하는 모듈을 설치하자
pip install ccxt 를 하면 설치가 된다.
그리고 바이낸스에서 제공하는 티커를 확인하자.
import ccxt import pandas as pd import numpy as np binance=ccxt.binance()
# 바이낸스의 거래 정보를 가져온다 markets = binance.fetch_tickers()
# 바이낸스 등록 코인 티커를 Dict 로 가져온다
여기서 markets 변수의 keys() 명령어를 입력하면 현재 거래되고 있는 티커들을 볼 수 있다.
비트코인 티커는 BTC/USDT 다.
fetch_ohlcv() 에 티커 정보를 전달하면 ohlcv 차트를 제공하는데 재작업이 필요하다
binance.fetch_ohlcv(“BTC/USDT”) #비트코인 ohlcv 차트
그래서 이렇게 코드를 변경하면 예쁜 차트를 얻을 수 있다
#timeframe을 1d 로하면 일봉 차트를 얻을 수 있다. 1h, 2h, 4h 등 편하게 입력할 수 있다
waves = binance.fetch_ohlcv(symbol=“BTC/USDT”, timeframe=‘1h’, since=None, limit=200)
df=pd.DataFrame(waves, columns=[‘datetime’,‘open’,‘high’,‘low’,‘close’,‘volume’])
df[‘datetime’]=pd.to_datetime(df[‘datetime’], unit=‘ms’)
df.set_index(‘datetime’, inplace=True) df #엔터
바이낸스 API를 이용해 비트코인 (USDT) OHLCV 차트를 판다스 DataFrame으로 보기 좋게 변형시켰다.
코드들을 함수로 묶으면 나중에 유지보수나 사용하기가 편리하다.
아래가 그 결과다.
(단, 최대한 간결하고 가독성을 좋게했을 때나 가능하다)
def binance_ohlcv(coin): “”“티커를 입력하면 바이낸스에서 ohlcv 차트 반환”“” binance=ccxt.binance() ohlcvs = binance.fetch_ohlcv(coin) waves = binance.fetch_ohlcv(symbol=coin, timeframe=‘1h’, since=None, limit=200) df=pd.DataFrame(waves, columns=[‘datetime’,‘open’,‘high’,‘low’,‘close’,‘volume’]) df[‘datetime’]=pd.to_datetime(df[‘datetime’], unit=‘ms’) df.set_index(‘datetime’, inplace=True) return df
함수 사용 결과
잘 쓰세용~
추천하는 글