왜 DEMA, 왜 두산인가

이동평균은 지연이 문제다. 기간을 늘리면 잡음은 줄어들지만 전환점을 늦게 알려주고, 줄이면 반응은 빨라지되 가짜 신호가 늘어난다. DEMA(Double Exponential Moving Average, 이중지수이동평균)는 이 딜레마를 절충하려고 나왔다. EMA를 한 번 더 EMA로 감싼 뒤, 그 차이만큼을 원래 EMA에 얹어 지연을 인위적으로 깎아낸다. 이름과 달리 두 개의 이동평균을 단순히 평균 내는 지표가 아니다.

두산(지주회사, 000150)의 최근 구간이 이 지표를 시험하기 좋은 이유는 단순하다. 석 달 사이에 급락과 급등과 횡보가 전부 들어 있다. 초반 고점에서 저점까지 37.80% 빠졌고, 저점 이후에는 50.67% 반등했다. 그 사이 하루 만에 상한가(+30.00%)를 찍은 날도 있었다. 방향이 자주 바뀌는 구간일수록 지연을 줄였다는 지표의 주장이 실제로 통하는지 드러난다.

두산은 사업회사가 아니라 지주회사다. 계열사 지분 가치와 배당 수취가 실적의 큰 축이고, 개별 업종 재료보다 계열사 전체의 실적 사이클에 더 크게 얽혀 움직인다. 그래서 단기 등락이 반복되면서도 방향 자체는 며칠 안에 자주 뒤집힌다. 추세추종형 지표에게는 만만치 않은 환경이다.

이 글의 데이터 범위
종목        두산 (000150)
구간        2026-07-02 ~ 2026-09-11 (50거래일)
출처        stockanalysis.com/quote/krx/000150
최고 종가    1,447,000원 (07-02)
최저 종가    900,000원 (07-30)
구간 낙폭    -37.80% (최고 종가 → 최저 종가)
저점 반등    +50.67% (최저 종가 → 마지막 종가)
구간 전체 등락  -6.29% (첫날 → 마지막날)

두산 일봉 캔들과 거래량

이 글은 투자권유가 아니다. 과거 구간에 지표를 되짚어 보는 후행적 분석이고, 같은 신호가 다음에도 같은 결과를 낸다는 보장은 없다.

DEMA 계산식과 실측

DEMA는 EMA를 두 번 겹쳐 만든다. 먼저 종가에 EMA를 씌워 EMA1을 얻고, EMA1에 다시 같은 기간으로 EMA를 씌워 EMA2를 얻는다. 그런 다음 EMA1을 두 배로 하고 EMA2를 빼면 DEMA가 나온다. EMA2가 EMA1보다 항상 더 늦게 움직인다는 성질을 거꾸로 이용해서, 그 지연분을 앞으로 당겨오는 방식이다.

DEMA 계산식
평활계수 α  2 / (period + 1)
--------------------------------------------------
EMA1_t     α × 종가_t + (1 - α) × EMA1_(t-1)
EMA2_t     α × EMA1_t + (1 - α) × EMA2_(t-1)
DEMA_t     2 × EMA1_t - EMA2_t

기간(period)은 20을 골랐다. 두산은 하루 등락폭이 큰 종목이라 10 이하로 잡으면 잡음에 바로 흔들리고, 30 이상으로 잡으면 이번처럼 두 달 안팎의 짧은 구간에서는 신호 자체가 거의 안 나온다. 20은 한 달 거래일 수와 비슷해서 이 시리즈의 다른 글에서도 자주 쓴 절충값이다. numpy로 직접 재귀식을 돌렸고, TA-Lib 같은 지표 라이브러리는 쓰지 않았다.

EMA는 시드값의 영향이 남는 구간이 있다. 첫 값을 그대로 시드로 썼기 때문에, 초반 20봉(07-02~07-30)에는 시드값이 빠져나가는 과정이 섞여 있어 실제 시장 반응으로 보기 어렵다. 이 구간의 DEMA 값은 신뢰하지 않았고, 07-31 이후 30봉만 신호 판정에 썼다.

파라미터와 실측값
period         20  (α ≈ 0.0952)
예열구간       20봉  07-02 ~ 07-30
유효 신호 구간   30봉  07-31 ~ 09-11
신호 발생       4회  매도 2 · 매수 2
적중          2회  08-19 매도, 09-07 매수
빗나감        2회  08-26 매수, 09-02 매도

종가와 DEMA 20일선 교차 신호

신호는 종가가 DEMA 선을 아래에서 위로 뚫으면 매수, 위에서 아래로 뚫으면 매도로 정의했다. 판정 기준은 신호가 뜬 날로부터 이후 5거래일 종가 수익률이다. 순서대로 나열한다.

첫 신호는 08-19 매도. 종가 1,193,000원이 DEMA(1,199,835.65원) 아래로 내려온 날이다. 5거래일 뒤인 08-26 종가는 1,180,000원으로 1.09% 더 낮았다. 방향은 맞았다.

두 번째는 08-26 매수. 같은 날 종가가 1,180,000원으로 DEMA(1,143,254.72원)를 위로 뚫었다. 그런데 5거래일 뒤인 09-02 종가는 1,121,000원, 5.00% 하락했다. 매수 신호 직후 두산은 오히려 더 빠졌다. 이 구간이 이 지표의 약점을 그대로 보여준다. DEMA는 지연을 줄였다고 주장하지만, 줄인 만큼 노이즈에도 더 민감해진다. 08-26 반등은 하루짜리 되돌림이었고 지표는 그걸 추세 전환으로 읽었다.

