서론: 이동평균을 다시 한 번 평활하면
이동평균선 하나만 그려 놓고 가격이 선을 넘는지 보는 방법은 흔하다. 이 지표는 한 단계를 더 얹는다. 종가의 단순이동평균(SMA)을 먼저 구하고, 그 결과에 지수이동평균(EMA)을 한 번 더 입힌다. 두 선이 서로 엇갈릴 때를 신호로 읽는다. 가격 자체와 이평선이 아니라 이평선과 그 이평선의 그림자가 교차하므로, 가격이 선을 슬쩍 넘었다 돌아오는 잡음은 어느 정도 걸러진다. 대신 늦는다. 얼마나 늦는지가 이 글의 질문이다.
삼성전기를 고른 이유는 구간의 모양이다. 7월 말에 며칠 만에 크게 빠졌다가 8월에 급반등했고, 9월에는 좁은 박스에서 움직이다 다시 올랐다. 급락, 급반등, 횡보, 재상승이 50거래일 안에 다 들어 있어서 교차 지표가 어디서 맞고 어디서 틀리는지 보기 좋다. 같은 종목의 앞선 지표 글이 있다면 거기서 쓴 구간과는 다른 최근 데이터다.
종목 삼성전기 (009150)
구간 2026-07-22 ~ 2026-10-02, 50거래일
출처 stockanalysis.com 일봉 (서로 다른 두 요청에서 50행 전부 일치)
--------------------------------------------------
최고가 1,600,000원 (08-14 장중)
최저가 865,000원 (07-30 장중)
종가 1,581,000원 (10-02)
낙폭 07-23 종가 1,448,000원 에서 07-30 종가 879,000원 까지 -39.30%이 글은 과거 데이터를 계산한 학습 기록이며 투자 권유가 아니다. 매매 판단과 손익은 전적으로 본인 책임이다.

본론: 계산, 실측, 검증
정의와 계산식
계산은 numpy 로 직접 구현했고 지표 라이브러리는 쓰지 않았다. 식은 세 줄이다.
SMA(t) = ( C(t) + C(t-1) + ... + C(t-8) ) / 9
k = 2 / (9 + 1) = 0.2
EMA(t) = k * SMA(t) + (1 - k) * EMA(t-1)
차이(t) = SMA(t) - EMA(t)
--------------------------------------------------
상향 교차 차이가 음수에서 0 이상으로 넘어간 날
하향 교차 차이가 양수에서 음수로 넘어간 날C 는 종가다. EMA 의 첫 값은 첫 SMA 값으로 시드했다. 이 선택이 결과에 영향을 주는데, 뒤에서 따로 적는다.
파라미터를 이렇게 골랐다
SMA 길이 9와 EMA 길이 9로 잡았다. 9는 거래일로 약 두 주다. 50거래일짜리 표본에서 20 이상으로 가면 유효값이 너무 적어지고, 5처럼 짧게 가면 교차가 잦아져 잡음을 거르려는 목적과 어긋난다. 그래서 가운데 값을 기준으로 삼고, 5/5, 14/9, 20/9 를 민감도 비교용으로 따로 돌렸다.
예열 구간 때문에 유효값이 줄었다
50개 종가에서 SMA(9) 는 아홉 번째 날인 8월 3일부터 값이 나온다. 앞의 8거래일은 비어 있고, 유효한 SMA 는 42개다. EMA 는 SMA 가 생긴 날부터 시작하므로 역시 42개다. 교차 판정은 전날 값이 있어야 하니 실제로 비교 가능한 날은 41일이다. 즉 7월 22일부터 8월 2일까지의 급락 구간은 이 지표의 눈에 한 번도 들어오지 않는다.
시드 문제도 있다. 첫 날 EMA 를 SMA 와 같게 두었으니 차이는 정확히 0에서 출발한다. 8월 4일부터 8월 10일까지 5거래일은 가격이 7월 30일 저점(879,000원)에서 올라오던 중인데도 SMA 가 EMA 를 밑돈다. 창에 급락 구간이 아직 많이 들어 있어서다. 이 5일의 음수는 시장의 의견이라기보다 예열의 흔적으로 보는 편이 맞다.

기준 설정(9/9)의 신호는 세 번
전수 나열이다. 수익률은 신호일 종가에서 다음 반대 신호일 종가까지의 가격 변화로 쟀다.
날짜 방향 종가 차이 다음 신호까지 가격
--------------------------------------------------
08-11 상향 1,262,000 +16,991 +5.94% (09-14, 1,337,000)
09-14 하향 1,337,000 -4,685 +11.14% (09-22, 1,486,000)
09-22 상향 1,486,000 +2,054 +6.39% (10-02, 1,581,000, 미결)맞은 신호는 두 번이다. 8월 11일 상향은 9월 14일까지 5.94% 올랐고, 9월 22일 상향은 10월 2일까지 6.39% 올랐다. 후자는 아직 열려 있어 끝난 결과가 아니다.
빗나간 신호는 가운데 하나다. 9월 14일 하향 교차를 보고 매도하거나 관망으로 돌아섰다면, 6거래일 뒤인 9월 22일에 가격은 11.14% 높아져 있었다. 하향 신호 다음 날인 9월 15일 종가가 1,317,000원(-1.50%)까지 내려간 것이 이 신호가 맞았던 전부다. 이후 9월 17일 종가 1,330,000원까지 눌린 뒤 반등이 이어졌고 9월 22일에 상향 교차로 뒤집혔다. 숫자로 보면 하향 교차 때 차이가 -4,685원이었고, 신호가 뒤집힐 때 차이는 +2,054원이었다. 선 사이 간격이 몇천 원 단위로 붙어 있었다는 뜻이다. 이 정도 간격에서 나온 교차는 방향의 확정으로 읽기 어렵고, 선이 서로 스쳤다는 기록으로 읽는 게 안전하다.
더 큰 문제는 첫 신호의 시점이다. 8월 11일 종가는 1,262,000원으로 7월 30일 종가 879,000원보다 이미 43.57% 올라 있었다. 저점에서 8거래일이 지난 뒤였다. 9일 창에 저점이 들어 있는 한 SMA 가 빨리 따라오기 어렵고, EMA 로 한 번 더 늦춰지니 반등 초입을 잡는 도구가 되지 못했다. 8월 11일에 샀다면 10월 2일까지 25.28% 의 수익이지만, 그 전 43.57% 는 구경만 했다.

