이동평균 교차는 가장 오래된 추세 추종 신호 중 하나다. 단기 평균선이 장기 평균선을 아래에서 위로 뚫으면 골든 크로스, 반대로 위에서 아래로 뚫으면 데드 크로스라 부른다. 재는 대상은 가격 평균 두 개의 간격이다. 가격 자체는 직접 재지 않는다. 그래서 신호는 늘 가격보다 늦게 나온다. 이 글은 그 늦음이 실제로 얼마나 비싼지를 한 종목의 최근 구간에 대 보는 기록이다.

종목은 SK스퀘어(402340)다. 고른 이유는 구간의 생김새에 있다. 2026-07-22에 종가 1,230,000원으로 시작한 주가가 일주일 남짓 만에 799,000원까지 내려갔고(종가 기준 -35.04%), 07-31에는 하루에 +29.91%를 올렸다. 이후에는 대략 100만원 안팎에서 오르내렸다. 급락 뒤의 횡보 구간은 이동평균 교차가 가장 자주 속는 환경이라 시험대로 좋다.

이 글의 데이터 범위
종목      SK스퀘어 (402340)
구간      2026-07-22 ~ 2026-10-02 (50거래일)
출처      stockanalysis.com 일봉
--------------------------------------------------
최고가    1,400,000원 (07-22, 장중)
최저가    768,000원 (07-29, 장중)
종가 고점  1,230,000원 (07-22)
종가 저점  799,000원 (07-30)
마지막 종가 1,156,000원 (10-02)
종가 낙폭  -35.04% (07-22 고점 종가에서 07-30 저점 종가까지)

이 글은 투자 권유가 아니다. 과거 구간에 지표를 대 본 계산 기록이며, 같은 결과가 다시 나온다는 보장은 없다.

먼저 밝힐 한계

받을 수 있었던 일봉은 50거래일이 전부였다. 60거래일에 못 미친다. 이 한계는 지표의 선택을 바로 제한한다. 흔히 쓰는 50일선과 20일선 조합은 50개 봉에서 유효한 값이 딱 한 번 나오므로 교차 자체를 판정할 수 없다. 그래서 단기 5일, 장기 20일로 잡았다. 20일 평균은 20번째 봉에서야 처음 값이 생기는데, 이 구간에서는 2026-08-19이 그날이다. 50개 중 SMA 20이 유효한 봉은 31개이고, 앞 19개는 예열이라 교차를 말할 수 없다. 마지막 봉인 10-02의 거래량(215,533주)은 다른 날보다 유난히 적어 부분 세션일 수 있으므로 거래량으로는 아무것도 주장하지 않는다. 가격만 쓴다.

SK스퀘어 50거래일 캔들과 거래량

계산식

단순이동평균(SMA)은 최근 n개 종가의 산술평균이다. 교차는 두 평균의 차이 부호가 바뀌는 순간으로 정의했다.

MA Cross 정의
SMA(n)[t]  = ( C[t] + C[t-1] + ... + C[t-n+1] ) / n
간격 g[t]   = SMA(5)[t] - SMA(20)[t]
--------------------------------------------------
골든  g[t-1] <= 0  이고  g[t] > 0
데드  g[t-1] >= 0  이고  g[t] < 0
 
예  08-31 SMA(5) = (1,060,000 + 1,058,000 + 1,068,000
          + 1,028,000 + 1,037,000) / 5 = 1,050,200원

C는 종가다. 파라미터를 5와 20으로 정한 이유는 두 가지다. 위에서 말한 대로 데이터가 50개뿐이라 장기선을 20보다 길게 잡으면 교차를 볼 구간이 너무 짧아진다. 또 5일은 한 주 거래, 20일은 한 달 거래에 해당하는 관행적 숫자라서 고르는 쪽의 자의가 가장 적다. 신호를 보기 좋게 만들려고 숫자를 돌려 맞추지는 않았다. 다만 그 결과가 나쁘면 파라미터 탓이라는 변명이 열려 있으므로 뒤에서 세 가지 조합을 더 대 본다. 계산은 numpy 로 직접 구현했고 지표 라이브러리는 쓰지 않았다.

종가와 SMA 5, SMA 20 및 교차 시점

교차 4번 전수 점검

