OptiNod 아카데미

이동평균 크로스 — 시스템이 실패하는 이유

이평 크로스는 진입 신호로 쓰기엔 늦고, 박스권에서 가장 많은 신호를 내면서 가장 많이 틀립니다. 크로스는 방향 필터로 쓰고 진입은 따로 잡습니다.

이평 크로스 시스템은 가장 널리 알려진 매매 규칙입니다. 짧은 이동평균(예: 50일선)이 긴 이동평균(예: 200일선)을 위로 넘으면 골든크로스로 보고 매수, 아래로 넘으면 데드크로스로 보고 매도합니다.

규칙이 단순하고 눈에 보여서 따라 하기 쉽습니다. 한 방향으로 길게 뻗는 추세를 타면 두 선이 벌어진 채 오래 유지되어 큰 이익을 줍니다. 그래서 추세장이 길었던 자산일수록 이 시스템의 과거 성적이 좋아 보입니다.

그러나 이동평균은 과거 가격의 평균이라 늘 가격보다 늦습니다. 크로스가 일어나는 순간엔 이미 추세가 한참 진행된 뒤입니다. 게다가 가격이 박스권을 오가면 두 선이 계속 엉켜 크로스가 짧은 간격으로 반복됩니다.

크로스는 추세를 뒤늦게 확인해 주는 신호입니다. 이것을 진입 타이밍으로 쓰면 추세장에선 늦게 들어가고, 박스권에선 휩쏘에 시달립니다. 크로스의 쓰임을 바꿔 진입 타이밍은 따로 잡고 방향을 거르는 필터로 쓰면 이 두 약점을 피할 수 있습니다.

크로스는 추세가 이미 진행된 뒤에야 신호를 주는 지연된 확인이다

크로스는 추세를 뒤늦게 확인해 준다

이동평균은 지난 며칠이나 몇백 일의 종가를 평균한 값입니다. 평균이라는 성격상 가격이 돌아선 뒤에야 방향을 바꾸고, 두 평균선이 교차하기까지는 더 오래 걸립니다.

2023년 2월 7일 BTC의 50일선이 200일선을 위로 넘으며 골든크로스가 나왔습니다. 그때 BTC 가격은 23,240달러였습니다. 그런데 BTC는 2022년 11월 15,500달러 부근에서 이미 바닥을 찍은 상태였습니다. 골든크로스가 신호를 줬을 때는 바닥에서 50% 가까이 오른 뒤였습니다.

이것이 크로스의 본질입니다. 추세가 시작되고 한참 뒤에야 추세가 시작됐다고 알려 줍니다. EMA 글에서 본 대로, 두 선이 교차하기 전에 두 선의 각도 변화가 추세 전환을 먼저 보여줍니다. 교차는 과정의 결과일 뿐입니다.

선이 길수록 지연은 더 커집니다. 200일선은 200일치 평균이라 방향을 바꾸는 데 가장 오래 걸리고, 50일선과의 교차도 그만큼 늦습니다. 빠른 신호를 원해 짧은 선을 쓰면 이번엔 가짜 교차가 늘어납니다. 지연과 가짜 신호는 한쪽을 줄이면 다른 쪽이 느는 맞교환입니다.

박스권에서 가장 많이 휩쏘된다

크로스의 더 큰 문제는 박스권입니다. 가격이 일정 범위를 오가면 짧은 선과 긴 선이 가까이 붙어 자주 교차합니다. 그때마다 골든크로스나 데드크로스 신호가 나오지만, 추세가 없으니 매번 휩쏘(Whipsaw)로 끝납니다.

2023년 9월 12일 BTC에서 데드크로스가 나왔습니다. 50일선이 200일선을 아래로 넘었고, 가격은 25,840달러였습니다. 신호대로라면 팔거나 숏을 잡을 자리입니다. 그런데 바로 그 무렵이 그해 가장 큰 상승의 출발점이었습니다.

BTC는 10월에 35,000달러까지 올랐고, 50일선은 다시 200일선을 위로 넘어 10월 30일 34,475달러에서 골든크로스가 나왔습니다. 데드크로스 신호를 따라 팔았던 사람은 7주 만에 33% 높은 자리에서 다시 사라는 신호를 받은 셈입니다. 크로스는 박스권의 끝, 추세의 시작 자리에서 가장 자주 틀립니다.

