본문 바로가기
카테고리 없음

빗썸 API 활용 비트스플릿 구현하기 (python_bithumb)

by finai 2025. 5. 23.

빗썸 api 를 활용해서 비트스플릿 로직을 구현해보려고 한다.

 

비트스플릿 전략은 그리드 매매라고도 하며, 빗썸에 오토트레이딩 기능과 유사하다.

api로 구현했을때의 장점은 예수금을 유연하게 사용할 수 있다는 점이다.

 

코드는 아래 링크와 유튜브 영상을 참고하였다.

https://github.com/youtube-jocoding/python-bithumb

https://www.youtube.com/watch?v=g71g8GKlmjE

 

 

비트스플릿에서 입력 필요한 값들

종목, 시작가격, 차수당 금액(수량), 매수간격, 매도간격, 최대차수

내 전략을 csv 로 저장하고 코드에서 불러온 후 로직이 돌아가도록 설정하였다.

ticker start_price unit_quantity unit_quantity_type buy_interval buy_interval_type sell_interval sell_interval_type max_levels
KRW-BTC 160000000 300000 KRW 0.3 PERCENT 0.3 PERCENT 50
KRW-XRP 3400 30 UNIT 5 KRW 5 KRW 50
KRW-USDT 1420 300 UNIT 1 KRW 2 KRW 50
# 전략 설정 읽기
strategy_settings = []
with open("strategy_settings.csv", newline="", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for row in reader:
        strategy_settings.append({
            "ticker": row["ticker"],
            "start_price": float(row["start_price"]),
            "unit_quantity": float(row["unit_quantity"]),
            "unit_quantity_type": row.get("unit_quantity_type", "UNIT").upper(),  # UNIT 또는 KRW
            "buy_interval": float(row["buy_interval"]),
            "buy_interval_type": row.get("buy_interval_type", "KRW").upper(),  # KRW 또는 PERCENT
            "sell_interval": float(row["sell_interval"]),
            "sell_interval_type": row.get("sell_interval_type", "KRW").upper(),  # KRW 또는 PERCENT
            "max_levels": int(row["max_levels"])
        })

 

max_level을 50차수로 설정한 경우, 각 차수에 대한 목표가와 주문 정보를 저장하여 json 파일로 저장한 후 활용하였다.

 

코드를 실행하니 주문이 들어가면서 그리드가 생성되었다. XRP(5원 매수, 5원매도 전략)

 

XRP, BTC, USDT 3가지 종목에 대해서 test 진행 중..