그리디 전략(Greedy Strategy) 백테스트 보는 법 — 트레이딩뷰 기본 전략 해부
그리디 전략 (Greedy Strategy) · 글: 주가맵 운영자 (9년 차 개인 투자자) · 콘텐츠 원칙에 따라 작성합니다

트레이딩뷰 차트 하단 '전략 테스터' 탭을 처음 열었을 때 기본 목록에 깔려 있던 이름들이 신기했습니다. 그중 '그리디(Greedy)'라는 이름이 눈에 띄어 무작정 적용해 봤는데, 순식간에 과거 차트 위로 매수·매도 화살표가 쏟아지고 아래쪽엔 우상향과 우하향을 오가는 손익 곡선이 그려지더군요. 코드를 짤 줄 몰라도 클릭 몇 번으로 지난 몇 년치 성과를 확인할 수 있다는 게 당시엔 마법처럼 느껴졌습니다. 솔직히 그때는 '이 곡선이 우상향이면 이대로 따라 하면 되겠네'라고 단순하게 생각했습니다.
그 단순한 기대가 깨지는 데는 오래 걸리지 않았습니다. 같은 전략인데 종목과 기간을 바꾸자 곡선이 정반대로 그려졌거든요. 그리디 전략은 트레이딩뷰가 학습용으로 끼워 둔 샘플 전략 중 하나입니다. 이 글에서는 그리디 전략이 어떤 규칙으로 사고파는지, 진입과 청산은 어떻게 정의되는지, 백테스트 결과창의 승률·손익비·MDD를 어떻게 읽어야 하는지, 그리고 이런 기본 전략을 실전에 그대로 쓰면 안 되는 이유까지 제 9년 차 투자 경험과 함께 차근차근 정리하겠습니다.
전략 개요 — '욕심'이라는 이름의 추세 추종 샘플
그리디 전략은 이름 그대로 '추세가 살아 있는 한 끝까지 따라가며 욕심껏 먹는다'는 발상의 추세 추종형 샘플 전략입니다. 트레이딩뷰의 파인스크립트(Pine Script)로 작성된 기본 예제로, 가격이 일정 방향으로 움직이기 시작하면 그 흐름에 올라타 포지션을 잡고, 반대 신호가 나오기 전까지 보유하는 단순한 구조를 가집니다. 복잡한 필터나 여러 조건을 겹쳐 둔 전략이 아니라, 추세 추종의 가장 기본 골격만 남겨 둔 형태라고 보면 됩니다.
여기서 중요한 전제가 하나 있습니다. 그리디 전략은 어디까지나 파인스크립트 문법과 전략 테스터 작동 방식을 보여 주기 위한 교육용 템플릿이라는 점입니다. 즉 '이대로 돌리면 돈을 번다'고 검증된 전략이 아니라, '전략이 어떻게 만들어지고 백테스트가 어떻게 돌아가는지'를 익히는 출발점에 가깝습니다. 트레이딩뷰가 이런 샘플을 여러 개 깔아 둔 이유도 사용자가 코드를 직접 열어 보며 자기만의 전략으로 변형해 보라는 의도에 가깝습니다.
그래서 이 전략을 볼 때는 매매 규칙 자체보다 '진입·청산·자금관리가 코드로 어떻게 표현되는가'라는 틀을 익히는 데 초점을 두는 편이 좋습니다. 그 틀을 이해하면 채널 돌파, 모멘텀, 이동평균 교차 같은 다른 기본 전략들도 같은 눈으로 빠르게 읽어낼 수 있습니다. 결국 모든 전략은 '언제 들어가고, 언제 나오고, 얼마를 거느냐'라는 세 가지 질문의 답을 코드로 적어 둔 것에 불과하기 때문입니다.
진입·청산 규칙 상세
전형적인 추세 추종 샘플은 가격 또는 이동평균 같은 기준선이 위로 꺾이면 롱(매수) 진입, 아래로 꺾이면 청산하거나 숏으로 전환하는 식으로 동작합니다. 그리디 전략 계열도 '상승 조건이 충족되면 진입, 상승 조건이 깨지면 청산'이라는 한 방향 신호를 따릅니다. 진입과 청산이 같은 조건의 앞뒷면이라 별도의 손절 라인을 두지 않는 경우가 많습니다. 다시 말해 청산 신호 자체가 손절선 역할을 겸하는 구조입니다.
여기서 '욕심'이라는 성격이 드러납니다. 이익 실현 목표를 미리 정해 두고 일정 수익에서 끊는 것이 아니라, 추세가 꺾였다는 신호가 나올 때까지 포지션을 끝까지 끌고 갑니다. 큰 추세 한 번을 통째로 먹으려는 욕심이 이름에 그대로 담긴 셈입니다. 덕분에 강하게 한 방향으로 뻗는 장에서는 수익을 길게 가져갈 수 있지만, 추세가 자주 끊기는 횡보 구간에서는 진입과 청산을 반복하며 작은 손실이 차곡차곡 쌓이기 쉽습니다.
또 하나 기억할 점은 트레이딩뷰 전략 테스터가 신호를 봉 마감 기준으로 계산한다는 것입니다. 조건이 충족된 봉이 마감되어야 다음 봉에서 주문이 들어가므로, 실제 체결 가격은 화살표가 찍힌 자리와 미묘하게 다를 수 있습니다. 이 시차를 모르고 차트만 보면 '왜 이렇게 좋은 자리에서 잡았지' 하고 성과를 과대평가하기 쉬우니 주의해야 합니다. 반대로 봉 안에서 신호를 미리 반영하도록 설정하면 미래 정보가 새어 들어가 비현실적으로 좋은 결과가 나오는데, 이를 룩어헤드 편향이라고 부릅니다. 기본 설정이 보수적으로 잡혀 있는 이유도 이런 착시를 막기 위해서입니다.
- 진입: 상승 조건 충족 시 다음 봉 시가에서 롱 진입(시장가 주문 가정)
- 청산: 상승 조건이 무너지면 보유 포지션 청산
- 방향: 기본형은 롱 위주, 변형에 따라 숏 전환을 추가하기도 함
- 자금: 주문 수량은 전략 속성(기본 자본·주문 크기)에서 일괄 설정
- 특징: 고정 이익실현·고정 손절이 없어 추세 길이에 성과가 크게 좌우
백테스트 결과 읽는 법 — 승률·손익비·MDD
전략을 적용하면 화면 아래 '전략 테스터'에 성과 요약이 뜹니다. 개요 탭에는 순이익과 승률, MDD 같은 핵심 숫자가, 거래 목록 탭에는 진입·청산이 한 줄씩 기록됩니다. 이 숫자들을 따로 보지 말고 함께 봐야 전략의 진짜 성격이 보입니다. 가장 먼저 눈에 들어오는 것은 큼직하게 표시되는 순이익이지만, 그 숫자 하나만으로 좋고 나쁨을 판단하면 위험합니다. 같은 순이익이라도 거래 수십 번으로 차곡차곡 쌓은 것과 운 좋은 한두 번으로 만든 것은 전혀 다른 전략이기 때문입니다. 그래서 승률, 손익비, 최대낙폭(MDD)을 반드시 같이 봐야 합니다.
승률이 높아도 한 번의 큰 손실로 그동안의 이익을 다 까먹는 전략이 있고, 승률은 낮아도 손익비가 커서 길게 보면 우상향하는 전략이 있습니다. 그래서 승률과 손익비는 항상 한 쌍으로 봐야 합니다. 추세 추종형인 그리디 전략은 보통 승률은 낮은 편이지만, 큰 추세 한 번을 길게 먹어 손익비로 승부하는 성격을 띱니다. 승률만 보고 '50퍼센트도 안 되네' 하며 버리면 전략의 본질을 놓치는 셈입니다.
MDD는 '자산이 고점 대비 얼마나 깊게 빠졌는가'로, 실제로 이 전략을 운용할 때 내가 견딜 수 있는 낙폭인지를 가늠하는 핵심 지표입니다. 손익 곡선이 결국 우상향하더라도 중간에 깊게 빠지는 구간을 심리적으로 버티지 못하면 그 전략은 나에게 맞지 않는 전략입니다. 저는 순이익보다 MDD를 먼저 보고 '이 낙폭을 실제 돈으로 견딜 수 있는가'를 자문하는 편입니다. 아래 표는 트레이딩뷰 전략 테스터에 실제로 표시되는 주요 지표와 그 의미를 정리한 것입니다. 숫자 자체가 아니라 '무엇을 뜻하는지'를 기억해 두면 어떤 전략을 보더라도 같은 기준으로 평가할 수 있고, 결과창 앞에서 길을 잃지 않습니다.
| 지표 | 의미 | 볼 때 주의할 점 |
|---|---|---|
| 순이익(Net Profit) | 기간 전체의 누적 손익 | 거래 횟수·기간을 함께 봐야 의미가 생김 |
| 승률(Percent Profitable) | 수익 거래 비율 | 손익비와 한 쌍으로 해석 |
| 손익비(Profit Factor) | 총이익 ÷ 총손실 | 1보다 충분히 커야 여유가 생김 |
| 최대낙폭(Max Drawdown) | 고점 대비 최대 하락폭 | 내가 견딜 수 있는 수준인지 확인 |
| 총 거래 수(Total Trades) | 표본 거래 건수 | 수가 적으면 통계가 우연일 수 있음 |
과최적화(커브피팅)와 한계
기본 전략을 만지다 보면 누구나 빠지는 함정이 있습니다. 파라미터를 이리저리 바꿔 가며 과거 손익 곡선이 가장 예쁘게 나오는 값을 찾는 것입니다. 이걸 과최적화 또는 커브피팅이라고 부릅니다. 과거 데이터에만 딱 맞춰 놓으면 백테스트 성과는 화려해지지만, 막상 미래의 새 데이터에서는 무너지기 쉽습니다. 저도 처음엔 슬라이더를 움직여 순이익이 최고가 되는 값을 찾고는 '드디어 황금 설정을 찾았다'며 기뻐했지만, 다음 달 실거래에서 그 설정이 가장 먼저 깨지는 경험을 했습니다.
그리디 전략처럼 손절·이익실현이 단순한 구조는 특히 시장 국면에 민감합니다. 강한 추세장에서 뽑은 성과를 횡보장에 그대로 적용하면 결과가 전혀 달라집니다. 또한 트레이딩뷰 기본 전략은 슬리피지와 수수료가 0으로 설정된 경우가 많아, 실제 체결 비용을 넣으면 성과가 눈에 띄게 줄어듭니다. 거래가 잦은 전략일수록 이 비용이 누적되어 우상향하던 곡선을 평평하게 눌러 버리기도 합니다. 그래서 저는 전략 속성에서 가장 먼저 수수료와 슬리피지 칸부터 채워 넣는 습관이 생겼습니다.
그래서 백테스트는 '검증'이 아니라 '가설 확인'으로 받아들이는 편이 안전합니다. 표본 기간을 나눠서 한쪽으로 만든 규칙을 다른 쪽에서 다시 검증하고, 수수료와 슬리피지를 반드시 현실값으로 넣어 보는 습관이 과최적화를 걸러 줍니다. 저는 여기에 더해, 파라미터를 조금 바꿔도 성과가 비슷하게 유지되는지를 꼭 확인합니다. 특정 숫자 하나에서만 성과가 튀어 오른다면 그건 우연을 붙잡은 것일 가능성이 높습니다.
- 표본 분리: 만든 기간과 검증하는 기간을 반드시 따로 둔다
- 비용 반영: 수수료·슬리피지를 현실값으로 넣어 다시 돌린다
- 강건성 확인: 파라미터를 조금 바꿔도 성과가 유지되는지 본다
- 국면 점검: 추세장·횡보장·하락장에 두루 적용해 본다
- 표본 크기: 거래 수가 너무 적으면 결과를 신뢰하지 않는다
직접 써보고 느낀 점 — 매매보다 '학습 교보재'로
제가 그리디 전략을 켜 두고 가장 크게 얻은 건 수익이 아니라 감각이었습니다. 코드 한 줄 한 줄이 진입·청산·자금관리로 어떻게 연결되는지, 같은 종목이라도 기간을 바꾸면 손익 곡선이 얼마나 달라지는지를 눈으로 익혔습니다. 처음엔 우상향 곡선만 보고 들떴지만, 같은 전략을 하락장 구간에 적용해 곡선이 반대로 뒤집히는 걸 본 뒤로는 '한 번의 예쁜 백테스트'를 더 이상 믿지 않게 되었습니다. 이 감각이 생기고 나니 채널 돌파나 모멘텀 같은 다른 기본 전략들도 구조가 한눈에 들어왔습니다.
다만 저는 이 전략을 실거래에 그대로 쓰진 않습니다. 수수료와 슬리피지를 현실값으로 넣고, 표본을 둘로 나눠 검증해 보면 화려했던 백테스트가 평범해지는 걸 여러 번 봤기 때문입니다. 그래서 저에게 그리디 전략은 '돈을 벌어 주는 도구'가 아니라 '전략을 보는 눈을 길러 주는 교보재'에 가깝습니다. 기본 전략으로 틀을 익힌 다음, 내 매매 습관과 견딜 수 있는 낙폭에 맞춰 규칙을 직접 다듬어 가는 것이 가장 실용적인 순서라고 느낍니다.
마지막으로 분명히 해 둘 점이 있습니다. 백테스트 성과는 모두 과거 데이터로 계산된 결과일 뿐, 미래의 수익을 전혀 보장하지 않습니다. 과최적화된 전략일수록 실전에서 더 크게 어긋날 수 있습니다. 어떤 전략을 참고하든 최종 판단과 그 결과에 대한 책임은 투자자 본인에게 있다는 점을 늘 기억하시기 바랍니다.