세 번째는 09-02 매도. 종가 1,121,000원이 DEMA(1,171,090.64원) 아래로 떨어진 날이다. 5거래일 뒤인 09-09 종가는 1,299,000원으로 오히려 15.88% 올랐다. 이번 구간에서 가장 크게 빗나간 신호다. 09-02 직후 두산은 바로 반등해 매도 신호를 무색하게 만들었다.

네 번째는 09-07 매수. 종가 1,271,000원이 DEMA(1,174,207.66원) 위로 올라선 날이다. 다만 데이터가 09-11까지만 있어 판정 창을 5거래일에서 4거래일로 줄였다. 09-11 종가는 1,356,000원, 6.69% 상승했다. 방향은 맞았지만 판정 창이 하루 짧다는 한계는 밝혀 둔다.

넷 중 둘은 맞고 둘은 틀렸다. 정확히 반반이다.

기간을 바꾸면 그림이 또 달라진다. period를 10으로 낮추면 신호가 9번으로 늘어나는데 적중은 3번뿐이라 33%로 떨어진다. 반대로 30으로 올리면 신호는 여전히 4번이지만 적중은 1번, 25%까지 떨어진다.

기간별 민감도
period 10   신호 9회 · 적중 3회  (33%)
period 20   신호 4회 · 적중 2회  (50%)
period 30   신호 4회 · 적중 1회  (25%)

기간별 DEMA 민감도 비교

기간을 짧게 잡을수록 신호는 늘지만 정확도는 오히려 나빠졌다. 이 구간에서는 20이 그나마 나은 절충이었을 뿐, 어느 기간을 골라도 동전 던지기보다 크게 낫다고 말하기는 어렵다.

거래량도 같이 봐야 한다. 상한가를 찍은 07-31의 거래량은 134,767주로, 직전 20거래일 평균 거래량(84,870주)의 약 1.59배였다. 이 구간 전체에서 거래량이 가장 많았던 날은 07-14로 208,090주다. 종가가 하루 만에 30% 뛰는 날에 거래량까지 평소보다 확연히 붙었다는 건, 그 등락이 얇은 호가창에서 생긴 일시적 착시일 가능성은 낮다는 뜻이다. 반대로 이 글에서 다루는 마지막 거래일인 09-11의 거래량은 95,985주로 특별히 작지 않아, 그날 종가를 부분 세션 왜곡으로 의심할 이유는 없다.

DEMA가 실제로 지연을 줄이는지도 확인해 봤다. 같은 기간의 단순 EMA와 겹쳐 그리면, 저점을 찍고 반등이 시작된 직후 DEMA가 EMA보다 먼저 방향을 꺾는 구간이 눈에 보인다. 지연을 줄인다는 설계 의도 자체는 거짓이 아니다. 문제는 그 대가로 08-26 같은 하루짜리 되돌림에도 반응해 버린다는 점이다.

EMA 단선과 DEMA의 반응 속도 비교

봇 게이트에 이 지표를 단독으로 넣을 생각은 없다. 신호 4번에 적중 2번이면 표본이 너무 작아 통계적으로 아무것도 증명하지 못한다. 다만 지연이 짧다는 특성 자체는 쓸모가 있다. 다른 필터와 묶어서 “빠른 방향 힌트” 정도의 보조 신호로는 남겨 둘 만하다.

거래량으로 걸러내면 좋아질까 싶어 네 신호의 거래량을 직전 20거래일 평균과 대조해 봤다. 적중한 09-07 매수는 평균의 1.86배로 거래량이 뚜렷하게 붙었다. 그런데 마찬가지로 적중한 08-19 매도는 평균의 42%에 그쳤다. 반대로 빗나간 08-26 매수는 평균과 거의 같은 1.01배였고, 역시 빗나간 09-02 매도는 평균의 61%였다. 거래량이 많으면 믿을 만하고 적으면 걸러내자는 단순한 규칙은 이 표본에서는 깨끗하게 들어맞지 않았다. 표본이 넷뿐이라 단정할 수는 없지만, 적어도 이번 구간에서는 거래량 필터가 만능은 아니었다.

이번 구간에서 남긴 것

두 가지가 남는다. 하나는 08-26 매수 신호처럼, 반등 하루 만에 지표가 추세 전환으로 오판하는 패턴이 이번에도 반복됐다는 것. 두산 같은 고변동성 종목에서는 짧은 반등과 진짜 전환을 구분하는 별도 필터가 없으면 DEMA 단독 신호는 위험하다. 다른 하나는 09-02 매도 신호의 실패다. 지표가 하락을 확인하자마자 시장은 반대로 움직였는데, 이건 지연을 줄인 지표라도 급반전 앞에서는 여전히 뒤늦다는 뜻이다.

윌리엄 오닐은 시장이 늘 옳다고 했다. 지표보다 가격 그 자체를 먼저 보라는 말로 읽었다. DEMA는 가격을 더 빨리 따라가려는 시도일 뿐, 가격을 대신할 수는 없었다.

이 분석은 과거 데이터에 대한 후행적 검증이며 매매 추천이 아니다. 다음 구간에서 같은 파라미터가 어떻게 움직이는지는 아직 미결이다.

약어 풀이

  • 이 글에 나온 영어 약어를 풀어 둔다.
  • DEMA (Double Exponential Moving Average): 이중지수이동평균. EMA를 두 번 겹쳐 지연을 줄이도록 설계한 이동평균.
  • EMA (Exponential Moving Average): 지수이동평균. 최근 값에 더 큰 가중치를 주는 이동평균으로 DEMA의 재료가 된다.
  • EMA1 (First-pass EMA): DEMA 계산의 1단계, 종가에 EMA를 한 번 씌운 값.
  • EMA2 (Second-pass EMA): DEMA 계산의 2단계, EMA1에 같은 기간의 EMA를 다시 씌운 값.