[빌드로그 #03] MDD를 줄이려면 더 좋은 진입보다, 덜 나쁜 손실이 먼저였다

재최적화를 끝내고 나면 보통 한숨 돌릴 수 있을 줄 안다. 나도 그럴 줄 알았다. baseline을 다시 세우고, 진입과 손절, 상위 필터까지 다시 정리했으니 이제 큰 틀은 잡혔다고 생각했다. 그런데 곡선을 다시 보고 있자니 묘하게 마음이 걸리는 구간들이 남아 있었다. 수익은 올라왔는데, 어떤 구간의 손실은 여전히 길고 무겁게 느껴졌다.

특히 더 신경 쓰였던 건 이런 장면이었다. 트레이드가 한 번은 꽤 유리하게 가는 것처럼 보였는데, 결국 이익을 거의 다 반납하고 손절이나 손실성 청산으로 끝나는 경우. 그걸 몇 번 보고 나니 질문이 바뀌었다. 더 좋은 진입을 찾는 것보다, 이미 맞아가던 트레이드를 덜 나쁘게 끝낼 방법이 더 중요하지 않을까? 이번 기록은 바로 그 질문에서 시작됐다.

문제는 ‘손실이 많다’가 아니라, 손실의 모양이 나빴다는 점이었다

이 단계에서 제일 먼저 한 일은 감으로 보던 손실을 다시 분류하는 것이었다. 어떤 청산이 실제로 MDD를 키우는지, 어떤 손실 구간이 길게 누적되는지, 그리고 어떤 트레이드가 “조금만 덜 나쁘게 끝났어도” 전체 곡선을 더 좋아지게 만들 수 있는지를 보기 시작했다.

분석해보니 패턴이 하나 보였다. 손실이 컸던 구간에는 단순히 진입이 완전히 틀린 트레이드만 있는 게 아니었다. 오히려 어느 정도는 맞아가다가, 그 다음의 확장이 부족해서 결국 다시 밀리고 끝나는 케이스가 꽤 많았다. 즉 문제는 “처음부터 틀린 진입”만이 아니라, 애매하게 맞다가 다시 꺾이는 트레이드였다.

🟠 재최적화 직후 기준선

수익률

+805.6%

Sharpe

2.606

PF

1.390

MDD · 승률

-20.77% · 42.54%

겉으로 보면 충분히 괜찮은 곡선처럼 보였지만, 내부를 뜯어보면 여전히 거친 부분이 있었다. 특히 손절 비율과 연속 손실 구간의 질감이 불편했다. 여기서부터 관심은 “수익이 얼마나 더 올라가나”보다 어떤 손실을 지우면 MDD가 실제로 줄어드나로 옮겨갔다.

처음에는 진입 필터를 더 강하게 걸어보려 했다

가장 먼저 떠오른 건 진입 품질을 더 걸러내는 접근이었다. 효율이 낮거나, 기울기가 애매하거나, 신호가 충분히 강하지 않은 진입을 더 많이 버리면 손실도 줄어들 것처럼 보였기 때문이다. 직관적으로도 설득력이 있는 방법이었다. 나쁜 진입을 덜 하면, 나쁜 결과도 줄지 않을까.

그런데 실제로는 기대한 만큼 작동하지 않았다. 필터를 더 강하게 걸면 손실 후보만 사라지는 게 아니라, 나중에 좋은 결과로 이어질 수 있었던 트레이드도 같이 사라졌다. 숫자는 더 깔끔해 보이는데, 곡선은 오히려 답답해지는 순간들이 나왔다.

여기서 얻은 교훈은 분명했다. 문제는 단순히 “질이 낮은 진입이 많다”가 아니었다. 어떤 경우에는 진입 자체보다, 진입 후 이어지는 흐름을 어떻게 해석하느냐가 더 중요했다.

그다음에는 단순 이익 보호를 붙여봤다

다음으로 떠올린 건 훨씬 직접적인 방법이었다. 트레이드가 조금만 유리하게 가도 곧바로 본전 근처나 아주 작은 이익 구간을 잠그는 방식이다. 듣기에는 합리적이다. 이미 한 번 맞아간 트레이드라면, 최소한 손절로까지 끝나게 두지 않겠다는 생각이니까.

하지만 이것도 오래 버티지 못했다. 손절 비율은 줄어드는 것처럼 보여도, 너무 이른 보호가 오히려 곡선을 더 불안정하게 만들었다. 작은 승리와 작은 종료는 늘어나는데, 전체 전략의 호흡이 짧아지면서 MDD 개선이라는 핵심 목표에는 오히려 어긋나는 순간이 나왔다.

이쯤 되자 점점 확실해졌다. 필요한 건 단순한 “빠른 잠금”이 아니었다. 유리하게 가는 척만 하는 트레이드실제로 더 뻗을 힘이 있는 트레이드를 구분하는 장치가 필요했다.

핵심은 “조금 이익이 나면 바로 잠그자”가 아니었다.
“맞아가던 트레이드가 실제로 더 갈 힘이 있는가”를 한 번 더 확인하자는 쪽이었다.

Follow-Through라는 질문이 여기서 나왔다

그래서 방향을 바꿨다. 트레이드가 한 번 유리하게 갔다는 사실만 보지 말고, 그 다음에 정말 더 나아갈 의지가 있었는지까지 보자는 쪽으로. 즉 “한 번 맞아갔는가?”가 아니라, “맞아간 뒤에도 계속 확장됐는가?”를 묻기 시작했다.

이 아이디어가 결국 Follow-Through Protect로 이어졌다. 로직 자체는 복잡하지 않다. 트레이드가 어느 정도 유리하게 간 뒤에도 추가 확장이 충분하지 않다면, 그때는 더 이상 처음 계획한 손실 구조를 그대로 허용하지 않고 작은 보호 구간으로 이동시키는 방식이다. 말하자면 “좋은 출발이었지만 끝까지 좋은 트레이드는 아니었다”는 판단을 내리는 장치다.

중요한 건 이 로직이 처음부터 승리를 강제로 늘리려는 장치가 아니라는 점이다. 오히려 목적은 더 단순했다. 애매하게 맞다가 결국 크게 반납하는 트레이드를, 덜 나쁜 결말로 바꾸는 것. 이번 빌드로그 전체를 관통하는 질문도 사실 여기에 가깝다.

같은 손실이라도, 덜 나쁜 결말은 곡선을 바꾼다

이 로직을 붙이고 다시 결과를 보니, 바로 눈에 띄는 변화가 있었다. 손절 비율이 줄었고, 일부 트레이드는 이전 같았으면 패배로 잡혔을 구간에서 사실상 무승부에 가까운 종료로 바뀌었다. 무엇보다 MDD가 실제로 더 얕아졌다.

🟢 Follow-Through Protect 적용 후

수익률

+807.8%

Sharpe

2.677

PF

1.403

MDD · 승률

-17.59% · 47.60%

여기서 재미있는 점은, 이 결과가 단순히 “더 공격적으로 이익을 챙겼다”는 식으로 설명되지 않는다는 것이다. 오히려 반대에 가깝다. 잘 가던 트레이드를 억지로 자른 게 아니라, 애매하게 멈춘 트레이드가 큰 손실로 번지는 걸 줄여준 쪽이었다. 그래서 곡선이 더 안정적으로 변했다.

tie라는 새로운 분류를 넣은 이유도 여기 있다

이 과정에서 하나 더 정리한 게 있었다. gross 기준으로는 분명 이익이었는데, fee를 반영한 net 기준으로는 아주 작은 손실로 기록되는 거래들을 어떻게 볼 것인가였다. 특히 Follow-Through Protect로 종료되는 케이스에서 이런 장면이 자주 보였다.

이걸 전부 패배로만 보면 느낌이 이상했다. 전략 의도상으로는 “이익을 거의 지켜낸 종료”인데, 통계상으로는 단순 패배처럼 섞여버렸기 때문이다. 그래서 이 구간은 TIE로 분리해서 보기 시작했다. 완전한 승리도 아니고, 그렇다고 실질적인 패배라고만 하기도 애매한 트레이드들. 이 분류를 넣고 나서야 곡선이 왜 개선됐는지를 더 자연스럽게 설명할 수 있었다.

결국 이번 실험은 ‘더 잘 버는 법’보다 ‘덜 잃는 법’에 가까웠다

이번 기록을 돌아보면, 가장 중요한 전환은 여기 있었다. MDD를 줄이기 위한 실험은 처음에는 더 좋은 진입을 찾는 쪽에서 시작했지만, 결국 더 강한 필터보다 더 섬세한 청산 해석이 더 유효했다. 많이 벌게 만드는 장치보다, 덜 나쁘게 끝내는 장치가 곡선 전체를 더 많이 바꿨다.

그래서 이번 실험이 남긴 교훈은 꽤 또렷하다.

  1. MDD는 나쁜 진입만 줄인다고 해결되지 않는다.
    이미 맞아가던 트레이드가 어떻게 끝나는지도 함께 봐야 한다.
  2. 이른 보호는 무조건 좋은 게 아니다.
    빠른 잠금보다 중요한 건, 좋은 트레이드와 멈춘 트레이드를 구분하는 타이밍이다.
  3. 손실을 다시 분류하면, 전략이 보이기 시작한다.
    모든 패배를 한 덩어리로 보면 놓치는 구조가 생각보다 많다.

다음 편에서 이어질 것

Follow-Through Protect를 넣고 나니, 이제는 트레이드가 어떤 이유로 끝났는지를 더 명확하게 읽을 필요가 생겼다. 단순히 “손절”과 “익절”로만 나누는 방식으로는 부족했고, 청산 사유를 다시 정리하고 보고 체계까지 손봐야 했다. 다음 기록에서는 그 과정을 이어서 다루게 될 것 같다.

청산을 어떤 그룹으로 나눴는지, 왜 tie를 공식 결과값에 반영했는지, 그리고 이 작은 보고 체계의 변화가 왜 전략 해석에 꽤 큰 차이를 만들었는지를 다음 빌드로그에서 이어서 적어볼 생각이다.

마무리

전략 개발을 하다 보면 자꾸 더 좋은 진입을 찾고 싶어진다. 하지만 이번 작업이 보여준 건 조금 다른 방향이었다. 가끔은 더 좋은 시작을 찾는 일보다, 애매하게 시작된 흐름을 어떻게 덜 나쁘게 끝낼 것인가가 훨씬 중요하다.

이번 빌드로그에서 Follow-Through Protect는 단순한 기능 추가가 아니었다. 손실을 다시 해석하는 방식의 변화였고, MDD를 줄이기 위해 전략이 어떤 질문을 해야 하는지를 바꾸는 계기였다. 많이 버는 법보다 덜 잃는 법이 먼저였고, 그 사실을 받아들인 뒤에야 곡선이 비로소 조금 더 안정적으로 보이기 시작했다.

KEEP READING ON GEONULAB

실전 기록과 개념 정리를 한 흐름으로 이어서 읽어보세요

빌드로그는 실제 작업 기록에, 퀀트지식은 개념 정리에 집중합니다. 처음 방문했다면 Start Here에서 읽는 순서를 먼저 잡는 걸 추천합니다.

최신 글 흐름은 피드에서도 확인할 수 있습니다.

Email Updates

빌드로그와 퀀트지식 새 글이 올라오면 메일로 보내드립니다.

🤞 GeonuLab 글을 메일로 받아보세요

We don’t spam! Read more in our privacy policy

추후 봇 트레이딩 입문 PDF 소식도 가장 먼저 안내드릴게요.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다