테마
언어
backtestcrypto backtestbacktest trading strategyno codingfree backtestbacktesting toolwin rateprofit factorsandboxfomoed

60초 만에 모든 트레이딩 전략 백테스트하기 (코딩 없이, 2026)

60초 만에 모든 트레이딩 전략 백테스트하기 (코딩 없이, 2026)
작성자 fomoed2026년 5월 17일9분 읽기

마지막 업데이트: 2026년 5월. 본문에서 다루는 모든 지표는 fomoed 샌드박스 엔진의 실제 출력 필드입니다. 백테스트 결과는 교육 목적이며, 과거 성과가 미래 수익을 보장하지 않습니다.

"내 전략이 통할 것 같다"는 느낌과 "통한다는 걸 안다"는 확신을 가르는 건 단 하나의 숫자입니다 — 내가 트레이딩하지 않았던 시장 국면까지 포함해, 지난 몇 년간의 실제 캔들에서 이 전략이 어떻게 작동했을지 보여주는 수치 말이죠. 그게 바로 백테스트입니다. 정직하게 수행하면, 재량적 트레이더가 자동화에 나서기 전 할 수 있는 가장 유용한 작업입니다. 잘못 수행하면, 자기 자신에게 던지는 영업 멘트가 되어버립니다 — 차트가 예뻐 보일 때까지 파라미터를 조정하고, 그러다 실전 자금이 들어가면 빠뜨린 변수가 무엇이었는지 시장이 알려줍니다.

전통적인 백테스트 경로는 이랬습니다. Python을 짜고, 거래소 API에서 과거 OHLCV를 끌어오고, 지표를 직접 계산하고, 슬리피지를 시뮬레이션하고, 수수료를 반영하고, 부분 체결을 처리하고, 분석 로직을 작성하고, 자산 곡선을 그린다. 대부분 1단계에서 포기합니다. 7단계까지 가는 소수는, 정작 실제로 배포할 라이브 트레이딩 플랫폼과는 미묘하게 다른 백테스트 엔진을 손에 쥐게 됩니다 — 그리고 그 간극이 실전에서 그들을 잡아먹습니다.

fomoed 샌드박스는 이 전체 스택을 없애버립니다. 페어 고르고, 전략 템플릿 고르고, 기간 고르고, Run 클릭. 지원되는 모든 페어에 대해 3년치 과거 캔들, 거래소별 실제 수수료 가정, 라이브 봇과 동일한 엔진 코드 경로, 1분 이내 결과. Python도, API 키도, Jupyter도, 스프레드시트도 필요 없습니다. 이 글에서는 워크플로 전체를 처음부터 끝까지 따라가 보고 — 더 중요하게 — 멋져 보이던 백테스트를 실전 손실로 바꿔놓는 5가지 함정을 다룹니다.

60초
첫 결과까지
6
타임프레임
3년
데이터 범위
$0
비용

설명은 건너뛰고 — 지금 바로 백테스트 돌리기

무료 계정, 카드 등록 불필요, Python 필요 없음. 페어 고르고, 전략 고르고, Run 클릭. 첫 결과는 약 1분.

샌드박스 열기 →

샌드박스에서 백테스트할 수 있는 것들

샌드박스 엔진은 현재 4개의 전략 클래스를 지원하며, 각각 고유한 설정 화면을 갖습니다:

지표 기반 커스텀 전략

RSI 평균회귀, EMA 크로스오버, MACD 컨플루언스, 볼린저 밴드 스퀴즈, VWAP 페이드, 다중 지표 셋업. 12개 지표(RSI, EMA, SMA, MACD, ATR, ROC, Bollinger, VWAP, Williams %R, Stochastic, OBV, ADX)가 노출되어 있으며, 이들의 어떤 조합이든 진입 트리거 또는 필터로 작동시킬 수 있습니다. 엔진이 동적 파라미터 — 밴드 폭 비교, 룩백 윈도우, "위/아래에서 크로스" 조건 — 를 모두 처리하므로, 수식을 직접 구현할 필요가 없습니다.

DCA & 그리드 봇