SMA 20이 유효해진 08-19 이후 교차는 정확히 네 번이다. 신호 시점의 종가와, 그 뒤 5거래일째, 10거래일째 종가가 얼마나 움직였는지를 같이 적는다. 골든 뒤에 올랐으면 맞은 것이고, 데드 뒤에 내렸으면 맞은 것이다.

SMA 5/20 교차 전수
날짜    구분  종가        SMA 5       SMA 20      5일후     10일후
--------------------------------------------------------------------
08-31   데드  1,037,000   1,050,200   1,050,700   +8.49%    -3.57%
09-09   골든  1,138,000   1,083,200   1,073,600   -10.37%   +4.57%
09-16   데드  1,020,000   1,048,800   1,064,100   +16.67%   +13.33%
09-22   골든  1,133,000   1,073,400   1,062,350   +1.94%    없음

첫 신호인 08-31 데드 크로스는 간격이 -500원이다. 100만원대 주식에서 0.05%에 불과한 차이로 부호가 뒤집힌 것이다. 이 정도 간격은 신호라기보다 두 선이 겹쳐 있다는 표시에 가깝고, 5일 뒤 가격은 +8.49%로 반대 방향이었다. 틀렸다. 10일 뒤에는 -3.57%로 돌아섰지만 그 사이에 이미 매도한 사람은 손해를 본 뒤다.

09-09 골든은 5일 뒤 -10.37%였다. 틀렸다. 10일째에 +4.57%로 회복해 겉으로는 맞은 것처럼 보이지만, 그 사이 09-16 종가 1,020,000원까지 밀린 구간을 견뎌야 했다. 09-16 데드는 더 나쁘다. 5일 뒤 +16.67%, 10일 뒤 +13.33%다. 가장 크게 틀린 신호이고, 데드를 보고 판 사람은 반등 거의 전부를 놓쳤다. 마지막 09-22 골든만 5일 뒤 +1.94%로 방향이 맞았다. 4번 중 5일 기준으로 맞은 것은 1번이다. 10일 기준으로는 09-22가 아직 10거래일이 지나지 않아 판정을 못 한다.

SMA 5와 SMA 20의 간격

간격 그림을 보면 이유가 보인다. 간격이 0선 근처에서 몇 거래일 머물다 뒤집히는 모습이 반복된다. 평균선 두 개가 방향 없이 겹쳐 도는 횡보장에서는 교차는 추세 전환보다 잡음에 가깝다. 그리고 놓친 신호도 하나 있다. 09-28에 주가가 -7.56%(종가 1,100,000원) 빠졌는데, 그날도 SMA 5(1,125,800원)는 SMA 20(1,070,550원) 위에 있어서 어떤 경고도 나오지 않았다. 지표가 말을 안 한 날이 가장 크게 움직인 날이었다.

상태가 얼마나 오래 갔나

교차 사이에 한 상태가 유지된 길이도 세어 봤다. SMA 5가 위에 있던 구간이 8거래일, 아래가 7거래일, 위가 5거래일, 아래가 4거래일, 마지막으로 위가 7거래일이다. 추세 추종 지표가 값을 하려면 한 상태가 적어도 수 주는 이어져야 하는데, 이 구간의 가장 긴 상태가 8거래일이다. 상태가 바뀔 때마다 가격은 이미 한 번 크게 움직인 뒤였고, 평균선이 따라잡았을 때는 반대로 가는 중이었다. 평균에 평균을 겹친 값이라 늦는 것이 설계상 당연하다. 문제는 늦음의 크기가 상태의 길이와 맞먹었다는 점이다.

규칙으로 만들어 보면

신호를 그대로 따르는 가장 단순한 규칙을 세웠다. 전날 종가 기준으로 SMA 5가 SMA 20 위에 있으면 다음 날 보유하고, 아래면 현금으로 둔다. 08-19 종가(1,004,000원)에서 시작해 10-02 종가(1,156,000원)까지 이 규칙을 적용하면 누적 -5.54%다. 같은 기간 그냥 들고 있었다면 +15.14%다. 규칙이 20.68%포인트 졌다. 31개 봉 가운데 SMA 5가 위에 있던 날은 20일, 아래에 있던 날은 11일이다. 수수료와 세금은 넣지 않았으므로 실제로는 이보다 더 나쁘다. 표본이 31일뿐이라 이 숫자로 지표 전체를 판결할 수는 없다. 이 구간에서 졌다는 사실만 확정이다.

