백테스팅 프로그램, 결국 뭘 쓰면 되나
"백테스팅 프로그램 추천"을 검색해 본 분들은 비슷한 경험을 하셨을 겁니다. 어떤 글은 파이썬 라이브러리 이름을 늘어놓고, 어떤 글은 무료 사이트를 소개하고, 어떤 글은 "증권사 프로그램이면 충분하다"고 합니다. 다 맞는 말인데 정작 내가 뭘 골라야 하는지는 안 알려줍니다. 이유는 간단합니다. 도구는 취향이 아니라 조건이 정하기 때문입니다. 이 글은 백테스팅 도구를 다섯 갈래로 정리하고, 각 갈래가 무엇을 해주고 어디서 막히는지, 그리고 도구마다 다른 방식으로 숨기는 거짓말이 무엇인지를 코딩 지식 없이 판단할 수 있게 정리합니다.
이 글의 흐름
- "뭘 쓰죠?"는 사실 두 개의 질문이다
- 도구를 고르기 전에 정해야 할 네 가지
- 백테스팅 도구 5갈래 지도
- 갈래별 상세 — 해주는 것과 막히는 벽
- 한눈 비교표
- 데이터는 어디서 오나 — 도구 선택의 숨은 절반
- 도구마다 다르게 숨는 거짓말 다섯
- "무료"의 진짜 가격 세 가지
- 도구가 절대 바꿔주지 않는 여섯 가지
- 백테스트 도구와 실전 봇은 다른 프로그램이다
- 5초 선택 가이드 · 확인 체크리스트 8줄
- 자주 하는 실수 6 · 시나리오 3 · 오해 5
- 한 장 요약 · 자주 묻는 질문
먼저 분명히 해둘 것. 이 글은 백테스팅 도구를 고르는 방법에 관한 일반적인 정보이며, 투자 자문이나 종목·전략 추천이 아닙니다. 어떤 도구를 쓰더라도 과거 성과는 미래 성과를 보장하거나 예측하지 않습니다. 또한 아래 언급되는 서비스·라이브러리의 기능 범위, 요금제, 제공 데이터 기간, 지원 증권사는 수시로 바뀌므로 반드시 각 서비스의 공식 문서·안내를 직접 확인하시기 바랍니다.
1. "뭘 쓰죠?"는 사실 두 개의 질문이다
백테스팅 도구를 찾는 사람의 머릿속에는 대개 두 개의 질문이 섞여 있습니다. 이 둘을 분리하지 않으면 어떤 추천을 들어도 만족하지 못합니다.
질문 A — "계산기를 하나 주세요"
- 내 규칙은 이미 정해져 있다
- 과거에 어땠는지 숫자로 보고 싶다
- 필요한 건 계산해 주는 도구
- → 이 글이 답하는 질문
질문 B — "좋은 전략을 찾아 주세요"
- 아직 규칙이 문장으로도 없다
- 도구가 알아서 좋은 조합을 찾아주길 기대
- 이건 계산기가 아니라 탐색의 영역
- → 도구를 바꿔도 해결되지 않음
질문 B로 도구를 찾는 분들이 실제로 많습니다. 그런데 백테스팅 도구는 내가 준 규칙이 과거에 어떤 숫자를 만들었는지 계산해 주는 기계지, 좋은 규칙을 발명해 주는 기계가 아닙니다. 규칙이 아직 "느낌"에 머물러 있다면 도구 선택보다 먼저 해야 할 일이 있습니다. 그 과정은 감으로 하던 매매를 규칙으로 바꾸는 5단계에 따로 정리해 두었습니다. 규칙이 "진입·청산·손절·수량·거르기" 다섯 칸으로 적히기 전에는, 어떤 프로그램을 켜도 화면만 보다 닫게 됩니다.
한 줄로. 백테스팅 도구는 번역기입니다. 내 규칙을 과거 데이터에 대입해 숫자로 번역해 줍니다. 번역할 원문이 없으면 아무 일도 일어나지 않습니다.
2. 도구를 고르기 전에 정해야 할 네 가지
도구를 먼저 고르면 십중팔구 갈아탑니다. 반대로 아래 네 가지를 먼저 답하면 선택지는 저절로 한두 개로 줄어듭니다. 실제 상담에서도 이 네 줄만 받으면 추천이 거의 자동으로 결정됩니다.
도구 선택 전 4문항
- ① 어느 시장인가 — 국내주식 / 미국주식 / 코인 / 선물·해외선물. 시장이 다르면 데이터 출처도, 거래 규칙도, 쓸 수 있는 도구도 달라집니다.
- ② 봉의 시간 단위는 — 일봉인가, 5분봉인가, 틱인가. 짧아질수록 필요한 데이터 양과 도구의 급이 급격히 올라갑니다.
- ③ 종목이 몇 개인가 — 한 종목 고정인가, 조건에 맞는 여러 종목을 매일 갈아타는가. 후자는 도구 선택의 난이도를 완전히 바꿉니다.
- ④ 결과를 어디에 쓸 건가 — 내 눈으로 확인만 할 건가, 업체에 맡길 때 근거로 쓸 건가, 그대로 실전 봇으로 이어갈 건가.
특히 ②와 ③이 결정적입니다. "일봉 + 한 종목"이면 사실상 아무 도구나 됩니다. "분봉 + 조건에 맞는 여러 종목"이 되는 순간 대부분의 간편 도구가 탈락합니다. 시간 단위가 왜 이렇게 많은 것을 결정하는지는 자동매매의 시간 단위(타임프레임) 완전 정리에서 다뤘습니다.
3. 백테스팅 도구 5갈래 지도
시중의 백테스팅 수단은 이름은 수십 개지만, 성격으로 묶으면 다섯 갈래입니다. 왼쪽으로 갈수록 쉽고 빠르지만 좁고, 오른쪽으로 갈수록 자유롭지만 손이 많이 갑니다. 어느 쪽이 우월한 게 아니라, 2장의 네 문항이 나를 어느 칸에 세우느냐의 문제입니다.
4. 갈래별 상세 — 해주는 것과 막히는 벽
갈래 1 — 증권사 시스템 트레이딩 소프트웨어의 전략 테스터
국내주식을 하시는 분에게 가장 가까이 있는 선택지입니다. 증권사가 제공하거나 제휴로 무료 제공하는 시스템 트레이딩 전용 프로그램들이 여기 속합니다. 차트 위에 조건을 걸어 전략을 만들고, 그 전략을 과거 구간에 돌려 성과를 표로 뽑아 줍니다. 상당수는 계좌만 있으면 별도 비용 없이 쓸 수 있는 구조인 경우가 많은데, 무료 제공 조건과 지원 상품은 증권사·프로그램마다 다르므로 해당 증권사 공식 안내를 확인해야 합니다.
해주는 것: 국내 시장에 맞춘 데이터가 이미 들어 있다는 점이 가장 큽니다. 종목 코드, 거래 시간, 호가 단위 같은 국내 특유의 규격을 내가 챙기지 않아도 됩니다. 전략 테스트에서 실전 주문까지 같은 프로그램 안에서 이어지는 경우도 있습니다.
막히는 벽: ① 대부분 윈도우 전용 설치형이라 24시간 켜둘 PC가 필요합니다. ② 전략 언어가 그 프로그램 고유 문법이라 다른 곳으로 옮기기 어렵습니다. ③ 코인이나 해외 시장은 대체로 다루지 못합니다. ④ 과거 데이터의 기간·정밀도(특히 분봉·틱)가 제한되는 경우가 있습니다. 국내 증권사별 자동매매 환경 차이는 증권사 API 비교 2026에 실측 기준으로 정리해 두었습니다.
갈래 2 — 차트 플랫폼의 전략 테스터 (트레이딩뷰 계열)
차트를 보러 들어간 김에 전략도 테스트할 수 있는 경로입니다. 차트 위에 전략 스크립트를 얹으면 매수·매도 화살표가 표시되고, 하단 패널에 성과 요약이 나옵니다. 진입 장벽이 낮고, 결과가 차트 위에 그려져서 "언제 사고 언제 팔았는지" 눈으로 확인된다는 것이 가장 큰 장점입니다. 백테스트를 처음 접하는 분에게는 이 시각적 확인이 숫자 표보다 훨씬 교육적입니다.
막히는 벽: ① 성과 계산에는 여러 가정이 들어가는데, 특히 하나의 봉 안에서 고가와 저가 중 무엇이 먼저 왔는지를 프로그램이 알 수 없어 추정으로 처리합니다. 이 추정이 손절과 익절이 같은 봉 안에 걸리는 전략에서 결과를 크게 흔듭니다. ② 정밀 검증 기능, 과거 데이터 제공 기간, 봉 개수 제한은 요금제에 따라 달라지는 경우가 많으므로 공식 문서를 확인해야 합니다. ③ 값이 나중에 바뀌는 지표(이른바 리페인팅)를 쓰면 과거 성과가 실제로는 불가능했던 매매로 채워집니다. 트레이딩뷰를 자동매매까지 연결하는 전체 그림은 트레이딩뷰 자동매매 완전 가이드에서 따로 다뤘습니다.
봉 안에서 무슨 일이 먼저 일어났는가. 일봉 하나에는 시가·고가·저가·종가 네 숫자만 있습니다. 그날 고가를 먼저 찍고 저가로 갔는지, 반대인지는 그 네 숫자에 담겨 있지 않습니다. 익절선과 손절선이 같은 날 모두 닿는 전략이라면, 프로그램의 가정 하나로 승패가 뒤집힙니다. 백테스트 성과가 좋다면 이 가정부터 의심하는 것이 순서입니다.
갈래 3 — 웹 퀀트 플랫폼 (브라우저에서 조건 조합)
브라우저에서 재무 지표·기술적 조건·수급 조건을 체크박스와 숫자 입력으로 조합하면, 그 조건에 맞는 종목을 매 시점 골라 담았을 때의 과거 성과를 보여주는 서비스들입니다. 국내에도 이런 플랫폼이 있고, 설치 없이 접근할 수 있다는 점 때문에 "백테스팅 사이트"를 검색하는 분들이 실제로 원하던 물건에 가장 가깝습니다.
해주는 것: 갈래 1·2가 잘 못하는 여러 종목 선별(유니버스)을 정면으로 다룹니다. "시가총액 하위 30%이면서 부채비율이 낮고 최근 거래량이 늘어난 종목을 매달 20개"처럼, 종목이 매번 바뀌는 전략을 코드 없이 테스트할 수 있습니다. 이 접근법의 개념적 배경은 퀀트 팩터 투자 입문에 정리해 두었습니다.
막히는 벽: ① 조합할 수 있는 조건이 플랫폼이 준비한 목록 안으로 제한됩니다. ② 상장폐지된 종목이 과거 데이터에서 빠져 있으면 성과가 실제보다 좋아 보이는 생존 편향이 생기는데, 이 처리 방식은 플랫폼마다 다르므로 반드시 확인해야 할 항목입니다. ③ 매매 시점 가정(종가 매수인지 다음날 시가인지)이 결과를 크게 좌우합니다. ④ 대체로 유료 구간이 있고, 무료 구간은 기능·기간이 제한됩니다.
갈래 4 — 엑셀 · 구글 스프레드시트
가장 과소평가되는 갈래입니다. "엑셀로 백테스트를 한다"고 하면 초보처럼 들리지만, 실제로는 규칙을 처음 숫자로 옮길 때 가장 정직한 도구입니다. 이유는 하나, 모든 계산이 셀에 보이기 때문입니다. 다른 도구들은 결과 숫자만 던져주기 때문에 계산이 틀려도 알 수가 없습니다. 엑셀에서는 20일 이동평균이 정말 20일치를 평균한 값인지 셀을 눌러 확인할 수 있습니다.
막히는 벽: ① 종목 수와 기간이 늘면 관리가 붕괴합니다. ② 무엇보다 미래 참조 실수가 눈에 잘 안 띕니다. 같은 행(같은 날)의 종가로 그날 매수 여부를 계산하면, 현실에서는 불가능한 "종가를 미리 알고 사는" 매매가 됩니다. 이런 함정의 목록은 백테스트와 실거래가 벌어지는 7가지 이유에 자세히 있습니다.
실무 팁. 엑셀은 "이 규칙이 계산 가능한 규칙인가"를 확인하는 1차 관문으로 쓰고, 통과하면 다른 도구로 옮겨 다시 계산해 교차 확인하는 방식이 좋습니다. 서로 다른 두 도구에서 비슷한 숫자가 나오면 최소한 계산 실수는 아니라는 뜻입니다.
갈래 5 — 파이썬 라이브러리
제한이 사실상 사라지는 대신 학습과 시간을 지불하는 갈래입니다. 데이터를 직접 구해와야 하고, 수수료와 슬리피지도 직접 넣어야 하고, 결과 표도 직접 만들어야 합니다. 대신 내가 상상할 수 있는 규칙이면 대체로 계산할 수 있습니다. 파이썬 환경 자체가 처음이라면 파이썬 자동매매 입문 완전 가이드부터 보시는 편이 순서에 맞습니다.
라이브러리를 고르는 기준은 단순합니다. 속도가 급한가, 현실성이 급한가.
직접 계산 (pandas)
라이브러리 없이 표 계산으로 직접 구현. 배우는 목적에는 최고입니다. 모든 가정을 내가 정하므로, 반대로 실수도 전부 내 책임입니다.
사건 기반 엔진
봉을 하나씩 순서대로 읽으며 주문·체결을 흉내 냅니다. 느리지만 현실에 가깝습니다. 손절·분할·미체결이 중요한 전략에 적합합니다.
벡터화 엔진
전체 기간을 한 번에 계산해 압도적으로 빠릅니다. 파라미터를 대량으로 훑을 때 유리하지만, 현실적인 체결 재현은 상대적으로 약합니다.
대표적인 이름을 들자면, 초심자가 구조를 익히기 좋은 간결한 라이브러리, 오랫동안 널리 쓰여 자료가 많은 사건 기반 엔진, 수천 개 조합을 초 단위로 훑는 벡터화 엔진, 미국 주식 팩터 연구에 강한 커뮤니티 유지보수 엔진, 그리고 성과 리포트만 전담해 그려주는 보조 도구들이 있습니다. 다만 오픈소스 라이브러리는 유지보수 상태가 시간에 따라 크게 달라집니다. 몇 해 전만 해도 표준이던 것이 지금은 갱신이 멈춰 있기도 하고, 그 사이 공동체 포크가 사실상의 후속이 되어 있기도 합니다. 그래서 이름을 외우는 것보다 고르기 직전에 공식 저장소의 최근 갱신 이력과 미해결 이슈를 직접 확인하는 습관이 훨씬 중요합니다.
속도의 함정. "1만 개 조합을 몇 초 만에 돌립니다"는 장점처럼 들리지만, 동시에 수백 번 중 가장 예쁜 것을 고르게 되는 위험을 폭발적으로 키웁니다. 이 문제는 도구의 결함이 아니라 사용자의 절차 문제이며, 데이터 스누핑·다중검정의 함정에서 정면으로 다뤘습니다. 빠른 도구를 쓸수록 검증 규율이 더 필요합니다.
갈래 5-B — 맞춤 제작 (코드를 배우지 않고 자유도만 갖기)
파이썬 갈래의 자유도는 필요한데 파이썬을 배울 시간과 의사가 없는 경우가 있습니다. 이때는 검증과 실전 봇을 함께 맡기는 경로가 있습니다. 이 갈래의 실질적 차이는 자유도가 아니라 검증과 실전이 같은 코드 위에서 이어진다는 데 있습니다. 백테스트를 A라는 도구로 하고 실전을 B라는 프로그램으로 돌리면, 둘 사이의 미세한 해석 차이가 그대로 괴리가 됩니다. 비용 감각은 자동매매 개발 비용·견적 가이드에 실제 견적 기준으로 정리해 두었습니다.
5. 한눈 비교표
| 갈래 | 코딩 | 주력 시장 | 여러 종목 | 분봉 이하 | 실전 연결 | 주된 약점 |
|---|---|---|---|---|---|---|
| 1. HTS 내장 | 불필요~조금 | 국내주식·선물 | 제한적 | 가능(데이터 기간 확인) | 같은 프로그램 내 가능한 경우 있음 | PC 상주·전용 문법·시장 제한 |
| 2. 차트 플랫폼 | 스크립트 조금 | 코인·해외·국내 일부 | 약함 | 요금제 따라 상이 | 알림·웹훅 경유(별도 구성) | 봉 내부 체결 가정·리페인팅 |
| 3. 웹 퀀트 플랫폼 | 불필요 | 국내주식 중심 | 강함 | 대체로 약함 | 플랫폼별 상이 | 조건 목록 제한·생존 편향 확인 필요 |
| 4. 엑셀 | 불필요(수식) | 제한 없음(데이터 나름) | 매우 약함 | 매우 약함 | 없음 | 규모·미래 참조 실수 |
| 5. 파이썬 | 필요 | 제한 없음 | 강함 | 강함 | 직접 구현 | 학습 시간·데이터 조달·자기검증 |
| 5-B. 맞춤 제작 | 불필요(위탁) | 제한 없음 | 강함 | 강함 | 같은 코드로 이어짐 | 비용·명세서 정확도에 좌우 |
※ 위 표는 갈래의 일반적 성격을 정리한 것이며 특정 제품의 사양표가 아닙니다. 개별 서비스의 기능·요금·데이터 범위는 공식 안내를 확인하세요.
6. 데이터는 어디서 오나 — 도구 선택의 숨은 절반
"백테스팅 프로그램"을 검색하는 분들이 거의 예외 없이 나중에 부딪히는 벽이 데이터입니다. 도구는 계산기일 뿐이고, 계산기에 넣을 숫자를 어디서 가져오느냐가 사실상 도구 선택의 절반입니다. 갈래를 나누는 실질적 기준도 여기에 있습니다.
갈래 1·2·3은 데이터가 도구 안에 들어 있는 방식입니다. 프로그램을 켜면 시세가 이미 그려져 있으니 데이터를 의식할 일이 없습니다. 편한 대신, 그 데이터가 어디까지 있고 어떻게 다듬어졌는지를 내가 통제할 수 없습니다. 반대로 갈래 4·5는 데이터를 내가 조달하는 방식입니다. 자유롭지만 처음 시작하는 사람이 가장 자주 포기하는 지점이기도 합니다.
| 확인 항목 | 왜 중요한가 | 놓치면 생기는 일 |
|---|---|---|
| 수정주가 반영 | 액면분할·유상증자·배당 등으로 과거 가격은 조정됩니다 | 분할 당일에 가격이 반토막 난 것처럼 보여 존재하지 않던 폭락·급등 신호가 생깁니다 |
| 상장폐지 종목 포함 | 지금 존재하는 종목만 담긴 데이터는 이미 '살아남은 것들'입니다 | 어떤 규칙을 넣어도 성과가 좋아 보이는 생존 편향이 생깁니다 |
| 결측·중복 봉 | 거래 정지·시스템 장애 구간은 데이터가 비거나 겹칩니다 | 이동평균·거래량 계산이 조용히 어긋나고, 오류 없이 틀린 값이 나옵니다 |
| 시간대 기준 | 해외·코인 데이터는 표기 시간대가 제각각입니다 | 봉 하나가 통째로 밀려 신호가 실제보다 앞서거나 늦게 잡힙니다 |
| 제공 기간 | 분봉·틱은 보관 기간이 짧은 경우가 많습니다 | 사례 수가 부족해 검증 자체가 성립하지 않습니다 |
다섯 항목 중 가장 자주 사고를 내는 것은 수정주가입니다. 국내주식에서 액면분할이 있었던 종목의 조정 전 데이터를 그대로 쓰면, 분할 당일에 가격이 급락한 것처럼 보입니다. 하락 돌파 규칙이 그 지점에서 신호를 내고, 백테스트는 그것을 정상 거래로 계산합니다. 데이터를 직접 구해 쓰는 갈래 4·5에서 특히 흔한 사고이며, 도구가 알려주지 않습니다.
데이터 출처를 고를 때의 최소 질문 3개. ① 수정주가인가 원주가인가, ② 폐지·상장 종목이 어떻게 처리되는가, ③ 제공 기간과 봉 단위는 어디까지인가. 무료 데이터든 유료 데이터든, 그리고 도구 내장 데이터든 이 셋은 공식 안내에서 확인할 수 있어야 합니다. 답을 찾을 수 없는 출처라면 검증 결과의 신뢰도도 그만큼 낮다고 보는 편이 안전합니다.
코인 시장은 조금 사정이 다릅니다. 수정주가나 상장폐지 개념은 약한 대신, 거래소마다 가격과 거래량이 다르고 어느 거래소의 데이터로 검증했는지가 결과를 좌우합니다. 실전에서 A 거래소로 매매할 계획이라면 검증도 A 거래소 데이터로 하는 것이 기본입니다. 거래소별 환경 차이는 코인 자동매매 완전 가이드에 정리되어 있고, 과거 시세를 직접 받아오려면 대개 거래소 API 키가 필요합니다(발급 절차는 바이낸스 API 키 발급 가이드, 국내 거래소는 업비트 자동매매 가이드 참고). 조회 전용 권한만 켜고 출금 권한은 반드시 끈 채로 쓰시고, 검증 단계에서는 주문 권한도 필요 없습니다.
7. 도구마다 다르게 숨는 거짓말 다섯
여기가 이 글에서 가장 중요한 부분입니다. 백테스트의 함정을 다루는 글은 많지만, 대개 "과최적화를 조심하라" 같은 공통 함정을 말합니다. 실제로 사람을 잡는 것은 내가 쓰는 도구가 구조적으로 잘 숨기는 특정한 거짓말입니다. 도구별로 눈여겨봐야 할 지점이 다릅니다.
| 도구 갈래 | 이 도구가 특히 잘 숨기는 것 | 확인하는 방법 |
|---|---|---|
| HTS 내장 테스터 | 수수료·세금·슬리피지의 기본값. 0으로 잡혀 있거나 실제와 다른 값일 수 있음 | 설정 화면에서 비용 항목을 직접 열어 내 계좌 실제 수수료·세금으로 바꿔 재계산 |
| 차트 플랫폼 | 같은 봉 안의 순서 가정, 그리고 값이 나중에 바뀌는 지표 | 손절·익절이 같은 봉에 걸린 거래만 따로 세어 보기 / 지표를 과거로 되감아 신호가 그대로인지 확인 |
| 웹 퀀트 플랫폼 | 상장폐지 종목의 부재(생존 편향)와 종목 선별 시점 | 과거 특정 시점에 실제로 그 종목을 살 수 있었는지, 폐지 종목이 포함되는지 서비스 안내에서 확인 |
| 엑셀 | 미래 참조 — 같은 행의 종가로 그날 매수를 계산하는 실수 | 매수 판단에 쓰는 셀이 모두 전날 행 이하를 참조하는지 한 칸씩 추적 |
| 파이썬 | 데이터 자체의 결함(수정주가 미반영·결측·중복)과 내가 짠 로직의 조용한 버그 | 거래 내역을 몇 건 뽑아 손으로 다시 계산 / 일부러 말이 안 되는 규칙을 넣어 결과가 나빠지는지 확인 |
마지막 줄의 "일부러 말이 안 되는 규칙을 넣어보기"는 의외로 강력한 점검입니다. 예를 들어 무작위로 사고파는 규칙을 넣었는데 성과가 화려하게 나온다면, 그건 전략이 좋은 게 아니라 계산 어딘가가 틀렸다는 뜻입니다. 어떤 도구를 쓰든 한 번은 해볼 만한 시험입니다.
공통으로 남는 것. 위 다섯은 도구별 특성이고, 그 위에 모든 도구가 공유하는 함정이 있습니다. 과최적화, 표본외 미검증, 시장 체제 변화, 그리고 "수백 번 중 최고만 보여주기"입니다. 도구를 바꿔도 이건 사라지지 않습니다. 실전 투입 전 절차는 실전 투입 전 검증 3단계를 따르시길 권합니다.
8. "무료"의 진짜 가격 세 가지
백테스팅 도구를 찾는 분들의 첫 필터는 대개 "무료"입니다. 자연스러운 일이고, 실제로 무료로 시작해도 되는 경우가 많습니다. 다만 무료 도구의 비용은 요금 청구서 대신 세 가지 형태로 나타납니다.
① 데이터로 낸다
제공 기간이 짧거나, 분봉이 없거나, 상장폐지 종목이 빠져 있습니다. 데이터가 좁으면 검증도 딱 그만큼만 유효합니다.
② 시간으로 낸다
파이썬은 요금이 0원이지만 학습·구현·디버깅에 수십 시간이 듭니다. 시간을 0원으로 계산하면 언제나 무료가 이깁니다.
③ 정확도로 낸다
비용 기본값이 낙관적이거나 체결 가정이 느슨하면 성과가 부풀려집니다. 가장 비싼 지불 방식입니다.
③이 특히 위험한 이유는, 지불했다는 사실 자체를 모르기 때문입니다. 데이터가 부족하면 화면에 "데이터 없음"이 뜨지만, 슬리피지 0으로 계산된 성과는 아무 경고도 없이 예쁘게 나옵니다. 체결이 왜 내 생각과 다르게 이뤄지는지는 체결·슬리피지의 진짜 원리에서, 손익분기에 필요한 비용 감각은 최소 자본·수수료·손익분기에서 확인하실 수 있습니다.
무료 도구를 쓸 때의 최소 안전장치. 수수료와 세금은 내 계좌 기준으로 직접 입력하고, 슬리피지는 모르면 넉넉하게 잡으십시오. 보수적으로 잡아서 여전히 견딜 만한 전략이라야 실전에서도 견딥니다. 구체적인 세율·수수료율은 상품과 시점에 따라 다르므로 증권사·거래소 공식 안내와 국세청 자료를 확인하세요.
9. 도구가 절대 바꿔주지 않는 여섯 가지
도구를 갈아타면 해결될 것 같지만 실제로는 그대로 따라오는 것들입니다. 도구 검색에 시간을 쓰기 전에 한 번 읽어볼 만합니다.
- 규칙이 없다는 사실 — 도구는 규칙을 계산하지 발명하지 않습니다.
- 데이터의 품질 — 좋은 엔진에 나쁜 데이터를 넣으면 정교하게 틀린 답이 나옵니다.
- 수백 번 중 고르기 — 빠른 도구는 이 유혹을 키우기만 합니다.
- 실거래 배관 — 인증·주문·체결 확인·재시도는 백테스트 밖의 일입니다.
- 사람의 심리 — 손실 구간에서 끄고 싶어지는 마음은 도구와 무관합니다. 이 부분은 트레이딩 심리·행동경제학에서 다뤘습니다.
- 시장이 변한다는 사실 — 과거 데이터는 과거입니다. 어떤 도구도 미래를 계산하지 못합니다.
10. 백테스트 도구와 실전 봇은 다른 프로그램이다
백테스팅 도구를 찾는 분들이 가장 자주 놓치는 지점입니다. "백테스트가 잘 나오는 프로그램을 찾으면 그게 곧 자동매매 프로그램"이라고 생각하기 쉬운데, 실제로는 둘이 하는 일의 범위가 크게 다릅니다.
이 그림이 말하는 실무적 결론은 하나입니다. 백테스트를 A 도구로 하고 실전을 B 프로그램으로 돌리면, 두 곳의 해석 차이가 그대로 괴리로 나타납니다. "20일 이동평균 돌파에 매수"라는 같은 문장도, A는 종가 확정 후 다음 봉 시가에 사고 B는 돌파하는 순간 사도록 만들어져 있을 수 있습니다. 이 정도 차이만으로도 성과는 달라집니다.
그래서 실전까지 갈 계획이라면, 도구를 고를 때 "이 검증 결과를 실전으로 어떻게 옮길 것인가"를 함께 정해야 합니다. 선택지는 대체로 세 가지입니다. ① 같은 플랫폼 안에서 실전까지 지원되는 경로를 쓴다(지원 범위 확인 필수), ② 파이썬으로 검증과 실전을 같은 코드에서 만든다, ③ 검증과 실전을 함께 맡긴다. 어느 쪽이든 요점은 같습니다. 규칙을 두 번 번역하지 않는 것.
맡길 때 이 한 줄을 넣으세요. "백테스트에 사용한 규칙 계산 로직과 실전 봇의 계산 로직이 동일함을 확인할 수 있게 해 주세요." 명세서에 넣을 항목 전체는 자동매매 명세서 작성 가이드에 정리되어 있습니다.
11. 5초 선택 가이드
| 내 상황 | 먼저 볼 갈래 | 이유 |
|---|---|---|
| 국내주식 · 일봉 · 한두 종목 · 코딩 못함 | 1 또는 4 | 증권사 프로그램이 이미 있고, 규모가 작아 엑셀도 충분 |
| 코인 · 분봉 · 차트 기반 규칙 | 2 | 차트 위에서 신호를 눈으로 확인하며 빠르게 반복 |
| 국내주식 · 조건에 맞는 여러 종목 교체 | 3 | 유니버스 선별을 코드 없이 다룰 수 있는 유일한 간편 갈래 |
| 규칙을 처음 숫자로 옮기는 중 | 4 | 계산 과정이 전부 보여서 자기 실수를 잡기 좋음 |
| 여러 전략·여러 시장을 동시에 검증 | 5 | 다른 갈래로는 구조적으로 불가능 |
| 검증 결과를 그대로 24시간 봇으로 | 5 또는 5-B | 검증과 실전을 같은 로직 위에 둬야 괴리가 줄어듦 |
| 시간은 없고 실전까지 가고 싶음 | 5-B | 학습 비용을 제작 비용으로 치환하는 선택 |
도구를 확정하기 전 확인할 8줄
- 데이터 기간 — 과거 몇 년치를 주는가? 내 전략의 보유 기간 기준으로 충분한 사례 수가 나오는가?
- 봉 단위 — 내가 쓰려는 시간 단위를 지원하는가? 분봉·틱은 별도 요금인가?
- 비용 입력 — 수수료·세금·슬리피지를 내가 직접 넣을 수 있는가? 기본값은 얼마로 잡혀 있는가?
- 체결 가정 — 신호 발생 후 언제 체결로 처리하는가(당일 종가 / 다음 봉 시가 / 즉시)?
- 종목 범위 — 상장폐지된 종목이 과거 데이터에 포함되는가?
- 표본외 검증 — 기간을 나눠 검증하는 기능이 있는가, 아니면 수동으로 해야 하는가?
- 결과 내보내기 — 거래 내역을 파일로 뺄 수 있는가? (없으면 교차 확인이 불가능합니다)
- 실전 연결 — 이 결과를 실제 매매로 옮기는 경로가 있는가? 있다면 지원 증권사·주문 유형은?
이 여덟 줄 중 3·4·7번을 답하지 못하는 도구는 피하시길 권합니다. 비용을 못 넣고, 체결 가정을 모르고, 내역을 못 빼는 도구는 결과를 검증할 방법이 아예 없습니다. 성과 표를 어떻게 읽어야 하는지는 백테스트 리포트 읽는 법 7가지 지표를 참고하세요.
12. 자주 하는 실수 여섯
도구부터 고른다
규칙이 없는 상태로 프로그램을 깔면 화면만 보다 끝납니다. 규칙 다섯 칸 먼저, 도구는 그다음입니다.
기본값을 그대로 둔다
수수료 0, 슬리피지 0으로 나온 성과는 성과가 아니라 상한선입니다. 설정 화면을 반드시 엽니다.
한 도구만 믿는다
서로 다른 도구로 같은 규칙을 돌려 숫자가 크게 다르면, 둘 중 하나가 틀린 겁니다. 교차 확인이 가장 싼 검증입니다.
기간 전체로 한 번에 최적화
전 구간에 맞춘 값은 그 구간에만 맞습니다. 기간을 나눠 검증하지 않으면 결과의 의미가 없습니다.
거래 내역을 안 본다
요약 지표만 보면 말도 안 되는 매매를 놓칩니다. 몇 건은 반드시 손으로 따라가 봅니다.
도구를 계속 갈아탄다
결과가 마음에 안 들어 도구를 바꾸는 건, 사실 마음에 드는 숫자가 나올 때까지 돌리는 것과 같습니다.
13. 실전 시나리오 셋
시나리오 A — "엑셀에서 좋았는데 파이썬에선 반토막"
같은 규칙, 다른 결과. 이 경우 대부분 원인은 체결 시점 가정입니다. 엑셀에서 같은 행 종가로 매수를 계산했다면 그건 종가를 미리 알고 산 것이고, 파이썬에서 다음 날 시가로 처리했다면 그게 현실에 가깝습니다. 결론: 파이썬 쪽이 맞을 가능성이 높습니다. 낮은 숫자가 나쁜 소식이 아니라, 정직한 소식일 수 있습니다.
시나리오 B — "차트 플랫폼 성과가 승률 80%인데 실거래는 계속 손실"
먼저 확인할 것은 두 가지입니다. ① 손절과 익절이 같은 봉에 걸리는 거래가 얼마나 되는지, ② 사용한 지표가 나중에 값이 바뀌는 종류인지. 이 둘 중 하나에 해당하면 그 승률은 계산 가정이 만들어 낸 숫자일 수 있습니다. 별개로 실거래 쪽 원인도 함께 봐야 합니다 — 백테스트와 실거래의 괴리 참고.
시나리오 C — "웹 플랫폼에서 연 수십 % 나오는 조합을 찾았다"
가장 먼저 물어야 할 질문은 성과가 아니라 "몇 번째로 찾은 조합인가"입니다. 조건을 바꿔가며 수십 번 돌린 끝에 나온 최고 성적이라면, 그 숫자는 전략의 실력이 아니라 시도 횟수의 산물일 가능성이 큽니다. 그리고 그 종목군에 상장폐지 종목이 포함되어 있는지도 확인해야 합니다. 두 질문의 배경은 데이터 스누핑 편에 있습니다.
14. 흔한 오해 다섯
| 흔한 생각 | 실제 |
|---|---|
| "비싼 도구가 더 정확하다" | 가격은 기능·데이터 범위와 관련이 있을 뿐, 내가 넣은 가정이 틀리면 어떤 도구도 틀립니다. |
| "백테스팅 사이트에 좋은 전략이 이미 들어 있다" | 공개된 예제 전략은 대체로 기능 시연용입니다. 그대로 쓰라고 만든 것이 아닙니다. |
| "파이썬이 무조건 정답" | 일봉 한 종목이면 과잉입니다. 파이썬의 값어치는 제한이 문제가 될 때 나옵니다. |
| "백테스트가 좋으면 실전도 좋다" | 백테스트는 필요조건이지 충분조건이 아닙니다. 과거 성과는 미래를 보장하지 않습니다. |
| "도구 하나 정하면 끝" | 실제로는 대개 두 개를 씁니다 — 빠르게 훑는 도구 하나, 현실적으로 재현하는 도구 하나. |
15. 한 장 요약
| 구분 | 기억할 것 |
|---|---|
| 선택 순서 | 규칙 다섯 칸 → 조건 4문항 → 갈래 결정. 도구가 먼저 오면 갈아타게 됩니다. |
| 갈래 요약 | 1 국내 HTS · 2 차트 플랫폼 · 3 웹 퀀트 · 4 엑셀 · 5 파이썬 (+5-B 맞춤 제작) |
| 도구별 경계 | 기본값(1) · 봉 내부 가정(2) · 생존 편향(3) · 미래 참조(4) · 데이터와 버그(5) |
| 무료의 대가 | 데이터 · 시간 · 정확도 중 하나로 지불합니다. 셋째가 가장 비쌉니다. |
| 최소 안전장치 | 비용 직접 입력 · 체결 가정 확인 · 거래 내역 내보내기 · 교차 확인 |
| 실전까지 | 검증과 실전이 같은 로직 위에 있어야 괴리가 줄어듭니다. |
| 변하지 않는 것 | 어떤 도구도 미래를 계산하지 못합니다. 과거 성과 ≠ 미래 성과. |
마지막으로 한 번 더. 이 글의 어떤 내용도 특정 전략의 수익이나 시장 방향을 예측하지 않으며, 투자 자문이나 종목 추천이 아닙니다. 백테스트는 과거에 대한 계산일 뿐이고, 좋은 백테스트 결과가 미래의 수익을 보장하거나 예측하지 않습니다. 언급된 서비스·라이브러리의 기능, 요금, 데이터 범위, 유지보수 상태는 시점에 따라 달라지므로 반드시 공식 자료로 확인하시고, 실제 투자 결정은 본인의 판단과 전문가 상담을 거쳐 내리시기 바랍니다.
자주 묻는 질문
백테스팅 프로그램은 무료로도 충분한가요?
목적에 따라 다릅니다. 한 종목·일봉·단순 규칙을 대략 확인하는 정도라면 무료로도 상당 부분 가능합니다. 다만 무료의 비용은 데이터 기간·품질 제한, 비용 기본값의 부정확함, 낙관적인 체결 가정으로 나타나는 경우가 많습니다. 요금제와 데이터 범위는 수시로 바뀌니 공식 안내를 확인하시고, 무료를 쓰더라도 수수료·슬리피지는 직접 보수적으로 넣으세요.
코딩을 전혀 모르는데 백테스트를 할 수 있나요?
가능합니다. 증권사 시스템 트레이딩 프로그램의 전략 테스터, 차트 플랫폼의 전략 기능, 웹 퀀트 플랫폼은 코드 없이 과거 성과를 계산해 줍니다. 다만 되는 범위는 그 도구가 미리 만들어 둔 조건 조합 안입니다. 여러 종목을 다루거나 조건이 조건을 참조하는 규칙이 필요해지면 벽에 부딪히고, 그때가 파이썬이나 맞춤 제작을 고민할 시점입니다.
백테스팅 사이트에서 좋은 결과가 나오면 바로 실전에 써도 되나요?
권하지 않습니다. 좋은 결과는 '더 검증할 가치가 있다'는 신호일 뿐 미래 수익을 예측하거나 보장하지 않습니다. 표본외 기간 검증, 비용을 보수적으로 반영한 재계산, 주문 없이 실시간으로 돌려보는 포워드 테스트, 소액 실거래 순서를 거치는 것이 일반적입니다. 이 글은 도구 선택에 관한 일반 정보이며 투자 자문이 아닙니다.
백테스트가 잘 나온 도구로 그대로 자동매매까지 돌리면 되지 않나요?
도구에 따라 다르고, 되더라도 범위가 제한적입니다. 백테스트는 '과거 데이터로 규칙을 계산'하는 일이고, 실전 봇은 그 위에 실시간 수신·인증·주문 전송·체결 확인·잔고 대조·장애 감지·기록이 얹힙니다. 계산은 전체의 일부입니다. 일부 플랫폼이 실전 연동을 제공하지만 지원 증권사·주문 유형이 제한될 수 있으니 공식 문서로 먼저 확인하세요.
파이썬 백테스팅 라이브러리는 어떤 기준으로 고르나요?
속도와 현실성 중 무엇이 급한지로 갈립니다. 파라미터를 대량으로 훑어야 하면 벡터화 방식이, 체결을 현실에 가깝게 흉내 내야 하면 사건 기반이 유리합니다. 단, 빠른 도구는 '수백 번 중 최고 고르기' 위험을 함께 키웁니다. 또 오픈소스는 유지보수 상태가 시간에 따라 변하므로 선택 전에 공식 저장소의 최근 갱신 이력을 직접 확인하세요.
엑셀로 하는 백테스트는 의미가 없나요?
의미가 있습니다. 용도가 다를 뿐입니다. 계산이 전부 보이므로 규칙을 처음 숫자로 옮길 때는 오히려 낫습니다. 문제는 규모와 미래 참조 실수입니다. 같은 행 종가로 그날 매수를 계산하는 실수가 눈에 잘 안 띕니다. 초안 검증용으로 쓰고, 유망하면 다른 도구로 옮겨 교차 확인하시길 권합니다.
검증부터 실전까지, 같은 로직으로 만들어 드립니다
도구를 고르느라 몇 주를 쓰기보다, 내 규칙을 그대로 검증하고 그대로 돌리는 편이 빠를 수 있습니다. 백테스트 결과와 실전 봇이 같은 계산 위에 서도록 맞춤 제작합니다. 코딩은 몰라도 괜찮습니다.
24시간 빠른 답변 가능합니다.