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

가상화폐 자동매매 봇 만들기 #3 - 업비트 API를 이용하여 가격 시세 조회하기(현재가, 시가, 종가, 최고가, 최저가), 파이썬 초보 스터디 노트

by 잇포에듀 2021. 6. 7.
반응형

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

업비트 API를 이용하여 가격 조회하기(현재가)

파이썬 초보 스터디 노트


 

지난 번에 업비트 API를 이용하여 업비트에서 거래되는 코인들의 마켓코드(티커 Ticker)를 조회해보았습니다. 

 

it4edu.tistory.com/159

 

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

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

it4edu.tistory.com


업비트 비트코인 시세 조회하기 (현재가, 시가, 종가, 최고가, 최저가)

이번 시간에는 내가 원하는 코인의 현재가를 조회해보도록 하겠습니다. 업비트 개발자 센터(docs.upbit.com/reference)에 들어가서 API 레퍼런스를 살펴보면 Quotation API에 시세 Ticker 조회 부분이 있습니다. 간단한 API 호출 예시와 parameter, response 등이 표시되어 있군요. 예시로 제시된 코드를 활용하여 현재가를 조회해보겠습니다.

 

VSCode에 복사해 붙여넣어보았습니다.

 

import requests

url = "https://api.upbit.com/v1/ticker"

response = requests.request("GET", url)

print(response.text)

 

그런데!!!

 

{"error":{"name":400,"message":"Missing request parameter error. Check the required parameters!"}}

이런 에러 메시지와 함께 실행이 되지 않네요. 매개변수(parameter)가 없다는 것 같아요. 그래서 사이트 화면 아래쪽을 보니 매개변수에 대한 설명이 나와있는 걸 찾을 수 있습니다.

 

 

markets 라는 매개변수가 입력되어야 한다는 것을 알 수 있네요. 그리고 더 자세히 보니 오른쪽이 네모칸이 보입니다. 여기에 매개변수 예시를 적어보았습니다.

 

그랬더니 소스코드도 매개변수가 입력된 형태로 변경되었습니다. 오!

 

import requests

url = "https://api.upbit.com/v1/ticker"

querystring = {"markets":"KRW-BTC"}

response = requests.request("GET", url, params=querystring)

print(response.text)

 

이 코드를 입력해서 실행을 해 보았습니다. 실행 결과는 아래와 같습니다.

 

각각의 키(key)에 대한 설명은 사이트에 자세히 나와 있습니다.

 

 

이 키들 중에 비트코인의 현재가 정보를 얻어오기 위해 trade_price (종가) 키를 사용해보았습니다.

 

import requests
import json

url = "https://api.upbit.com/v1/ticker"

querystring = {"markets":"KRW-BTC"}

response = requests.request("GET", url, params=querystring)

res_json = response.json()

print(res_json[0]['trade_price'])

 

결과는 아래와 같습니다.

 

 

시간 차를 두고 여러번 실행해 보았더니 가격이 그 때 그 때 달라지는 걸 확인할 수 있습니다. 딕셔너리의 키 값들을 활용하면 시가(opening_price), 전일 종가(prev_closing_price), 고가(high_price), 저가(low_price) 등도 확인할 수 있습니다.

 

import requests
import json

url = "https://api.upbit.com/v1/ticker"

querystring = {"markets":"KRW-BTC"}

response = requests.request("GET", url, params=querystring)

res_json = response.json()

print(res_json[0]['market'], "의 현재가는 ", res_json[0]['trade_price'], "원 입니다.")
print(res_json[0]['market'], "의 오늘 시가는 ", res_json[0]['opening_price'], "원 입니다.")
print(res_json[0]['market'], "의 전일 종가는 ", res_json[0]['prev_closing_price'], "원 입니다.")
print(res_json[0]['market'], "의 최고가는 ", res_json[0]['high_price'], "원 입니다.")
print(res_json[0]['market'], "의 최저가는 ", res_json[0]['low_price'], "원 입니다.")

 

휴=3 이렇게 간단하게 업비트 API를 활용하여 비트코인의 가격 정보를 불러와보았습니다. 이걸 함수로 만들어서 현재가를 불러오게 만들면 이후 코딩할 때 조금 더 구조적으로 코드를 만들 수 있을 것 같네요. 다음에는 함수 형태로 수정해봐야겠어요. 힘들어서 오늘은 여기까지! 


스터디 참고 도서

bit.ly/3sEd3sf

 

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

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

www.yes24.com

 


 

반응형

댓글