자동매매/업비트

파이썬) 업비트의 정확한 거래대금 값 가져오기

개발자범진 2023. 5. 26. 19:17
반응형

이번에는 업비트에 상장된 코인의 정확한 거래대금 값을 내림차순으로 가져오는 방법을 알아보겠습니다.

 

최근 자동매매 전략을 구현하다 업비트의 거래대금 값을 가져와야 하는 일이 생겼는데

아무리 검색을 해도 업비트에서 계산하는 거래대금 값과 일치하는 코드가 나오지 않더구요.

그래서 답답한 마음에 만들어 보았습니다.

많은 분들에게 도움이 됐으면 좋겠습니다.

 


먼저 업비트에서 거래대금은 최근 24시간의 거래금액을 모두 더한 값으로 계산됩니다.

 

그래서 일봉 거래금액이 아닌 최근 24시간의 거래금액을 가져와야 합니다.

 

목차


    1. 필요한 모듈 설치

    필요한 모듈을 pip를 이용해 설치해줍니다.

    pip install pyupbit
    pip install requests

     


    2. 거래 대금을 가져오는 코드

    다음은 업비트의 최근 24시간의 거래대금을 가져오는 코드입니다.

    import pyupbit
    import requests
    import time
    
    t = time.time()
    tickers = pyupbit.get_tickers('KRW')
    
    url = "https://api.upbit.com/v1/ticker"
    total_trade_price = dict()
    
    for ticker in tickers:
        querystring = {"markets": ticker}
        response = requests.request("GET", url, params=querystring)
        data = response.json()
    
        price = float(data[0]["acc_trade_price_24h"])
    
        total_trade_price[ticker] = int(price)
        time.sleep(0.1)
    
    result = dict(sorted(total_trade_price.items(), key=lambda x: x[1], reverse=True))
    
    print(result)
    
    print(time.time()-t)

    result

    {'KRW-XRP': 91148550488, 'KRW-BTC': 81739155830, 'KRW-SUI': 41041691764, 'KRW-KAVA': 25890613503, 'KRW-SAND': 20961642615, 'KRW-STX': 19942153863, 'KRW-MTL': 19225684680, 'KRW-ETH': 17953192931, 'KRW-NEO': 17722378599, 'KRW-AXS': 15696270949, 'KRW-MASK': 15153785652, 'KRW-ARB': 14940423305, 'KRW-MLK': 13969906865, 'KRW-WAVES': 12523867101, 'KRW-TRX': 11065364812, 'KRW-DOGE': 9275456825, 'KRW-DAWN': 7945097190, 'KRW-MATIC': 7760591198, 'KRW-ALGO': 7310862460, 'KRW-GMT': 6975704041, 'KRW-SOL': 6401866112, 'KRW-POWR': 5852853932, 'KRW-APT': 5345661032, 'KRW-ADA': 4503705600, 'KRW-BSV': 4315033836, 'KRW-SXP': 4236594745, 'KRW-ETC': 4177448452, 'KRW-EOS': 3508964740, 'KRW-ONT': 3367235577, 'KRW-BTT': 3156906015, 'KRW-MANA': 3128108807, 'KRW-GAS': 2767127338, 'KRW-FLOW': 2699173725, 'KRW-CHZ': 2695493644, 'KRW-HUM': 2524147944, 'KRW-POLYX': 2386033170, 'KRW-QTUM': 1856182632, 'KRW-BTG': 1768386756, 'KRW-REP': 1755990896, 'KRW-SHIB': 1673034016, 'KRW-IOTA': 1662998825, 'KRW-T': 1657901235, 'KRW-BCH': 1650223652, 'KRW-ATOM': 1605582407, 'KRW-VET': 1520023091, 'KRW-IQ': 1458257019, 'KRW-ICX': 1408988421, 'KRW-PLA': 1396287834, 'KRW-LOOM': 1384314925, 'KRW-WAXP': 1369428068, 'KRW-CRE': 1333671187, 'KRW-BORA': 1309495480, 'KRW-AVAX': 1309261329, 'KRW-NEAR': 1296130515, 'KRW-CBK': 1278429125, 'KRW-FCT2': 1192693257, 'KRW-XLM': 1183599624, 'KRW-ZIL': 1166843167, 'KRW-AERGO': 1158191497, 'KRW-HUNT': 1150856551, 'KRW-AHT': 1149972117, 'KRW-STMX': 1054418533, 'KRW-ANKR': 1018165556, 'KRW-1INCH': 995218090, 'KRW-TFUEL': 926660224, 'KRW-SC': 902637011, 'KRW-TT': 844623981, 'KRW-XEC': 831750226, 'KRW-CELO': 828677764, 'KRW-ENJ': 794956372, 'KRW-UPP': 788699705, 'KRW-STRK': 783860145, 'KRW-STORJ': 771660824, 'KRW-LINK': 770286973, 'KRW-MVL': 753383094, 'KRW-HBAR': 743672311, 'KRW-RFR': 734477175, 'KRW-MOC': 733845572, 'KRW-EGLD': 698320923, 'KRW-ZRX': 657782926, 'KRW-STPT': 653129845, 'KRW-MED': 650008096, 'KRW-META': 625698522, 'KRW-PUNDIX': 599734770, 'KRW-DOT': 569732187, 'KRW-QKC': 566979529, 'KRW-CVC': 556610482, 'KRW-MBL': 538537102, 'KRW-IOST': 538178565, 'KRW-HIVE': 523788957, 'KRW-AQT': 522916552, 'KRW-STRAX': 517222186, 'KRW-STEEM': 504137065, 'KRW-ARK': 498581058, 'KRW-HIFI': 491578472, 'KRW-TON': 465304522, 'KRW-SBD': 456196618, 'KRW-DKA': 440847193, 'KRW-ELF': 435475429, 'KRW-KNC': 431816155, 'KRW-GRS': 413295189, 'KRW-ONG': 383757518, 'KRW-CRO': 361578005, 'KRW-THETA': 347684818, 'KRW-BAT': 335787949, 'KRW-XEM': 320938867, 'KRW-ORBS': 320207723, 'KRW-LSK': 284987847, 'KRW-XTZ': 269781788, 'KRW-AAVE': 232917315, 'KRW-GLM': 220184710, 'KRW-SNT': 218086163, 'KRW-JST': 175226118, 'KRW-ARDR': 157076375, 'KRW-SSX': 156104200}

     

    위 코드를 실행하면 업비트의 거래대금과 일치하는 것을 확인할 수 있습니다.

    단점으로는 실행시간이 좀 걸리는 편입니다. 제 컴퓨터로는 약 15초 정도의 실행시간이 소요됩니다.

     

    개발 문의

    https://kmong.com/gig/563953

    https://open.kakao.com/o/sL6Kzt7f

     

    [개발 외주] 자동화, 매크로 ,크롤링, 엑셀 전문

    #파이썬 #오토핫키 #자동화 #크롤링 #엑셀 #하드웨어 #업무자동화

    open.kakao.com

     

    반응형