본문 바로가기
파이썬 스터디/가상화폐 자동매매

가상화폐 자동매매 봇 만들기 #2 - 업비트 API를 이용하여 마켓코드(티커 Ticker) 목록 얻어오기, 파이썬 초보 스터디 노트

by 잇포에듀 2021. 4. 26.
반응형

가상화폐 자동매매 봇 만들기 #2

업비트 API를 이용하여 마켓코드(티커 Ticker) 목록 얻어오기

파이썬 초보 스터디 노트


 

 

비트코인 가상화폐 자동투자 프로그램 만들기를 드디어 시작해봅니다. 오늘은 업비트에서 제공하는 API를 활용하여 몇 가지 정보들을 가져와보겠습니다.

 

 

업비트 API 사용하기

업비트는 두나무 주식회사에서 운영 중인 가상화폐 거래소입니다. 카카오 계정만 있으면 쉽게 가입할 수 있습니다. 업비트 사이트에 들어가서 고객센터 > Open API 안내로 들어가보겠습니다.

 

www.upbit.com/service_center/open_api_guide 

 

업비트 개발자 센터를 선택하고 API Reference(docs.upbit.com/reference)에 들어가면 업비트에서 제공하는 기본 API 들에 대한 문서를 확인할 수 있습니다.

 

 

EXCHANGE API 는 내 계좌 잔고 조회나, 주문, 입출금 같은 정보를 주고 받기 때문에 회원 가입과 인증키(Open API Key)를 발급받아야 합니다. 그리고 QUOTATION API는 시세 종목 조회, 캔들, 체결. Ticker 조회 등을 할 수 있는데 이건 인증키 없이 바로 사용이 가능합니다.

 

일단 저는 간단하게 API를 사용해보는 것이 오늘의 목표이기 때문에 회원가입 없이 QUOTATION API를 사용해보겠습니다.

 

 

업비트 API로 티커 조회해보기

거래소에서 가상화폐를 사고팔기 위해서는 가상화폐들의 티커가 필요합니다. 같은 가상화폐라도 거래소마다 티커가 다를 수 있기 때문에 거래소별로 티커를 얻어와야 합니다. 업비트에서 티커를 얻어오기 위해 API를 참조하여 아래와 같이 코드를 작성해보았습니다.

import requests

url = "https://api.upbit.com/v1/market/all"
resp = requests.get(url)
data = resp.json()

print(data)

 

아래는 업비트에서 마켓 정보를 제공하는 api URL입니다. 

 

https://api.upbit.com/v1/market/all

 

이렇게 제공되는 정보들을 json으로 파싱하여 출력을 해봅니다.

 

리스트 안에 티커별로 딕셔너리들이 있는 것을 확인할 수 있습니다. 딕셔너리 안에는 다음과 같은 키(key)들이 있군요.

 

  • market 
  • korean_name
  • english_name

참고로 ModuleNotFoundError: No module named 'requests' 라는 에러 메시지와 함께 제대로 코드가 실행되지 않으면 requests 라이브러리를 설치해야 합니다.

 

> pip install requests

조금 더 응용하여 앞에서 받아온 딕셔너리들 중에서 market 정보만 불러와보겠습니다.

 

import requests

url = "https://api.upbit.com/v1/market/all"

resp = requests.get(url)
data = resp.json()


for coin in data:
    ticker = coin['market']
    print(ticker)

 


마지막으로 이렇게 받아온 정보들 중에서 원화로 거래되는 티커들만 출력해보겠습니다. 원화는 KRW로 시작을 합니다. startswith를 활용하여 KRW로 시작하는 티커들을 가져왔습니다.

 

import requests

url = "https://api.upbit.com/v1/market/all"

resp = requests.get(url)
data = resp.json()

krw_tickers = []

for coin in data:
    ticker = coin['market']

    if ticker.startswith("KRW"):
        krw_tickers.append(ticker)
        
print(krw_tickers)

 


 

startswith에 대해 궁금하시면 아래를 참고하실 수 있습니다.

 

it4edu.tistory.com/165

 

[Python 함수] 파이썬에서 특정 문자, 문자열 찾기(find, startswith, endswith)

파이썬 코딩을 하다가 문자열 안에서 특정 문자를 찾고싶거나, 특정문자로 시작하는 문자열, 특정문자로 끝이나는 문자열 등을 찾고 싶을 때가 있습니다. 이 때는 간단하게 find, startswith, endswith

it4edu.tistory.com


이렇게 오늘은 간단하게 업비트 API를 활용하여 마켓 정보를 불러와보았습니다. 다음에는 시세 정보를 불러와보면 좋을 것 같네요^^ 뭔가 재미가 느껴집니다. 끝까지 화이팅해보겠습니다!! 

 

 

스터디 참고 도서

bit.ly/3sEd3sf

 

파이썬을 이용한 비트코인 자동매매

『파이썬을 이용한 비트코인 자동매매』는 최근 인기 있는 프로그래밍 언어인 파이썬을 사용하여 국내 3대 거래소(코빗, 빗썸, 업비트) 및 국외 거래소(바이낸스)에서 비트코인을 자동매매하는

www.yes24.com

 

반응형

댓글