프롤로그: 왜 했나
2월 초, 저는 작은 도전을 시작했습니다. 506,370원으로 비트코인 자동매매 봇을 만들고, 실제로 돈을 버는지 확인해보는 것이었어요.
“기술은 있는데, 실제로 돈을 버나?”
이 단순한 질문에서 프로젝트가 시작됐습니다.
1부. 기술: 생각보다 멋있었다
구현한 것들
자동매매 봇의 핵심 요소:
전략 엔진 (Strategy Engine)
- RSI(상대강도지수) 기반 매수/매도
- 이동평균선으로 추세 확인
- 손절 기준: -2% / 익절 기준: +2% + RSI > 70
거래소 API 연동 (업비트)
- JWT 토큰 기반 인증
- 실시간 주문 실행
- 잔고 자동 반영
메트릭 시스템 (Prometheus)
- 거래당 수익/손실 추적
- 누적 손익률 계산
- 리얼타임 대시보드
테스트 시스템 (Pytest)
- 단위 테스트 (가격 배열 처리, entry_price 보존 등)
- 시나리오 테스트 (실제 발생한 버그 방지)
- 시뮬레이터 (가상 거래로 전략 검증)
버그와 수정
운영 중 발견한 3가지 주요 버그:
- 인덱싱 오류:
prices[0]→prices[-1](최신 가격을 사용해야 함) - position 복사 오류: 매도할 때 entry_price가 덮어씌워지는 문제
- 메트릭 기록 누락: 수익 계산이 로그에만 있고 저장 안 됨
이 버그들은 실제 거래에서 손실을 초래할 수 있었던 치명적인 결함이었습니다.
2부. 현실: 생각보다 엄혹했다
최종 성과표
| 항목 | 수치 |
|---|---|
| 기초자본 | 506,370원 |
| 총 거래 횟수 | 약 10회 |
| 누적손실 | -20,986.06원 |
| 손실률 | -4.14% |
| 최종 잔고 | 485,383.94원 |
무엇이 잘못됐나
거래 기록 분석:
- 일부 거래에서는 +1.20%, +5,845원의 수익 달성
- 하지만 전체적으로는 패턴을 못 잡은 거래들로 인해 손실
핵심 원인:
전략의 시장 적응도 저하
- RSI/이동평균 기반 전략이 현재 시장 변동성에 부적절
- 횡보장(박스권)에서는 수익, 강한 추세에서는 손실
거래 수수료 (약 0.05%)
- 매번 0.05%씩 깎이므로 +0.5% 미만의 수익은 적자
시장 타이밍
- 시작 시점이 비트코인 변동성이 높던 구간
- 몇 차례의 큰 하락장에서 손절 당함
표본 크기 부족
- 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 등)
- 수익률 목표: 월 2
3% (연 3040%)
에필로그: 실패는 데이터다
506,370원을 잃었지만, 훨씬 귀한 것을 얻었습니다:
“자동매매로는 이 정도 수준의 전략으로는 안 된다”
이 명확한 깨달음 말이에요.
다음 프로젝트에서는:
- 전략 검증에 더 많은 시간 할애
- 표본 크기를 충분히 (최소 100거래)
- 리스크 관리를 먼저 설계
마지막으로, 이 프로젝트를 통해 코드를 짜는 것과 돈을 버는 것이 얼마나 다른지 배웠습니다.
다음 도전은 더 현명하게 하겠습니다. 🚀
프로젝트 상세 정보:
- 기초자본: 506,370원
- 운영 기간: 약 3주 (2월 7일 ~ 2월 28일)
- 거래 횟수: ~10회
- 최종 손실: -20,986.06원 (-4.14%)
- 코드 저장소: 개인 내부 저장소
- 문제 해결: 테스트 시스템 구축, 3가지 주요 버그 수정, Prometheus 메트릭 시스템 완성