본문 바로가기
자동매매 프로그래밍/업비트

[업비트/자동매매] Python으로 쉽게 거래대금 높은 코인 불러오기 : 거래할 코인을 정해보자

by me_in_sk 2023. 5. 23.
반응형

 

 

이번 포스팅에서는 거래대금이 높은 순으로 코인을 정렬하여 매매할 코인을 정해 보자. 이번 포스팅에서 우리가 구하고자 하는 것들은 pyupbit 모듈을 통해 쉽게 구할 수 있으니 해당 모듈이 설치되어 있지 않다면 아래의 포스팅에 나와 있는 코드를 통해 설치하고 오길 바란다.

 

 

[업비트/자동매매] Python으로 쉽게 하는 매수/매도 : 비트코인 자동매매 프로그램 만들기

 

[업비트/자동매매] Python으로 쉽게 하는 매수/매도 : 비트코인 자동매매 프로그램 만들기

자동매매 프로그램을 만드는 것에 있어 가장 기초 중의 기초는 매수와 매도를 하는 것이다. 이번 포스팅에서는 업비트 거래소에서 제공해주는 Open API를 이용하여 Python을 통해 매수·매도하는 방

me-in-journey.com


 

 

거래대금은 해당 코인의 일정 기간 거래된 거래량과 가격을 곱한 값으로, 거래대금이 많은 코인은 상대적으로 유동성이 높고, 변동성이 낮아 안정적인 투자를 기대할 수 있는 요소이다. 이는 퀀트로 투자하는 비중이 높은 코인 투자에서 더욱더 유용하게 사용되며, 이를 구하기 위해서는 업비트 거래소에서 모든 코인을 불러와 줄 필요가 있다.

 

 

모든 코인을 불러와 보자

import pyupbit


tickers = pyupbit.get_tickers("KRW")	# KRW를 통해 거래되는 코인만 불러오기

 

모든 코인의 티커를 tickers에 저장하였다. 다음으로 각각의 티커의 거래대금을 구해주자. 이때, 우리는 갑자기 거래량이 급상승하여 변동성이 높은 위험한 코인을 피하기 위해 7일간의 거래대금 합을 구해줄 것이다. 이를 응용하여 빠른 기간 내에 단타를 하고 싶다면, 하루 동안의 거래대금이 가장 높은 코인을 구하여 매매를 할 수 있다.

 

 

7일간의 거래대금 합을 구해보자

dic_ticker = {}

for ticker in tickers:
    df = pyupbit.get_ohlcv(ticker, 'day')	# 'day' 기간의 거래대금을 구해준다
    volume_money = 0.0  
    for i in range(1, 8):
        volume_money += df['close'][-i] * df['volume'][-i]  

    dic_ticker[ticker] = volume_money
    print(ticker, dic_ticker[ticker])

 

실행 결과

거래대금-코인
티커와 거래대금

 

이제 거래대금이 놓은 순서대로 정렬한 후, 내가 거래하고 싶은 코인의 개수만큼 가져오기만 하면 다양한 전략에 활용할 수 있는 코인을 구할 수 있다.

정렬해야 할 자료의 형태가 딕셔너리이므로 value를 이용하여 key를 정렬해보자.

 

 

거래대금이 높은 순으로 정렬

# 거래대금 큰 순으로 ticker를 정렬
sorted_ticker = sorted(dic_ticker.items(), key= lambda x : x[1], reverse= True)

coin_list = []
count = 0

for coin in sorted_ticker:
    count += 1

    # 거래대금이 높은 10개의 코인만 구한다
    if count <= 10:
        coin_list.append(coin[0])
    else:
        break

print(coin_list)

 

실행 결과

코인-리스트
거래대금이 높은 10개의 코인 티커

 

7일간의 거래대금이 높은 순으로 10개의 코인을 리스트 형태로 정리해 보았다. 해당 리스트를 통해 다양한 전략을 만들어 투자를 하게된다면, 원하지 않은 불상사를 피할 수 있는 확률을 분명히 올릴 수 있다. 물론 변동성이 작은 만큼 큰 수익을 노리기에는 어려울 수 있지만, 10번 이득을 봐도 1번 손해를 보면 종합적으로 손해를 보게 되는 불상사가 생길 수 있기 때문에 욕심을 살짝 덜어두고 안정을 얻는것도 좋다는 생각이 든다. (무엇보다 심적으로 안정을 얻는달까...)

다음 포스팅에서는 코인의 평균 매입단가를 구해보고 이를 통해 수익률을 구해보기로 하며 이번 포스팅을 마친다.

반응형

댓글