DCA(분할 매수)와 선택적 세이프티 오더 래더, 합산 포지션 기준 익절, 그리고 설정 가능한 트리거 조건. 그리드 봇은 지정한 범위 안에서 매수/매도 주문을 사다리식으로 배치하고 셀별 TP를 운영합니다. 둘 다 라이브 버전과 동일한 엔진 안에서 돌아갑니다 — 샌드박스는 별도의 코드 경로가 아니라, 실시간 피드 대신 과거 캔들이 공급되는 동일한 trader.execute() 루프입니다.

Smart Money Concepts (SMC)

CHoCH(change of character), BoS(break of structure), 오더 블록, 페어 밸류 갭(FVG), 피보나치 되돌림(0.618-0.79 OTE 존 포함), 그리고 유동성 스윕. 7가지 프리미티브를 모두 알고리즘적으로 감지합니다 — 샌드박스는 라이브 엔진이 실시간에서 잡았을 정확한 피벗을 그대로 보여줍니다. 수식은 SMC 필러 가이드를 참고하세요.

AI 트레이딩 에이전트 전략

전략을 평이한 영어 2~4문장으로 설명할 수 있다면, fomoed의 AI 트레이딩 에이전트가 같은 샌드박스 안에서 실행되는 Python 스크립트를 생성해 줍니다. 스크립트는 지표·SMC 프리미티브를 조합할 수는 있지만, 자체적인 새로운 로직을 발명할 수는 없습니다. "RSI<30 AND price>200EMA일 때 매수, +3% 또는 RSI>70에서 청산" 같은 케이스에 유용합니다 — 한 번 입력하면 AI가 연결 작업을 처리합니다. 아키텍처는 AI 트레이딩 에이전트 필러를 참고하세요.

60초 안에 백테스트 돌리는 법

처음부터 끝까지 클릭 6번, 그 중 2번은 선택사항입니다. 괄호 안의 숫자는 처음 사용자가 실제로 걸리는 현실적인 시간(초)입니다.

  1. 샌드박스 열기 (5초). 계정이 없다면 무료 가입 — 이메일 또는 지갑, KYC 없음, 카드 등록 없음. 대시보드 사이드바에서 Sandbox 클릭.
  2. 마켓 선택 (10초). 거래소(Hyperliquid / Binance / Bybit / OKX / Decibel / AsterDex / GRVT / Extended / StandX), 심볼(예: BTC/USDC:USDC), 타임프레임(1m / 5m / 15m / 30m / 1h / 4h).
  3. 기간 선택 (5초). 기본값은 최근 30일. 날짜 선택기를 클릭해 확장 가능 — 샌드박스는 지원 페어당 최대 3년치 데이터를 커버합니다.
  4. 전략 설정 (20초). 프리셋(RSI / Custom / DCA / Grid / SMC / AI 트레이딩 에이전트) 선택 또는 지표 파라미터 수동 설정. 샌드박스 UI는 라이브 봇 위저드를 그대로 미러링합니다 — 라이브 봇을 설정할 수 있다면 백테스트도 설정할 수 있습니다.
  5. Run 클릭 (15-90초). 대부분 백테스트는 10-30초에 끝나며, 장기간 5분봉 실행은 처음에 최대 90초까지 걸릴 수 있습니다(이후에는 캐시됨).
  6. 결과 읽기 (이후 10분 — 아래 참고).

결과를 정직하게 읽는 법

중요한 지표는 6개입니다. 앞의 3개는 허영(vanity), 뒤의 3개는 현실(reality). 6개 모두를 봐야 합니다 — 절대 하나만 보고 판단하지 마세요.

승률 (Win rate)

정의
청산된 거래 중 수익으로 종료된 비율(수수료 차감 후).
기준
여러 시장 국면에서 일관되게 50% 이상 — 손익비가 괜찮다면, 양의 기대값이 자리잡는 최저선입니다.
주의
높은 승률(70% 이상)은 대개 작은 익절과 큰 손절을 의미합니다 — 평균 수익은 작고, 평균 손실은 치명적. 반드시 아래 프로핏 팩터와 함께 보세요.

프로핏 팩터 (Profit factor)