데드크로스가 바닥 부근에서 나오는 데는 이유가 있습니다. 50일선은 직전 몇 달의 하락과 횡보를 평균한 값이라, 가격이 막 돌아서기 시작할 때도 아직 아래를 향합니다. 그래서 가격이 바닥을 찍고 오르기 시작하는 바로 그 무렵에 데드크로스가 완성되는 일이 잦습니다.

2024년에도 같은 일이 되풀이됐습니다. 8월 10일 BTC가 60,924달러에서 데드크로스를 냈는데, 이후 가격은 무너지지 않고 횡보하다 다시 올랐습니다. 10월 30일에는 72,345달러에서 골든크로스가 나왔습니다. 데드크로스 신호를 따른 사람은 이번에도 19% 높은 자리에서 되사라는 신호를 받았습니다.

박스권에서 이런 짝지은 휩쏘는 한 번으로 끝나지 않습니다. 가격이 범위를 오가는 동안 데드크로스와 골든크로스가 번갈아 나오며, 그때마다 작은 손실이 쌓입니다. 신호를 그대로 따르면 추세가 오기 전에 잔고부터 줄어듭니다.

박스권에서 데드·골든크로스가 번갈아 어긋나며 손실이 쌓이는 휩쏘

골든크로스의 진짜 쓸모와 한계

크로스에 쓸모가 없는 것은 아닙니다. 골든크로스 뒤 상승, 데드크로스 뒤 하락이 길게 이어지는 추세장에서는 두 선이 벌어진 채 유지되어 추세 내내 방향을 한쪽으로 잡아 줍니다. 다만 그 쓸모는 지금 큰 흐름이 어느 쪽인가를 알려 주는 데 있습니다. 정확한 진입 타이밍은 따로 잡습니다.

크로스의 신호 하나만 따라 사고파는 시스템은 추세장의 이익을 박스권의 휩쏘 손실로 까먹습니다. 한 해에 추세장은 짧고 박스권은 길기 때문에, 신호 수로 보면 틀린 신호가 맞은 신호보다 훨씬 많습니다. 그래서 크로스를 단독 진입 신호로 쓰면 기대값이 잘 나오지 않습니다. 정리하면 크로스는 추세가 있을 때만 맞고 추세가 없을 때 가장 자주 틀립니다. 지금 추세가 있는지부터 가려야 크로스를 쓸 수 있다는 뜻입니다.

백테스트에서 크로스가 좋아 보이는 이유

이평 크로스 백테스트를 길게 돌리면 결과가 그럴듯해 보일 때가 많습니다. 특히 한 자산이 긴 상승을 한 구간에서는, 골든크로스에 사서 데드크로스에 파는 단순 규칙도 큰 수익을 냅니다.

그러나 그 수익의 대부분은 시스템의 실력에서 나오지 않습니다. 그 구간이 상승장이었다는 사실에서 나옵니다. 같은 규칙을 박스권이 긴 구간이나 하락장에 돌리면 휩쏘로 까먹습니다. 특정 시장의 한 국면에만 맞는 결과를 시스템의 실력으로 착각하는 것입니다.

그래서 크로스 시스템은 서로 다른 시장 국면을 포함한 긴 구간에서, 수수료와 슬리피지를 반영해 검증해야 합니다. 상승장만 잘라 낸 백테스트는 어떤 단순 규칙이든 좋아 보이게 만듭니다. 백테스트는 시스템이 여러 시장에서 견디는지를 보는 도구입니다. 한 구간의 수익을 자랑하는 용도로 쓰면 결과를 잘못 읽습니다.

한 구간의 수익만 보지 않고 파라미터나 구간을 바꿔도 결과가 견디는지를 같이 봐야, 그 시스템의 진짜 실력을 가릴 수 있습니다.

어떤 기간을 쓸 것인가

크로스에 정답인 기간은 없습니다. 50/200은 큰 추세를, 20/50은 중간 추세를, 9/21은 단기 흐름을 봅니다. 기간이 짧을수록 신호가 빠르지만 가짜 신호가 늘고, 길수록 가짜 신호가 줄지만 늦습니다. 자기 보유 기간에 맞게 값을 정하면 됩니다.

여기서 흔한 함정이 기간 최적화입니다. 과거 데이터를 돌려 가장 수익이 좋았던 조합을 찾는 것입니다. 그러나 한 구간에서 가장 좋았던 기간은 그 구간에만 맞춰진 값입니다. 2023년 BTC에 가장 잘 맞은 조합이 2024년에도 가장 잘 맞을 이유는 없습니다. 과거에 맞춘 기간일수록 미래에는 어긋나기 쉽습니다.

