본문 바로가기
가상화폐 퀀트 전략

API를 이용해 비트코인 시세 가져오기 - pybithumb

by TenMillionQuant 2022. 3. 14.

가상화폐 퀀트 전략 시작을 위해 API를 통해 가상화폐 시세 및 가격을 가져오는 방법을 실습해보자

가상화폐 데이터를 가져오기 위해선 주로 API를 사용한다. 가장 많이 사용하는 API가 빗썸업비트이다. 이번 글에선

에서 제공하는 API를 사용해서 비트코인 시세 데이터를 가져와보자. 

 

pybithumb

빗썸에서는 private API(공개 API)와 public API(회원 API)를 제공한다. 빗썸 API를 사용하려면 API개발 가이드를 보고 파

이썬으로 직접 구현해야 하는데, 시세 데이터만 보려고 하는데 여간 귀찮은 일이 아니다. 그래서 파이썬에서 간단한 데이

터를 조회하기 위해서 만든 Pybithumb을 실습해보자.

 

pybithumb github페이지에서도 자세한 내용을 볼 수 있다

https://github.com/sharebook-kr/pybithumb

 

GitHub - sharebook-kr/pybithumb: python wrapper for bithumb API

python wrapper for bithumb API . Contribute to sharebook-kr/pybithumb development by creating an account on GitHub.

github.com

 

pybithumb실습
In [21]:
from IPython.core.display import display, HTML

display(HTML("<style>.container { width:90% !important; }</style>"))

#창 맞추기위함

먼저, pybithumb을 다운로드한다.

In [ ]:
!pip install pybithumb

그리고 해당 라이브러리를 가져온다.

In [8]:
import pybithumb

이제, 암호화폐 ticker의 목록을 가져와보자. 암호화폐 ticker중에서 10개만 출력하자

In [10]:
print(pybithumb.get_tickers()[:10])
['BTC', 'ETH', 'LTC', 'ETC', 'XRP', 'BCH', 'QTUM', 'BTG', 'EOS', 'ICX']

최근 체결가격 데이터 가져오기

get_current_price() 함수를 통해 ticker의 최근 체결 가격을 가져온다

In [16]:
print("BTC", pybithumb.get_current_price("BTC")) #Bitcoin의 최근 체결 가격 데이터를 가져온다
BTC 48408000.0

시세 데이터 가져오기

get_ohlcv() 함수를 사용해 ticker의 과거 시초가(open), 최고가(high), 최저가(low), 종가(close) 그리고 수량(volume)을 볼 수 있다

In [14]:
pybithumb.get_ohlcv("BTC")[:10]
Out[14]:
open high low close volume
time
2013-12-27 737000.0 755000.0 737000.0 755000.0 3.780000
2013-12-28 750000.0 750000.0 750000.0 750000.0 12.000000
2013-12-29 750000.0 750000.0 728000.0 739000.0 19.058000
2013-12-30 740000.0 772000.0 740000.0 768000.0 9.488973
2013-12-31 768000.0 800000.0 763000.0 768000.0 18.650350
2014-01-01 768000.0 795000.0 765000.0 777000.0 65.380334
2014-01-02 776000.0 788000.0 773000.0 778000.0 83.203978
2014-01-03 778000.0 840000.0 774000.0 834000.0 124.330292
2014-01-04 831000.0 846000.0 819000.0 846000.0 107.757047
2014-01-05 846000.0 925000.0 845000.0 925000.0 140.709794
In [ ]:
 

댓글