TQQQ 매매법 : 200일 이동평균선 (2), 휩쏘를 줄일 수 있을까?

📌 원문: https://m.blog.naver.com/hyunsoo-is-cute/224347229039


https://m.blog.naver.com/hyunsoo-is-cute/224345965810

지난 글에서는 TQQQ에 200일 이동평균선 전략을 적용해봤습니다.

방법은 간단했습니다.

TQQQ 종가가 200일 이동평균선을 아래에서 위로 돌파하면 매수하고, 위에서 아래로 내려가면 매도하는 전략입니다.

결과는 장단점이 아주 명확했습니다.

TQQQ를 계속 보유했을 때 최대 하락폭인 MDD는 -81.66%였지만, SMA200 전략을 적용하면 -48.13%까지 줄어들었습니다.

하지만 세후 연평균 수익률은 41.79%에서 28.53%로 낮아졌고, 최종 자산도 단순 보유의 22% 정도에 그쳤습니다.

가장 큰 문제는 휩쏘였습니다.

주가가 200일선 근처에서 횡보하면 매수와 매도가 짧은 간격으로 반복됩니다. 지난 백테스트에서는 완료된 43회의 거래 중 28회가 손실이었고, 손실 거래 중 22회는 매수한 지 10일 이내에 끝났습니다.

위 그래프는 2023년 초 실제 휩쏘 구간입니다. TQQQ가 SMA200을 조금 넘을 때마다 매수했지만, 며칠 뒤 다시 선 아래로 내려오면서 매도 신호가 반복됐습니다.

그렇다면 매수 신호에 조건을 하나 더 붙이면 어떨까요?

주가가 단순히 200일선을 넘었다는 이유만으로 매수하지 않고, 장기 추세가 실제로 상승 중인지 한 번 더 확인하는 것입니다.

기본 전략에 네 가지 조건을 추가해 비교했습니다.

- SMA200의 기울기 확인

- 최근 가격 모멘텀 확인

- 매수선과 매도선에 버퍼 적용

- 매도 후 큰 폭으로 하락할 때 단계적 분할매수

각 조건은 한 가지 값만 선택하지 않고 여러 기간과 비율을 바꿔가며 테스트했습니다.

과연 이런 조건들이 휩쏘를 줄이면서 수익률도 개선해줄까요?

백테스트 조건

모든 전략에는 동일한 조건을 적용했습니다.

투자 대상: TQQQ

기간: 2010년 11월 24일~2026년 7월 10일

초기 투자금: 10,000달러

추가 납입: 없음

매수, 매도 수수료: 각각 0.1%

실현차익 세율: 22%

현금 수익률: 0%

거래 단위: 정수 주식

신호 확인: 당일 종가

주문 체결: 다음 거래일 시가

세금은 연간 실현이익을 기준으로 계산해 다음 해 첫 거래일에 납부했습니다. 현금이 부족하면 보유 주식 일부를 매도해 세금을 충당했습니다.

이 결과는 특정 데이터와 세금, 체결 가정에 따른 시뮬레이션입니다. 실제 투자에서는 슬리피지, 환전 비용, 배당, 분할 조정 방식, 세법과 계좌 유형 등에 따라 결과가 달라질 수 있습니다.

비교 기준: 기본 SMA200 전략

이 기본 전략을 기준으로 각 필터의 효과를 비교하겠습니다.

필터 1: SMA200의 기울기를 확인한다

첫 번째 방법은 매수할 때 SMA200 자체의 방향을 확인하는 것입니다. 가격이 SMA200을 상향 돌파했더라도 이동평균선이 계속 하락 중이라면 장기 하락 추세가 아직 끝나지 않았을 수 있습니다. 하락하는 선을 잠깐 넘어선 뒤 다시 밀릴 가능성도 있습니다.

따라서 매수 신호가 발생했을 때 현재 SMA200이 일정 거래일 전보다 높은 경우에만 매수하도록 했습니다. 매도 조건은 기본 전략과 동일하게 유지했습니다. 보유 중인 TQQQ가 SMA200을 하향 돌파하면 기울기와 관계없이 매도합니다.

