-
파이썬으로 코인 자동매매 프로그램 만들기 - 4: 코인의 현재가와 호가코딩/Python 2021. 3. 5. 21:23
첫글 파이썬으로 코인 자동매매 프로그램 만들기 - 1 : 업비트에서 API 불러오기
이전글 파이썬으로 코인 자동매매 프로그램 만들기 - 3: pyupbit로 시세 가져오기
다음글 파이썬으로 코인 자동매매 프로그램 만들기 - 5: API키 발급받기, 잔고 확인하기
제가 올린 포스팅들을 보니까 글체도 너무 딱딱하고 보기도 재미없어 보이더라고요.. 그래서 말투를 조금 부드럽게 하면 좋을 것 같아서 이제 존댓말로 올리겠습니다 ㅎㅎ
pyupbit로 코인의 과거 가격정보도 중요하지만, 아마 투자자가 가장 중요하게 생각하는건 현재가격이 아닐까 생각합니다. 과거 가격을 비교하는 것도 결국 현재가격이 어느정도에 있는지 파악하고, 미래가격을 예측하기 위함이니까요. 미래가격은 앞으로 알아볼 여러 기술적분석, 투자전략들로 예측하는 걸로 하고, 지금은 현재가격이 얼마인지, 위아래로 호가가 얼마나 형성되어있는지 파악하는걸 목표로 합시다!
파이스탁에서 만든 pyupbit모듈을 사용하면 쉽게 현재가와 호가를 가져올 수 있습니다.
현재가 정보
pyupbit 모듈에서 get_current_price() 메소드를 사용하면 현재가 정보를 알 수 있습니다.
import pyupbit price = pyupbit.get_current_price("KRW-BTC") print(price)
get_current_price 메소드에 비트코인의 종목코드 값을 줘서 현재 비트코인의 가격을 얻은 걸 확인할 수 있습니다.
get_current_price는 리스트 값도 받아올 수 있어서 여러 코인의 가격도 한번에 불러올 수 있습니다.
리스트에 비트코인과 이더리움의 종목코드를 입력하고 메소드 값으로 줘보겠습니다.
import pyupbit tickers = ["KRW-BTC", "KRW-ETH"] price = pyupbit.get_current_price(tickers) print(price)
딕셔너리 형태로 보기 편하게 값을 불러온 것을 볼 수 있습니다.
이번엔 저번에 배웠던 내용을 응용해서 비트코인 60분 간격의 분봉과 현재가를 같이 불러와 보겠습니다.
(아까 전보다 시간이 흘러 가격이 조금 변했습니다.)
import pyupbit df = pyupbit.get_ohlcv(ticker="KRW-BTC", interval="minute60", count=12) price = pyupbit.get_current_price("KRW-BTC") print(df[["close", "volume"]]) print(f"Now price is: {price}")
저번에 배웠던 get_ohlcv 메소드로 12시간 동안의 종가와 거래량만 불러왔고, 현재의 가격을 따로 표시했습니다.
12시간동안 코인치고 변화가 크게 없었던 것 처럼 보이는데요... 종가의 변동량을 따로 구해서 데이터프레임에 추가하고 같이 보겠습니다. 여러분들도 한번 직접 해보시고 그 다음에 다음 내용을 보시면 좋을 것 같습니다.
import pyupbit df = pyupbit.get_ohlcv(ticker="KRW-BTC", interval="minute60", count=12) price = pyupbit.get_current_price("KRW-BTC") var = ["var"] varPercent = ["var %"] for i, v in enumerate(df["close"][1:]): var.append(v - df["close"][i]) varPercent.append(f'{round((v / df["close"][i] - 1) * 100, 4)}%') df["var"] = var df["var %"] = varPercent print(df[["close", "volume", "var", "var %"]]) print(f"Now price is: {price}")
코인 가격의 변동량을 나타내는 var과 변동량을 백분율로 나타낸 varPercent리스트를 넣고 데이터프레임에 집어넣었습니다. 이렇게 보니까 실제로 코인이 어느정도로 변화했는지 잘 보이네요. 시간 당 많으면 1% 정도 움직였는데 요새 장치곤 매우 안정적인 변화죠.
그런데 오늘 오전 9시에 거래량이 많았는데 어떤 변화였던걸까요? 한 시간 더 구해봅시다.
역시나 거래량이 많은 이유가 있었네요.
호가 구하기
다음은 호가 입니다. pyupbit 모듈의 get_orderbook 메소드는 입력한 종목코드의 현재 호가를 딕셔너리 형태로 보여줍니다.
import pyupbit import pprint orderbooks = pyupbit.get_orderbook('KRW-BTC') pprint.pprint(orderbooks)
매수, 매도 1호가부터 쭉 불러온 모습을 볼 수 있습니다. 이렇게 쭉 나열되있기만 하니 보기가 불편합니다. 어차피 저희가 알려는 현재가격은 아까 구했으니까 모든 호가의 가격을 불러올 필요는 없습니다.
저희가 호가를 보고 알고자 하는건 지금 매수물량이 많은지, 매도물량이 많은지 보는거니까요. 매수물량과 매도물량의 합을 각각 구해봅시다.지금 저희가 불러온 호가는 잘 보시면 리스트로 감싸져 있습니다. 각 딕셔너리에 입력된 물량(size)의 합을 구하고 매수물량, 매도물량의 합을 구하기 위해서는 리스트를 벗겨내야 합니다.
orderbooks의 값에 [0]을 줘서 리스트를 벗겨내고, 각 딕셔너리의 물량의 합을 구해서 출력했습니다. 매도호가의 물량이 3배정도 더 많은 것을 확인할 수 있습니다.
여기까지 pyupbit 모듈을 이용해 현재가와 호가를 불러왔습니다. 다음은 업비트 API에 권한을 얻고 자동으로 로그인하는 법을 알아보겠습니다.
참고한 동영상
www.youtube.com/watch?v=qy28tx12PbU&list=PLNPt2ycoheHrJBpCkpE2h4OBR8oxYyU3p&index=9&t=160s
반응형'코딩 > Python' 카테고리의 다른 글
파이썬으로 코인 자동매매 프로그램 만들기 - 6: 지정가, 시장가 주문하기, 주문 취소하기 (1) 2021.04.30 파이썬으로 코인 자동매매 프로그램 만들기 - 5: API키 발급받기, 잔고 확인하기 (0) 2021.03.14 파이썬으로 코인 자동매매 프로그램 만들기 - 3: pyupbit로 시세 가져오기 (2) 2021.02.28 파이썬으로 코인 자동매매 프로그램 만들기 - 2 : pyupbit 모듈 설치, 사용하기 (2) 2021.02.25 파이썬으로 코인 자동매매 프로그램 만들기 - 1 : 업비트에서 API 불러오기 (0) 2021.02.10