정의
총수익 ÷ 총손실. 1달러 손실당 몇 달러 버는지를 보여주는 지표.
기준
1.3 이상 — 그 아래라면 실전에서 슬리피지와 수수료를 반영하는 순간 사실상 본전 전략입니다.
주의
짧은 기간에서 프로핏 팩터 > 3은 거의 항상 커브 피팅의 징후입니다. 겹치지 않는 여러 구간에서 테스트해 보세요 — 절벽처럼 떨어진다면 과적합입니다.

최대 낙폭 (Max drawdown)

정의
자산 곡선의 고점 대비 저점까지의 최대 하락폭(%). 회복까지 견뎌야 하는 낙폭의 크기.
기준
본인이 감내할 수 있는 임계치 이내 — 일반 개인 트레이더라면 보통 15-25%, 자본 운용자라면 훨씬 낮은 수준.
주의
6개월 동안 MDD 8%인 백테스트는, 거의 확실히 낙폭 40% 이상이 났던 다른 국면을 숨기고 있습니다. 숫자만 보지 말고 항상 자산 곡선의 가장 깊은 골을 직접 확인하세요.

샤프 지수 (Sharpe ratio)

정의
위험조정 수익률 — 변동성 단위당 초과 수익이 얼마인지. 높을수록 좋습니다.
기준
1.0 이상이면 무난, 2.0 이상이면 우수, 3.0 이상이면 의심해 봐야 합니다(또는 측정 기간이 너무 짧거나).
주의
샤프는 하방 변동성만 따로 페널티 주지 않습니다 — 잦은 소액 수익과 드문 대형 손실 구조의 전략은, 폭발하기 직전까지 샤프 > 1.5를 보여줄 수 있습니다.

자산 곡선 (Equity curve)

정의
백테스트 기간 동안 계좌 잔고의 추이를 나타낸 라인 차트. 백테스트 결과에서 가장 많은 정보를 담은 단일 시각화입니다.
기준
전반적으로 우상향하면서, 부드럽고, 낙폭이 보이지만 회복 가능한 수준. 기간 내 알려진 베어마켓 구간에서도 플러스를 유지하면 가산점.
주의
한 번 크게 점프한 뒤 평평한 계단형 곡선이라면, 그 전략은 특정 국면에서 한 번 통했을 뿐 이후엔 작동하지 않았다는 뜻입니다. 폐기하세요.

거래 로그 (Trade log)

정의
개별 거래마다 진입·청산 시각, P&L, 청산 사유(TP / SL / 트레일링 / 시간 / 반대 시그널)가 기록된 내역.
기준
거래 빈도가 본인 라이프스타일과 맞아야 합니다 — 하루 8번 진입하는 전략은 상시 모니터링 또는 완전 자동화가 필요하고, 주 2번 진입 전략은 설정 후 방치 가능 영역입니다.
주의
전체 수익의 80%가 상위 5% 거래에서 나온다면, 특정 큰 움직임을 잘 잡았던 운에 의존하는 전략입니다. 평균이 아니라 중앙값을 보세요.

백테스트의 5가지 함정 (그리고 샌드박스가 처리하는 방식)

1. 특정 국면에 대한 과적합 (Overfitting)

RSI 하한을 35 → 32 → 28로 조정해 자산 곡선이 멋져 보일 때까지 튜닝합니다. 축하합니다 — 그 특정 가격 구간에서 통했던 파라미터 값을 찾아냈군요. 다른 구간에서 다시 돌리면 수익은 증발합니다. 회피법: 동일 파라미터를 항상 겹치지 않는 두 개 이상의 구간(예: 2023-2024 AND 2024-2025)에서 테스트하세요. 샌드박스에서는 너무 쉽습니다 — 설정을 복제하고 기간만 바꿔 결과를 비교하면 됩니다. 지표가 무너지면 과적합입니다.

2. 수수료가 없다고 가정하기