파라미터를 바꾸면

같은 50일에 조합을 바꿔 교차 횟수와 적중을 세어 봤다.

파라미터 민감도
조합       유효 봉   교차   5일 기준 적중
--------------------------------------------
SMA 5/20   31개      4회    1회
SMA 5/10   41개      7회    3회
SMA 3/10   41개      6회    3회
SMA 10/30  21개      2회    판정 불가

SMA 5/10은 교차가 7번 나왔고 5일 기준으로 3번 맞았다. 08-06 골든이 +15.15%로 맞았고, 08-27 데드가 -8.15%로 맞았고, 09-22 골든이 +1.94%였다. 반대로 08-12 데드(+9.67%)와 08-14 골든(-6.76%), 09-08 골든(-11.58%), 09-16 데드(+16.67%)는 틀렸다. 맞은 비율이 5/20보다 나아 보이지만 신호가 7번뿐이고 반 이상이 틀렸다. SMA 10/30은 21개 봉에서 교차가 09-28 데드와 09-30 골든 두 번 나왔는데 이틀 간격이라 앞의 신호가 곧바로 부정당했다. 뒤로 5거래일이 남지 않아 적중은 판정하지 않았다. SMA 3/10은 6번 나왔고 3번 맞았다. 08-10 데드(+19.60%)와 09-07 골든(-11.11%), 09-15 데드(+13.30%)가 틀렸고, 08-13 골든(+0.54%)과 08-26 데드(-7.18%), 09-22 골든(+1.94%)이 맞았다. 절반이다. 동전 던지기와 구별이 안 되는 숫자다.

파라미터별 교차 시점 비교

결국 파라미터를 바꾼다고 교차가 갑자기 믿을 만해지지는 않는다. 짧게 잡으면 신호가 늘고 대부분 잡음이다. 길게 잡으면 신호가 사라진다. 이 50일에서는 어느 쪽도 쓸 만한 답을 주지 못했다.

봇 게이트에 넣을 것인가

단독 진입 조건으로는 넣지 않는다. 이 구간의 결과는 4번 중 1번 적중, 따라 한 규칙은 -5.54%였다. 다만 쓸모가 없다고 잘라 말하기는 이르다. 이 구간은 급락 직후의 횡보였고, 추세가 길게 이어지는 구간에서는 같은 지표가 다른 얼굴을 보일 수 있다. 가능성이 있는 쓰임은 필터다. 예를 들어 두 평균의 간격이 일정 크기(가령 가격의 1%) 아래일 때는 교차 신호를 무시하는 식이다. 08-31 데드가 0.05% 간격이었다는 점을 생각하면 그런 필터가 첫 오신호를 걸러냈을 것이다. 다만 그 1%라는 숫자는 이 글에서 검증하지 않았고, 다음 구간에서 따로 시험해야 한다.

남는 것

이번 구간에서 남길 것은 둘이다. 하나는 간격이 아주 작은 교차는 신호로 세지 않는 편이 낫다는 점이다. 다른 하나는 가장 크게 움직인 날(09-28의 -7.56%)에 이 지표가 아무 말도 하지 않았다는 점이다. 이동평균 교차는 이미 시작된 움직임을 확인해 주는 도구이고, 움직임을 예고하는 도구가 아니다.

해결하지 못한 숙제도 있다. 데이터가 50거래일이라 SMA 50 같은 장기 조합은 아예 시험하지 못했다. 이 종목에서 더 긴 구간, 더 긴 평균선으로 같은 계산을 하면 결과가 어떻게 달라지는지는 다음에 확인할 일이다. 간격 필터가 실제로 효과가 있는지도 그때 같이 본다.

이 글은 투자 판단의 근거로 쓰라고 쓴 것이 아니다. 모든 매매 판단과 그 결과는 본인의 몫이다.

약어 풀이

* 이 글에 나온 영어 약어를 풀어 둔다.

  • SMA (Simple Moving Average): 단순이동평균. 최근 n개 종가를 더해 n으로 나눈 값.
  • MA (Moving Average): 이동평균. 일정 기간 가격의 평균을 이어 그린 선.