기울기 비교는 5, 10, 20, 40, 60, 100, 150, 200 거래일로 바꿔가며 테스트했습니다. 기간이 길어질수록 성과가 일정하게 좋아지거나 나빠지는 패턴은 나타나지 않았습니다. 그중 위험 대비 결과가 비교적 괜찮았던 설정은 150거래일 기울기였습니다.

MDD는 -48.13%에서 -36.89%로 줄었고, 변동성과 단기 손실 거래도 감소했습니다. 그러나 세후 CAGR은 21.51%로 낮아졌고 최종 자산은 약 50만 달러에서 21만 달러로 줄었습니다.

기울기 필터는 가짜 돌파만 제거한 것이 아닙니다. 상승 추세가 막 시작돼 SMA200의 기울기가 아직 충분히 돌아서지 않은 시점의 진짜 매수 신호도 함께 걸러냈습니다. 반등 속도가 빠른 TQQQ에서는 진입이 조금 늦어지는 것만으로도 수익률 손실이 크게 나타날 수 있습니다.

필터 2: 최근 가격 모멘텀을 확인한다

두 번째는 모멘텀 필터입니다. 가격이 SMA200을 상향 돌파하더라도 현재 가격이 일정 거래일 전보다 높을 때만 매수합니다. 예를 들어 252거래일 모멘텀을 적용하면 현재 TQQQ 가격이 약 1년 전보다 높아야 매수할 수 있습니다.

63, 126, 189, 252, 378, 504 거래일, 즉 약 3개월부터 2년까지의 모멘텀을 비교했습니다. 63거래일 모멘텀의 세후 CAGR은 7.26%까지 떨어졌습니다. 장기 추세를 확인하기에는 3개월 모멘텀이 너무 짧았던 것으로 보입니다.

가장 균형이 좋았던 설정은 252거래일 모멘텀이었습니다.

세후 CAGR은 기본 전략보다 1.94%포인트 낮아졌지만 MDD와 변동성은 줄었습니다. Calmar Ratio도 0.59에서 0.61로 소폭 개선됐습니다.

다만 휩쏘를 직접 해결했다고 보기는 어렵습니다. 완료 거래는 43회에서 33회로 줄었지만 손실 거래 비율은 65.1%(28/43)에서 66.7%(22/33)로 오히려 조금 높아졌습니다. 최근 1년 수익률이 플러스라고 해서 가격이 SMA200 부근에서 흔들리지 않는 것은 아닙니다. 모멘텀은 장기적으로 약한 국면을 거르는 데는 도움이 됐지만, 이동평균선 주변의 단기 노이즈를 제거하는 데는 한계가 있었습니다.

필터 3: 매수선과 매도선 사이에 버퍼를 둔다

이번 테스트의 핵심은 버퍼였습니다. 기본 전략은 가격이 SMA200을 아주 조금만 넘어도 매수하고, 다시 조금만 내려가도 매도합니다. 가격과 이동평균선의 차이가 0.1%든 5%든 똑같은 교차 신호로 취급합니다. 이것이 휩쏘에 취약한 가장 직접적인 원인입니다.

그래서 매수선과 매도선을 서로 떨어뜨렸습니다. 예를 들어 1% 버퍼의 규칙은 다음과 같습니다.

종가가 SMA200보다 1% 이상 높아지면 매수

보유 후 종가가 SMA200보다 1% 이상 낮아지면 매도

그 사이에서는 현재 포지션 유지

SMA200이 100이라면 101을 넘어야 매수하고, 매수한 뒤에는 99 아래로 내려가야 매도합니다. 99와 101 사이에서는 아무 행동도 하지 않습니다.

이처럼 진입과 이탈 기준을 다르게 두는 구조를 히스테리시스(hysteresis)라고 합니다. 제어공학에서 기준값 주변의 작은 진동 때문에 상태가 계속 바뀌는 것을 막을 때 사용하는 방식입니다.

버퍼는 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0%로 테스트 했습니다. 가장 높은 세후 CAGR은 1% 버퍼에서 나왔습니다.

버퍼 1%의 시장 노출 비율은 74.59%로 기본 전략의 74.77%와 거의 같았습니다. 상승장에 참여한 시간은 유지하면서 불필요한 교차 거래를 줄인 셈입니다.