건당 0.1%로 하루 30번 발화하는 스캘핑 전략은 수수료만으로 하루 6%를 태웁니다. 샌드박스는 거래소별 실제 테이커 수수료(Hyperliquid 0.045%, Binance 0.05%, Bybit 0.055% 등)를 모든 체결에 적용합니다. 고빈도 전략을 테스트하는데 결과에 수수료가 반영되지 않았다면, 화면에 보이는 그 숫자는 픽션입니다. 샌드박스의 프로핏 팩터와 순 PnL은 모두 수수료 차감 후 수치입니다. 확인 방법: 거래 로그에서 거래마다 작은 비용으로 수수료가 진입/청산에 반영되어 있는지 체크하세요.

3. 즉시 체결 가정하기

실전에서는 원하는 정확한 가격에 주문이 체결되지 않습니다 — 슬리피지가 있고, 큰 사이즈이거나 유동성이 얇은 페어일수록 심합니다. 단순한 백테스트는 다음 봉의 시가에 체결시키는데, 이는 낙관적인 가정입니다. 샌드박스는 보수적인 체결 모델을 사용합니다: 시장가 주문은 봉 시가에 설정 가능한 슬리피지 허용치(기본값 0.05%)를 더해 체결, 익절은 봉 고가가 TP 레벨에 닿을 때 체결("touch vs close" 토글에 따라 종가 기준도 가능), 손절은 트리거된 봉 내부에서 SL 가격에 체결됩니다. 확인 방법: 슬리피지 허용치를 더 빡빡하게 조이고 다시 돌려보세요 — 결과가 무너지면, 그 전략은 완벽한 체결에 의존하는 전략입니다.

4. 룩어헤드 편향 (Look-ahead bias)

이게 가장 음흉한 함정입니다. 현재 봉의 종가를 보고 그 봉 안에서 진입 여부를 결정하는 전략이라면, 사실상 부정행위입니다 — 실시간에서는 의사결정 시점에 그 봉이 아직 닫히지 않았습니다. 샌드박스는 인과율을 강제합니다: N번째 봉에서 엔진은 봉 0부터 N-1까지의 OHLCV만 봅니다. N번째 봉의 시가에서 사용되는 지표값은 이전 N-1개 봉으로 계산됩니다. "현재 봉 종가"를 읽으려는 전략을 기술하면, 샌드박스는 자동으로 이전 봉의 종가를 대체값으로 사용합니다. 확인 방법: "이번 봉에서 가격이 EMA를 되찾았다"는 식의 전략은 "직전 봉이 EMA를 되찾았다"로 재구성해야 합니다.

5. 시장 국면 변화에 대한 무감각 (Regime change blindness)

크립토 추세는 국면마다 다르게 보입니다 — 축적(accumulation), 상승(markup), 분배(distribution), 하락(markdown). 상승 국면에서 돈을 찍어내던 전략이 분배 국면에서는 출혈하는 경우가 많습니다. 기본 3년 샌드박스 윈도우는 의미 있는 낙폭을 포함한 최소 한 사이클을 커버하지만, 기간을 명시적으로 쪼개서 각 하위 구간을 확인해야 합니다. 확인 방법: 동일 설정을 2023, 2024, 2025 세 번에 걸쳐 돌리고, 각 연도의 지표를 독립적으로 보세요. 2024년이 전체 결과를 떠받치고 있다면, 당신은 2024년의 반복에 베팅하고 있는 셈입니다.

fomoed 샌드박스가 정직성을 유지하는 방식

샌드박스 엔진은 라이브 봇과 동일한 Python 코드를 실행합니다 — 평행 구현이 아닙니다. 지표 수식, 시그널 평가, 포지션 사이징, 수수료 차감, TP/SL 체결 규칙, 트레일 스톱 추적: 모두 단일 소스 오브 트루스. 백테스트된 전략을 라이브 봇으로 승격할 때 바뀌는 것은 엔진이 읽는 캔들 스트림이 무엇이냐뿐입니다 — 과거 parquet vs 라이브 거래소 WS — 나머지 모든 바이트는 동일합니다.

이게 중요한 이유는, 시중 백테스팅 도구들은 대부분 결국 배포할 라이브 실행 플랫폼과 코드 경로가 다르기 때문입니다. 그것들은 "대충 비슷한" 로직을 미묘하게 다른 가정으로 시뮬레이션하고 — 실제 체결이 끼어드는 순간 그 간극이 당신의 엣지를 조용히 갉아먹습니다. 샌드박스는 설계 자체로 그 간극을 제거합니다.