신호 사이의 거리가 하는 말
차이 막대 그림을 보면 8월 중순에는 +97,725원(8월 18일)까지 벌어졌다가 8월 말부터 9월 중순까지 계속 줄었다. 9월 11일에는 +4,477원이었다. 가격은 9월 7일 종가 1,454,000원에서 9월 8일 1,370,000원으로 하루에 5.78% 빠졌는데도 교차는 없었다. 간격이 좁아지는 흐름은 보였지만 신호로는 나오지 않았다. 9월 14일에야 교차가 찍혔고, 그때 가격은 이미 1,337,000원이었다. 하락을 알리는 신호가 하락이 끝나갈 때 도착했고, 하락의 대부분은 이미 지나간 뒤였다.
파라미터를 바꾸면
같은 50거래일에 길이만 바꿔 돌렸다.
SMA/EMA 유효 SMA 교차 상향 진입 결과 (다음 반대 신호까지)
--------------------------------------------------
5 / 5 46개 7회 -2.80% -3.59% -4.50% +10.64% (미결)
9 / 9 42개 3회 +5.94% +6.39% (미결)
14 / 9 37개 3회 -11.51% +6.39% (미결)
20 / 9 31개 4회 -0.98% +13.90% (미결)5/5 는 교차가 7번이다. 닫힌 여섯 구간의 방향 기준 손익이 전부 마이너스였다. 하향 신호를 따라 매도 쪽에 섰다면 8월 24일 신호 뒤에 가격이 7.81% 올랐고 9월 14일 신호 뒤에는 6.88% 올랐다. 짧게 잡으면 횟수가 늘고 틀린 횟수도 같이 는다.
14/9 는 첫 상향 신호가 8월 13일 1,503,000원에 나왔다. 반등이 거의 끝나가던 자리여서 9월 17일 하향 신호까지 -11.51% 였다. 길게 잡으면 늦어서 고점에 들어간다. 여기서 이득을 본 건 20/9 쪽이었지만 미결 구간 +13.90% 하나가 만든 숫자다. 표본이 작아서 어느 길이가 좋다고 말할 근거는 없다. 이 표에서 확실한 건 길이를 바꾸면 신호 횟수가 3에서 7까지 달라진다는 점이고, 9월 22일 부근의 상향 교차는 14/9 와 9/9 에서 같은 날 나왔다는 점이다.

봇 게이트에 넣을 것인가
단독 진입 조건으로는 넣지 않는다. 이유는 세 가지다. 첫째, 이번 구간에서 가장 큰 가격 변화(저점 반등 43.57%)를 신호가 지나간 뒤에 알렸다. 둘째, 박스권에서는 차이가 수천 원 단위로 붙어 있어 교차의 값어치가 낮다. 셋째, 길이를 한 칸만 바꿔도 신호 횟수가 두 배 이상 달라진다.
쓴다면 방향 필터 쪽이다. 차이가 양수이고 커지는 중이면 다른 진입 신호의 크기를 키우고, 음수로 바뀌면 신규 진입을 쉬는 식이다. 다만 이것도 50거래일 하나로 검증할 수 없다. MACD 처럼 같은 계열의 지표와 겹치는 정보가 많다는 점도 걸린다.
결론: 이번 구간에서 남길 것
남길 건 두 가지다. 하나는 이 지표의 역할이다. 지나간 추세를 확인해 줄 뿐, 반등이나 하락의 초입은 알려주지 못했다. 삼성전기에서 8월 11일 신호는 저점 대비 43.57% 오른 뒤에 왔다. 다른 하나는 선 사이 간격이다. 9월 14일과 9월 22일의 교차는 차이가 -4,685원과 +2,054원일 때 나왔고, 이 정도면 신호라기보다 두 선이 겹쳐 있던 시기의 흔들림이었다. 간격이 얼마 이상일 때만 신호로 칠지 기준을 세워 다시 돌려보면 3번 중 어느 것이 남는지 알 수 있을 것이다. 이번 표본으로는 정하지 못했다.
10월 2일 현재 차이는 +62,214원으로 8월 중순 이후 가장 크게 벌어져 있고, 종가는 1,581,000원으로 이 구간 최고다. 이 간격이 8월처럼 줄어들며 끝날지는 다음 구간 데이터를 받아 확인할 숙제로 남겨 둔다.
이 글은 과거 데이터로 계산한 학습 기록이다. 투자 권유가 아니며 모든 판단과 책임은 독자 본인에게 있다.
약어 풀이
* 이 글에 나온 영어 약어를 풀어 둔다.
- MA (Moving Average): 이동평균. 일정 기간 종가의 평균을 이어 그린 선.
- SMA (Simple Moving Average): 단순이동평균. 기간 내 종가를 같은 비중으로 평균낸 값.
- EMA (Exponential Moving Average): 지수이동평균. 최근 값에 더 큰 비중을 주는 평균.
- MACD (Moving Average Convergence Divergence): 이동평균 수렴확산. 단기와 장기 지수이동평균의 차이로 추세를 보는 지표.