완료 거래는 43회에서 31회로, 손실 거래는 28회에서 19회로 줄었습니다. 10거래일 이내 손실 거래도 22회에서 14회로 감소했습니다. 동시에 세후 CAGR은 30.26%로 높아졌고 최종 자산은 약 62만 달러로 증가했습니다.

MDD는 -48.13%에서 -48.14%로 0.01%포인트 악화됐지만 사실상 동일한 수준입니다. 따라서 “MDD를 개선했다”기보다는 하락 위험을 거의 그대로 유지하면서 수익률과 위험 대비 성과를 높였다고 표현하는 편이 정확합니다.

버퍼는 클수록 좋을까?

버퍼가 커질수록 거래 횟수와 짧은 손실 거래는 꾸준히 줄었지만, 성과가 함께 좋아지지는 않았습니다.

1.5%까지는 결과가 비교적 양호했습니다. 세후 CAGR은 29.20%였고 짧은 손실 거래도 11회로 줄었습니다. 그러나 2%부터 MDD가 빠르게 커졌습니다. 2% 버퍼의 MDD는 -56.69%, 3%는 -64.66%, 4%는 -66.52%였습니다.

원인은 매도 지연입니다. 작은 버퍼는 기준선 주변의 노이즈를 무시하게 해주지만, 큰 버퍼는 실제 하락 추세가 시작됐을 때도 매도를 늦춥니다. TQQQ가 SMA200보다 5% 아래로 떨어진 뒤에야 매도한다면 기초지수에서도 이미 의미 있는 하락이 진행됐을 가능성이 큽니다.

손실 거래당 평균 손실에서도 같은 패턴이 나타났습니다.

기본 전략: -4.16%

버퍼 1%: -3.84%

버퍼 2%: -4.95%

버퍼 3%: -7.41%

버퍼 4%: -10.85%

버퍼 5%: -14.09%

큰 버퍼는 손실 횟수를 줄이는 대신 한 번 틀렸을 때 더 크게 잃는 구조였습니다. 버퍼 5%에서 MDD가 4%보다 낮아진 것도 “5%가 더 안전하다”는 뜻은 아닙니다. 거래가 적어지면서 특정 시기의 진입, 청산 경로에 결과가 더 민감해진 것으로 보는 편이 타당합니다.

즉, 휩쏘 감소 자체가 목표가 되어서는 안 됩니다. 거래가 줄어도 손실의 크기와 전체 MDD가 커진다면 위험관리 전략으로서는 오히려 나빠질 수 있습니다.

주요 필터를 한꺼번에 비교하면

각 필터에서 상대적으로 결과가 좋았던 설정을 한 표에 모았습니다.

기울기 필터는 MDD를 가장 크게 줄였지만 시장 노출과 수익률도 함께 낮췄습니다. 모멘텀 필터는 수익률을 조금 양보하는 대신 MDD와 변동성을 개선했습니다. 버퍼 1%는 MDD와 시장 노출을 거의 그대로 유지하면서 세후 CAGR과 Calmar Ratio를 높였습니다.

위험, 수익 산점도에서 왼쪽 위에 가까울수록 낮은 MDD와 높은 CAGR을 동시에 달성한 전략입니다. 이번 결과에서 버퍼 1%는 기본 전략보다 위쪽에 위치했고, 기울기와 모멘텀은 왼쪽으로 이동하는 대신 수익률이 낮아졌습니다.

휩쏘 감소 효과

기울기 150일과 버퍼 1%는 10거래일 이내 손실 거래를 모두 14회로 줄였습니다. 그러나 작동 방식은 달랐습니다.

기울기 필터: 매수 신호 자체를 많이 무시해 시장 노출이 53.43%까지 감소

버퍼 1%: 매수, 매도선 사이에 중립 구간을 만들어 작은 흔들림에만 반응하지 않음

기울기 필터는 가짜 돌파와 함께 진짜 상승 추세의 초반도 놓쳤습니다. 반면 버퍼는 큰 추세가 확인되면 기본 전략과 비슷하게 시장에 참여했습니다. 휩쏘를 줄인다는 목적에는 버퍼가 더 직접적이었습니다.

