IT | 프로그래밍

[python] 시스템트레이딩 자동매매 비트코인 가격 데이터 가져오기 (스크레이핑) 사전조사 업비트 API

MINT_NAVY 2020. 12. 12. 00:18
반응형

아직 가상화폐거래소 아이디를 만들지는 않았지만

앞으로 만들 코인자동매매봇의 다양한 백테스트를 위해

가격데이터가 필요했습니다.

 

일단은 백테스트 목적이기 때문에 굳이 거래소 api가

필요하지 않았기 때문에 늘 그랬듯이 웹에서 스크레이핑하면

되겠거니 생각했지만...

 

일봉 데이터면 충분히 할 수 있었지만

(일봉 데이터는 아래 페이지에서 쉽게 데이터를 구할 수 있습니다.)

coinmarketcap.com/

 

Cryptocurrency Prices, Charts And Market Capitalizations | CoinMarketCap

Top cryptocurrency prices and charts, listed by market capitalization. Free access to current and historic data for Bitcoin and thousands of altcoins.

coinmarketcap.com

저는 분봉 데이터가 필요했기 때문에

편하게 가려면 거래소 api가 필요했습니다.

 

#

 

업비트 UI가 제일 친숙해서 업비트 데이터를 가져와볼까 했습니다.

그런데 우리나라 블로그 글들은 모두가 다 마치 복붙이라도 한듯

endpoint가 들어간 요청 url뿐이었습니다.

(아마도 선구자 한 분의 소스를 다들 복사했나 봅니다)

 

endpoint가 들어간 url로 요청하면 데이터는 잘 가져옵니다.

하지만 이 url 만으로는 한계가 있었고 api 공식페이지에는

endpoint에 관한 url은 없었습니다.

 

업비트 공식 api 레퍼런스 링크입니다.

docs.upbit.com/reference

 

업비트 개발자 센터

업비트 Open API 사용을 위한 개발 문서를 제공 합니다.업비트 Open API 사용하여 다양한 앱과 프로그램을 제작해보세요.

docs.upbit.com

레퍼런스만 봤을 때 파이썬 패키지로 제공되는 pyupbit는

업비트에서 공식지원하는 것은 아니고 누군가 수고해주신

라이브러리인 것 같았습니다.

 

pyupbit를 그대로 가져다 써도 원하는 결과가

나오진 않았습니다만 소스를 응용해보려고 합니다.

 

업비트에서는 요청 1건당 최대 200개 데이터만 주고 있습니다.

요청 url에 파라미터로 들어가는 시간은 utc 형식이라

utc 연월일 시분초 데이터를 한국시간 연월일 시분초로

바꾸는 계산도 필요한 것으로 보입니다.

 

정말 기본적인 것만 제공해주고...

api가 그다지 친절하지 않은 것 같습니다.

api 공개를 억지로 해준다는 느낌이 드네요 아쉽습니다 ㅠㅠ

 

평일엔 퇴근하고 지쳐서 부지런히 코딩을 할 수 있을지

모르겠습니다. 시간이 좀 걸리더라도 캔들 데이터를

가져오는 것부터 시작해야겠습니다.

 

(공식 api가 어느 날 갑자기 확 바뀌어있지 않길...ㅠㅠ)

반응형