본문 바로가기
Programming/Python

[Python] 업비트 거래대금 추출하기

by 코딩하는 금융인 2024. 4. 15.

안녕하세요.

오늘은 파이썬으로 업비트 코인의 거래대금을 추출하는 방법에 대해 알아보겠습니다.

 

 Upbit 코인 거래대금 추출하기

 - 최근 가상자산에 관심을 가지면서 업비트 사이트를 살펴보다가 디지털 자산별로 시가총액과 거래대금(24H)이 나와 있는 화면이 눈에 들어왔음

출처=업비트 코인동향

 

 - 매일 특정 거래대금 이상을 기록하는 코인 리스트를 텔레그램으로 받으면 가상자산 시장에서 인기있는 코인들을 알기 편할 것 같아 파이썬 pyupbit*를 활용한 코드를 간략하게 작성해봄

* pyupbit에 대해 궁금하신 분들은 과거 포스팅을 참고하시기 바랍니다.

2021.08.21 - [Finance/가상자산] - 업비트 API 발급 / 자산 조회하기 (파이썬)

 

▣ 거래대금 1,000억 이상 코인 추출하기

 - pyupbit 라이브러리를 활용하여 각 티커별로 거래대금 정보를 추출하고 1,000억원 이상 필터링 및 정렬, 보기 쉽게 거래대금 천단위마다 콤마 추가

import pyupbit
import pandas as pd

# 업비트 티커 리스트 가져오기
tickers = pyupbit.get_tickers(fiat="KRW")

# 데이터 저장할 리스트
data = []

# 각 티커별로 거래대금 정보 추출
for ticker in tickers:
    try:
        df = pyupbit.get_ohlcv(ticker, interval="day", count=1)
        volume = df["value"].iloc[-1]
        currency = ticker.split("-")[1]
        data.append({"디지털 자산": currency, "거래대금(24H)": volume})
    except:
        pass

# 데이터프레임 생성
df = pd.DataFrame(data)

# 거래대금 1000억 원 이상 필터링 및 정렬
high_volume = df[df["거래대금(24H)"] >= 10000000000]
high_volume = high_volume.sort_values(by="거래대금(24H)", ascending=False)

# 인덱스 재설정
high_volume = high_volume.reset_index(drop=True)

# 거래대금 포맷팅
high_volume["거래대금(24H)"] = high_volume["거래대금(24H)"].apply(lambda x: f"{x:,.0f}")

print(high_volume)

 

: print 결과

| 디지털 자산   | 거래대금(24H)    |
| NEO           | 416,766,137,591  |
| BTC           | 303,855,296,431  |
| POLYX         | 190,521,156,829  |
| XRP           | 153,240,964,716  |
| ETH           | 140,496,565,400  |
| ONT           | 109,513,006,042  |
| SOL           | 98,965,614,776   |
| BCH           | 98,429,974,163   |
| ETC           | 82,666,913,456   |
| QTUM          | 64,905,311,516   |
| WAVES         | 51,852,662,076   |
| NEAR          | 49,915,347,016   |
| CTC           | 38,827,334,376   |
| AERGO         | 37,206,769,375   |
| STX           | 36,886,007,339   |
| TON           | 34,890,586,914   |
| QKC           | 31,489,790,257   |
| TFUEL         | 26,790,051,004   |
| ID            | 25,036,210,903   |
| BTT           | 23,901,588,288   |
| SEI           | 23,408,015,532   |
| EOS           | 22,181,987,350   |
| AVAX          | 18,074,645,160   |
| MNT           | 16,258,176,319   |
| PYTH          | 15,727,036,789   |
| TRX           | 13,704,263,312   |
| JST           | 11,459,868,812   |
| FLOW          | 10,765,198,580   |
| MTL           | 10,429,049,156   |
| AXS           | 10,297,084,531   |
| ATOM          | 10,020,535,518   |

 

위에서 추출한 데이터프레임을 텔레그램으로 자동 전송하는 방법은 다음 포스팅에서 알아보겠습니다.

 

 

반응형

댓글