오픈 소스 거래 프레임워크에 대해 더 깊이 알아보고 싶나요? 저희의 상세 리뷰 및 비교를 확인해 보세요.


왜 트렌드 추종인가?

봇을 만들기 전에, 단순하고 견고하며 검증된 전략을 원했습니다. 트렌드 추종은 이 모든 조건을 만족합니다 — 가격 모멘텀을 기반으로 하며 여러 시장에서 작동합니다. 핵심 아이디어는 간단합니다:

가격이 이동평균선 위에 있을 때 매수하고, 아래에 있을 때 매도한다.

이 점을 염두에 두고, 저는 오직 오픈 소스 도구만 사용해 완전한 파이프라인을 구축했습니다.


사용한 도구

  • Backtrader – 백테스트와 전략 로직용
  • CCXT – 실시간 거래 API 접속용 (바이낸스)
  • Pandas/NumPy – 데이터 처리용
  • Python – 연결 코드 및 스크립팅용
  • Screen – VPS 또는 라즈베리 파이에서 봇 실행용

단계별 제작 과정

1. 전략 로직 (Backtrader)

class TrendStrategy(bt.Strategy):
    def __init__(self):
        self.sma = bt.indicators.SimpleMovingAverage(period=50)

    def next(self):
        if self.data.close[0] > self.sma[0] and not self.position:
            self.buy()
        elif self.data.close[0] < self.sma[0] and self.position:
            self.sell()

간단하게 유지했습니다: 가격이 50 이동평균선을 상향 돌파하면 매수, 하향 돌파하면 매도합니다.


2. 백테스트

CCXT를 통해 다운로드한 바이낸스 과거 데이터를 사용해 BTC/USDT 데이터 수개월을 테스트했습니다. 평가한 항목은:

  • 승률
  • 최대 낙폭
  • 수익률 지표

3. CCXT로 실거래 연결

import ccxt

exchange = ccxt.binance({
    'apiKey': 'YOUR_API_KEY',
    'secret': 'YOUR_SECRET',
    'enableRateLimit': True
})

ticker = exchange.fetch_ticker('BTC/USDT')
print("현재 BTC 가격:", ticker['last'])

확신이 생기자 CCXT를 통해 실시간 가격과 주문 체결을 연결해 실거래를 진행했습니다.


4. 배포

라즈베리 파이에서 screen을 사용해 24시간 7일 내내 봇을 실행했습니다:

screen -S trendbot
python3 bot.py
# Ctrl+A 누르고 D 누르면 화면 분리

배운 점

  • 간단한 전략도 효과적인 리스크 관리와 함께할 때 잘 작동한다
  • 오픈 소스 도구는 강력하지만, 직접 디버깅이 필요하다
  • 실제 돈이 걸린 거래에서는 로그 기록과 테스트가 필수다

직접 만들어 보고 싶나요?

Backtrader로 직접 트렌드 봇을 만들거나 자세한 리뷰를 보고 싶다면, 아래 링크를 확인하세요:
Backtrader 프레임워크 리뷰 및 사용 가이드