[파이썬] 업비트 티커 리스트 - 상장 400일 이하 제거

2023. 5. 20. 23:05자동매매/업비트

반응형

상장한 지 얼마 되지 않은 코인들은 변동성이 심하고 자동매매를 하기 위한 지표(ex. 장기 이동평균선 등)를 불러올 수 없는 경우가 발생할 수 있으므로 티커 리스트에서 제거해줘야 한다.

 

아래의 코드에서 상장일 기준을 400일로 한 것은 자동매매를 하기 위한 조건 중, 장기 이동평균이 필요한 경우를 대비해서 넉넉하게 400일로 설정하였다.

 

그리고 호가 단위 하나에 가격이 10% 이상 차이가 나는 '비트토렌트(BTT)'는 자동매매를 하기 위한 지표의 변동성도 그만큼 커지므로 매수/매도 포지션이 쉴 새 없이 바뀔 수 있으며, 이런 상황은 곧 손실로 이어지므로 상장기간과 상관없이 하드코딩으로 제거해 준다.

 

 

반응형

 

 

import pyupbit
import urllib.request
import json

# 데이터 400개 받아오기
def get_ohlcv400(ticker):
    df = pyupbit.get_ohlcv(ticker, interval="day", count=400)
    return df

# 400일 이동평균선 정의
def get_ma400(ticker):       # '(ticker)' 삭제하면 안됨
    ma400 = df['close'].rolling(400).mean().iloc[-1]
    return ma400


# 업비트 티커 url

# 데이터프레임 입력용
krw_market = []
btc_market = []                                                                    
usdt_market = []
t1 = urllib.request.urlopen(url)
t2 = json.loads( t1.read().decode("utf-8"))

# 리스트내 티커 탐색용
n = 0

try:
    while True:
        b = t2[n]["market"]

        if "KRW-" in b:
            krw_market.append(b)
            # print(b)
       
        elif "BTC-" in b:
            btc_market.append(b)
       
        elif "USDT-" in b:
            usdt_market.append(b)
        n = n + 1

except:

    pass

print()
print(krw_market)
print(len(krw_market))
print()
print("Listing Period checking......")

for xx in krw_market:
    df = get_ohlcv400(xx)
    ma400 = get_ma400(xx)
    if ma400 > 0:
        pass
    else:
        print(str(xx), "deleted")
        krw_market.remove(xx)

krw_market.remove('KRW-BTT')
print("KRW-BTT deleted")
print()
print("Complete!!")
print()
print(krw_market)
print(len(krw_market))

 

 

 

 

아래의 결과를 보면, 2023.05.20 기준으로 KRW 마켓에 총 115개의 코인이 상장되어 있고, 상장기간이 400일 이하인 코인 4종류와 호가 단위 큰 '비트토렌트(BTT)'를 포함해서 총 5종류가 제거되어, 최종 110종류의 코인이 리스트에 포함되어 있는 것을 확인할 수 있다.

 

 

업비트 티커 크롤링 - 상장 400일 이하 제거

 

 

https://skydance.tistory.com/51

 

[파이썬] 업비트 티커 리스트 - 크롤링

아래의 코드를 실행시키면 KRW, BTC, USDT 마켓의 업데이트 된 티커를 크롤링해서 각각 'krw-market', 'btc-market', 'usdt-market'에 리스트로 저장한다. for문이랑 같이 쓰면 항상 언데이트된 코인 리스트로 전

skydance.tistory.com

 

https://skydance.tistory.com/16

 

[파이썬] 업비트 티커목록(Ticker List)

* 2023.05.17 '[파이썬] 업비트 티커 목록 크롤링' 업로드 https://skydance.tistory.com/51 [파이썬] 업비트 티커 목록 크롤링 아래의 코드를 실행시키면 KRW, BTC, USDT 마켓의 업데이트 된 티커를 크롤링해서 각

skydance.tistory.com

 

반응형