반대 방향의 실험: 하락 분할매수

앞의 세 필터는 매수와 매도를 더 신중하게 만드는 방법이었습니다. 그렇지만 휩쏘가 줄어들면서 수익률도 감소하는 모습을 볼 수 있었습니다. 그래서 이번에는 반대 방향도 실험했습니다.

SMA200 하향 돌파 시 전량 매도하되, 이후 가격이 더 떨어지면 조금씩 다시 매수하는 방식입니다.

이 전략은 기본적으로 역추세전략입니다. 추세추종 전략은 상승하는 추세라면 올라타고, 하락하는 추세라면 내리는 전략이죠. 역추세전략은 우상향을 믿고 하락하면 언젠가 다시 올라갈거라는 평균 회귀 전략입니다.

200일선을 기준으로 삼고, 200일선 아래의 장기 하락추세에서 하락하면 추가로 매수하면서 다시 200일선 위로 올라가면 상승 추세에 올라타는거죠.

매도 당시 가격을 기준으로 목표 주식 비중을 다음과 같이 높였습니다.

15% 추가 하락: 주식 20%

30% 추가 하락: 주식 40%

45% 추가 하락: 주식 60%

60% 추가 하락: 주식 80%

75% 추가 하락: 주식 100%

이후 TQQQ가 다시 SMA200 매수 기준을 넘으면 남은 현금도 전부 투자했습니다. 그러니까 이건 휩쏘를 줄이려는 목적은 아니고 휩쏘 필터를 사용해서 낮아진 수익률을 높여보려는 시도인거죠.

버퍼 1%와 분할매수를 결합했을 때 세후 CAGR은 36.61%, 최종 자산은 약 131만 달러로 가장 높았습니다. 그러나 MDD도 -71.11%까지 악화됐습니다. 단순 보유의 -81.66%보다는 낮지만, -71% 역시 실제로 견디기 어려운 하락입니다.

수익률이 높아진 이유는 전략이 더 정교해졌다기보다 하락장에서 더 일찍, 더 많은 위험을 다시 부담했기 때문입니다. Calmar Ratio도 버퍼 1% 단독의 0.63에서 분할매수 결합 시 0.51로 낮아졌습니다. 절대수익은 높아졌지만 최대 손실 대비 수익은 나빠졌습니다.

어떤 필터가 가장 좋았을까?

목표에 따라 답이 달라집니다.

MDD 최소화가 우선이라면: 기울기 150일

MDD -36.89%로 가장 낮았지만 세후 CAGR도 21.51%로 크게 하락했습니다.

수익과 위험의 절충을 원한다면: 모멘텀 252일

세후 CAGR 26.59%, MDD -43.61%, Calmar 0.61로 비교적 균형적인 결과였습니다.

시장 참여를 유지하며 휩쏘를 줄이려면: 버퍼 1%

세후 CAGR 30.26%, MDD -48.14%, 시장 노출 74.59%였습니다. 짧은 손실 거래는 22회에서 14회로 줄었습니다.

절대수익이 최우선이라면: 하락 분할매수

버퍼 1%와 결합할 경우 세후 CAGR은 36.61%였지만 MDD가 -71.11%로 커져 SMA200의 하락 방어 목적과 충돌했습니다.

모든 조건에서 우월한 필터는 없었습니다. 다만 이번 백테스트에서는 1% 안팎의 작은 버퍼가 기본 SMA200 전략의 구조를 크게 훼손하지 않으면서 휩쏘를 줄이는 가장 실용적인 방법이었습니다.

버퍼가 다른 필터보다 잘 작동한 이유

기울기와 모멘텀 필터는 상승 추세가 충분히 확인된 뒤에야 매수합니다. 신호의 질을 높이려는 접근이지만, 확인을 기다리는 동안 상승 초반을 놓칠 수 있습니다.

버퍼는 추세가 맞는지를 다른 지표로 판단하지 않습니다. 가격이 이동평균선에서 어느 정도 멀어질 때까지 기다리고, 매수 후에도 가격이 선을 조금 밑돌았다는 이유만으로 즉시 매도하지 않습니다.

