프롤로그: 왜 했나

2월 초, 저는 작은 도전을 시작했습니다. 506,370원으로 비트코인 자동매매 봇을 만들고, 실제로 돈을 버는지 확인해보는 것이었어요.

“기술은 있는데, 실제로 돈을 버나?”

이 단순한 질문에서 프로젝트가 시작됐습니다.


1부. 기술: 생각보다 멋있었다

구현한 것들

자동매매 봇의 핵심 요소:

  1. 전략 엔진 (Strategy Engine)

    • RSI(상대강도지수) 기반 매수/매도
    • 이동평균선으로 추세 확인
    • 손절 기준: -2% / 익절 기준: +2% + RSI > 70
  2. 거래소 API 연동 (업비트)

    • JWT 토큰 기반 인증
    • 실시간 주문 실행
    • 잔고 자동 반영
  3. 메트릭 시스템 (Prometheus)

    • 거래당 수익/손실 추적
    • 누적 손익률 계산
    • 리얼타임 대시보드
  4. 테스트 시스템 (Pytest)

    • 단위 테스트 (가격 배열 처리, entry_price 보존 등)
    • 시나리오 테스트 (실제 발생한 버그 방지)
    • 시뮬레이터 (가상 거래로 전략 검증)

버그와 수정

운영 중 발견한 3가지 주요 버그:

  1. 인덱싱 오류: prices[0]prices[-1] (최신 가격을 사용해야 함)
  2. position 복사 오류: 매도할 때 entry_price가 덮어씌워지는 문제
  3. 메트릭 기록 누락: 수익 계산이 로그에만 있고 저장 안 됨

이 버그들은 실제 거래에서 손실을 초래할 수 있었던 치명적인 결함이었습니다.


2부. 현실: 생각보다 엄혹했다

최종 성과표

항목수치
기초자본506,370원
총 거래 횟수약 10회
누적손실-20,986.06원
손실률-4.14%
최종 잔고485,383.94원

무엇이 잘못됐나

거래 기록 분석:

  • 일부 거래에서는 +1.20%, +5,845원의 수익 달성
  • 하지만 전체적으로는 패턴을 못 잡은 거래들로 인해 손실

핵심 원인:

  1. 전략의 시장 적응도 저하

    • RSI/이동평균 기반 전략이 현재 시장 변동성에 부적절
    • 횡보장(박스권)에서는 수익, 강한 추세에서는 손실
  2. 거래 수수료 (약 0.05%)

    • 매번 0.05%씩 깎이므로 +0.5% 미만의 수익은 적자
  3. 시장 타이밍

    • 시작 시점이 비트코인 변동성이 높던 구간
    • 몇 차례의 큰 하락장에서 손절 당함
  4. 표본 크기 부족

    • 6주간 약 10회 거래는 통계적으로 의미 있는 검증에 부족

3부. 결정: 멈추는 것도 능력이다

중단 기준

2월 27일, 저는 중단을 결정했습니다. 이유는:

  • 손절 기준까지 0.86% 남음 → 한두 거래로 -2% 도달 가능
  • 누적손실 -4.14% → 전략이 작동하지 않음을 명백히 보여줌
  • 추가 손실 가능성 > 회복 가능성

통계적 관점

비트코인 자동매매는 어렵습니다:

필요한 승률 = (손절 수수료) / (익절 - 손절 - 수수료)
            = 0.1% / (2% - 0.1%)
            ≈ 60% 이상

우리의 전략은 약 40~50% 승률 수준이었으므로, 장기 운영 불가능했어요.


4부. 배운 점: 기술 vs 금융

기술적으로는 성공

✅ 봇이 정확히 작동함 ✅ 테스트 시스템이 버그를 잡음 ✅ 메트릭 추적이 완벽함 ✅ 자동화 인프라가 안정적

금융적으로는 실패

❌ 전략이 시장에 맞지 않음 ❌ 표본 부족 (거래 횟수 적음) ❌ 수수료의 무게가 예상보다 큼 ❌ 시간대별 변동성 미고려

깨달은 것

좋은 기술 = 좋은 수익 (X)

오히려 반대였습니다:

  • 기술이 좋으면 손실을 정확하게 기록합니다
  • 기술이 좋으면 나쁜 전략을 더 빠르게 실행합니다
  • 기술이 좋으면 문제를 명확히 드러냅니다

기술은 도구일 뿐, 전략이 9할입니다.


5부. 그 후: 이제 뭘 할 건가

단기 (1주)

  • 전략 분석 (왜 -4.14%인지 상세 원인 파악)
  • 다른 전략 백테스팅 (MACD, Bollinger Band 등)
  • 수수료 영향도 재계산

중기 (1개월)

  • 신 전략 개발
  • 더 긴 훈련 기간 (최소 3개월)
  • 실 거래 전 시뮬레이션 강화

장기

  • 기계학습 기반 전략으로 전환 검토
  • 여러 자산 동시 거래 (BTC, ETH 등)
  • 수익률 목표: 월 23% (연 3040%)

에필로그: 실패는 데이터다

506,370원을 잃었지만, 훨씬 귀한 것을 얻었습니다:

“자동매매로는 이 정도 수준의 전략으로는 안 된다”

이 명확한 깨달음 말이에요.

다음 프로젝트에서는:

  • 전략 검증에 더 많은 시간 할애
  • 표본 크기를 충분히 (최소 100거래)
  • 리스크 관리를 먼저 설계

마지막으로, 이 프로젝트를 통해 코드를 짜는 것과 돈을 버는 것이 얼마나 다른지 배웠습니다.

다음 도전은 더 현명하게 하겠습니다. 🚀


프로젝트 상세 정보:

  • 기초자본: 506,370원
  • 운영 기간: 약 3주 (2월 7일 ~ 2월 28일)
  • 거래 횟수: ~10회
  • 최종 손실: -20,986.06원 (-4.14%)
  • 코드 저장소: 개인 내부 저장소
  • 문제 해결: 테스트 시스템 구축, 3가지 주요 버그 수정, Prometheus 메트릭 시스템 완성