그래서 기간은 자기 매매 주기에 맞춰 단순하게 정해 그대로 씁니다. 최적화로 고르는 일은 피합니다. SMA와 EMA 중에서는 EMA가 최근 가격에 더 민감해 신호가 조금 빠르고, SMA는 더 매끄럽지만 더 늦습니다. 어느 쪽이든 기간을 자주 바꾸지 않는 것이 핵심입니다.

크로스를 방향 필터로 쓴다

크로스를 진입 타이밍은 따로 두고 방향 필터로 쓰면 두 약점이 줄어듭니다. 50일선이 200일선 위에 있는 동안은 매수만 보고, 아래에 있는 동안은 매도만 봅니다. 실제 진입은 크로스 시점에 하지 않고 가격 구조에서 잡습니다. 골든크로스 상태에서 가격이 50일선이나 직전 눌림목으로 내려왔다가 반등하는 자리가 진입입니다.

이렇게 하면 크로스의 지연이 문제가 되지 않습니다. 방향만 거르고 진입은 눌림목에서 잡으니, 추세 초입부터 더 좋은 가격에 들어갑니다. 박스권에서는 ADX가 낮아 추세 조건이 맞지 않으므로 진입 자체를 걸러 냅니다.

방향 필터로 쓸 때 50일선은 진입 자리도 알려 줍니다. 골든크로스 상태의 상승 추세에서는 가격이 50일선 부근으로 눌렸다가 반등하는 일이 잦습니다. 50일선이 움직이는 지지선 역할을 하는 것입니다. 크로스로 방향을 정한 뒤 50일선까지의 눌림목을 진입 자리로 삼으면, 추세 안에서 더 좋은 가격을 얻습니다.

데드크로스가 나오면 들고 있던 매수의 방향 근거가 사라진 것이므로 신규 매수를 멈춥니다. 진입 자리는 가격 구조에서 잡되, 매수와 매도 중 어느 쪽만 볼지는 크로스가 정해 줍니다. 늦게 오는 신호에 빠른 진입을 더하는 셈입니다.

크로스로 방향만 거르고 50일선 눌림목에서 진입하는 방식

휩쏘를 줄이는 세 가지

크로스를 그대로 쓰더라도 휩쏘를 줄이는 방법이 있습니다.

  • 더 긴 이동평균: 50/200은 9/21보다 교차가 적어 가짜 신호가 줄어듭니다. 대신 더 느립니다.
  • 추세 필터: ADX가 일정 값(예: 20) 위일 때의 크로스만 받습니다. 박스권의 크로스를 대부분 걸러 냅니다.
  • 거리와 기울기 확인: 두 선이 거의 붙은 채 교차하면 넘기고, 뚜렷이 벌어지며 같은 방향으로 기울 때만 받습니다.

세 가지 모두 신호 수를 줄여 휩쏘를 막아 주지만, 그만큼 신호가 늦어지는 것은 감수해야 합니다. 어떤 방법을 쓰든 크로스는 추세를 따라가는 도구입니다. 추세의 시작은 맞히지 못합니다. 시작을 맞히려 하면 박스권의 가짜 신호를 피할 수 없습니다.

크로스를 진입으로 쓰는 법

  • [ ] 진입 조건: 일봉 50일선이 200일선 위에 있고(골든크로스 상태), ADX가 20 이상입니다. 가격이 50일선 부근으로 눌렸다가 긴 아래꼬리 같은 반등 신호가 나옵니다.
  • [ ] 진입: 반등 봉의 종가에 매수합니다.
  • [ ] 손절: 눌림목 저점 아래에 둡니다.
  • [ ] 무효화: 50일선이 200일선 아래로 다시 내려가면 방향 판단을 접고 정리합니다.
골든크로스 상태와 ADX 조건에서 눌림목 진입·손절·무효화로 이어지는 매매 순서

이평 크로스는 단순해서 매력 있지만, 그 단순함 때문에 박스권에서 끝없이 당합니다. 크로스는 방향을 거르는 필터로 두고, 진입은 가격 구조에서 따로 잡습니다. 이렇게 쓰임을 한 번 바꾸면 가장 흔한 시스템이 쓸 만한 도구가 됩니다. 단순한 규칙일수록 어디서 통하고 어디서 무너지는지를 알고 써야 합니다.