엔진은 결과 스키마도 공개적으로 게시합니다: 지표(승률, 프로핏 팩터, MDD, 샤프, 총/순 PnL, 평균 수익/손실, 평균 보유 시간), 사유가 포함된 전체 거래 로그, 그리고 시계열로 제공되는 자산 곡선. 모든 걸 단일 숫자로 뭉뚱그려 잘 보이게 최적화한 숨겨진 "점수" 필드 같은 건 없습니다 — 모든 지표는 거래 로그로부터 독립적으로 검증 가능합니다.

자주 묻는 질문

백테스트는 얼마나 걸리나요?

1년 미만 기간이라면 대부분 10-30초 안에 완료됩니다. 다년치 5분봉 백테스트는 처음에는 최대 90초까지 걸릴 수 있지만, 이후에는 OHLCV 캐시가 적중하면서 재실행이 5-10배 빨라집니다.

과거 데이터는 얼마나 제공되나요?

지원 페어별로 6개 타임프레임(1m, 5m, 15m, 30m, 1h, 4h)에 걸쳐 3년치 OHLCV가 제공됩니다. 캐시는 매일 밤 cron으로 갱신됩니다. 새로 상장된 페어나 데이터가 희소한 페어를 백테스트하면, 첫 실행 시 엔진이 CCXT 라이브에서 빠진 구간을 채우고 이후 실행을 위해 캐시합니다.

결과는 결정론적인가요?

네 — 동일 설정 + 동일 기간 = 동일 결과. 엔진에는 숨겨진 무작위성이 없으며, 슬리피지조차 봉의 시/고/저/종가에 대해 결정론적으로 적용됩니다. 즉, 두 설정을 동일 구간에 돌려 완전히 동일 조건에서 비교할 수 있습니다.

거래 로그를 내보낼 수 있나요?

네 — 모든 백테스트 결과에 개별 거래 정보가 담긴 CSV 다운로드가 포함됩니다(진입·청산 시각과 가격, 포지션 크기, 수수료, P&L, 청산 사유). 스프레드시트나 pandas 노트북에서 자체 분석을 하고 싶을 때 유용합니다.

백테스트에 펀딩비도 반영되나요?

무기한 계약에 대해서는 반영됩니다 — 엔진은 포지션 보유 중 각 펀딩 윈도우에서 실현된 8시간 펀딩비를 적용합니다. 가능한 경우 거래소의 과거 펀딩비 데이터를 가져오고, 드물게 제공되지 않는 경우엔 보수적으로 0의 펀딩비 가정을 사용합니다.

익절에서 "touch"와 "close"의 차이는?

Touch는 봉의 고가가 봉 내부에서 TP 가격에 닿는 순간 TP가 체결됩니다. Close는 봉의 종가가 TP 가격 이상에서 마감되어야만 체결됩니다. Touch가 더 낙관적(빠른 움직임에서의 시장가 주문 동작과 일치)이고, Close가 더 보수적(지정가 주문 동작 또는 봉 내부 유동성이 얕은 경우와 일치)입니다. 샌드박스는 TP별로 선택할 수 있게 해줍니다.

승률 90% 백테스트는 믿어도 되나요?

아니요. 승률만 단독으로 극대화해야 할 지표인 경우는 거의 없습니다 — 반드시 프로핏 팩터, MDD, 자산 곡선과 함께 보세요. 승률 90% + 프로핏 팩터 0.7이라면, 조금씩 따고 크게 잃는 구조입니다 — 천천히 깡통 찰 전략입니다. 승률 45% + 프로핏 팩터 2.5라면, 잃을 때보다 딸 때 더 크게 따는 구조입니다 — 보통은 후자가 더 나은 전략입니다.

추측은 그만 — 당신의 아이디어를 백테스트하세요

여기까지 읽으신 이유가 있을 겁니다. 샌드박스는 무료이고, Python이 필요 없으며, 지원되는 모든 페어에 대해 3년치 과거 데이터를 제공합니다.

무료로 시작하기 →

관련 자료