즉, 진입을 무작정 늦추는 대신 상태가 바뀌는 기준에 여유 공간을 만든 것입니다. 기본 전략은 매수와 매도 기준이 같은 하나의 선이지만, 버퍼 전략은 서로 다른 두 개의 선을 사용합니다. 그 사이에서는 현재 상태를 유지합니다. SMA200 주변의 작은 진동에 덜 민감해지는 이유입니다.

그렇다면 버퍼 1%를 그대로 쓰면 될까?

이번 백테스트에서는 1%가 가장 좋았습니다. 그러나 과거 최적값이 미래 최적값이라는 보장은 없습니다. 1%가 0.5%와 1.5%보다 좋았던 이유가 우연일 수도 있습니다.

특정 수치 하나보다 다음과 같은 강건성(robustness)을 확인해야 합니다.

인접한 버퍼에서도 비슷한 결과가 나오는가

다른 시작, 종료 기간에서도 효과가 유지되는가

최근 구간을 제외한 인샘플과 이후 아웃오브샘플 결과가 일치하는가

QLD 등 다른 레버리지 ETF에서도 비슷한 효과가 나타나는가

수수료, 슬리피지, 세율을 바꿔도 결론이 유지되는가

이동평균 기간을 바꿔도 작은 히스테리시스의 효과가 남는가

이번 결과에서는 1%와 1.5% 버퍼가 모두 기본 전략보다 높은 세후 CAGR을 기록했습니다. 따라서 “정확히 1.00%가 최적”이라기보다 약 1~1.5%의 작은 중립 구간이 의미가 있었다고 해석하는 편이 적절합니다.

반대로 2%부터 MDD가 크게 악화됐다는 점도 중요합니다. 버퍼는 많을수록 좋은 것이 아니라, 너무 민감한 신호를 약간 둔감하게 만드는 정도가 적당했습니다.

결론

TQQQ SMA200 전략의 휩쏘를 줄이기 위해 기울기, 모멘텀, 매수, 매도 버퍼와 하락 분할매수를 테스트했습니다.

기울기 필터는 MDD를 -36.89%까지 줄였지만 시장 노출과 세후 CAGR도 크게 낮췄습니다. 모멘텀 252일은 세후 CAGR 26.59%, MDD -43.61%로 비교적 균형 잡힌 결과를 보였지만 손실 거래 비율은 개선되지 않았습니다.

가장 실용적인 결과는 1% 버퍼였습니다. 세후 CAGR은 28.53%에서 30.26%로 높아졌고, 최종 자산은 약 50만 달러에서 62만 달러로 증가했습니다. MDD는 사실상 같은 수준이었고, 완료 거래는 43회에서 31회로, 10거래일 이내 손실 거래는 22회에서 14회로 줄었습니다.

그러나 버퍼를 크게 한다고 더 좋아지지는 않았습니다. 2%부터 MDD가 악화됐고 4%에서는 -66.52%까지 커졌습니다. 휩쏘 횟수는 줄었지만 매도가 늦어져 한 번의 손실이 더 커졌기 때문입니다.

하락 분할매수는 수익률을 크게 높였지만 MDD도 70% 이상으로 키웠습니다. 위험을 줄인 것이 아니라 위험을 다시 늘려 수익률을 높인 결과에 가까웠습니다.

결국 휩쏘를 줄이는 가장 직접적인 방법은 복잡한 지표를 추가하는 것이 아니라 매수선과 매도선을 조금 떨어뜨리는 것이었습니다. 이번 데이터에서는 약 1~1.5%의 작은 히스테리시스가 가장 실용적으로 보였습니다.

그렇지만 모든 테스트는 결국 과거 데이터의 결과입니다. 최대한 과최적화를 줄이기 위해 단순하고 논리적인 전략을 선택하려고 했지만 앞으로도 이 전략이 통한다는 보장은 없습니다.

무엇보다더 실전에 적용하기 전에 전략에 대한 추가적인 테스트도 필요하지만 내가 이 변동성을 견딜 수 있는 사람인지 테스트 해보는 것도 중요합니다.

그럼 끝!