NOONOO TRADING봇에서 시작하기

ALMA 이동평균 — offset과 sigma 두 개로 지연과 매끄러움을 조절하는 이동평균

ALMA(Arnaud Legoux Moving Average, 아르노 르구 이동평균)는 이동평균 창 안의 가격에 가우시안(정규분포) 모양의 가중치를 주는 이동평균입니다. 단순이동평균(SMA)은 모든 봉에 같은 가중치를, 지수이동평균(EMA)은 최근 봉일수록 큰 가중치를 줍니다. ALMA는 가중치의 "봉우리"를 창의 어느 위치에 둘지(offset)와 봉우리를 얼마나 뾰족하게 만들지(sigma)를 직접 정합니다. 이 글은 계산식, 5봉짜리 가중치 계산, SMA와의 지연 차이, 파라미터를 바꿨을 때 결과가 어떻게 달라지는지를 숫자로 정리합니다. 본문의 가격은 모두 설명용 가정입니다.

이동평균의 기본 문제 — 지연과 잡음

모든 이동평균은 두 가지 사이에서 균형을 잡습니다. 창을 길게 잡으면 선이 매끄러워지지만 가격 변화를 늦게 따라가고(지연), 짧게 잡으면 빨리 따라가지만 작은 흔들림까지 그대로 반영합니다(잡음). 이동평균의 기본에서 본 SMA·EMA가 이 문제를 가진 대표적인 선이고, 헐 이동평균(HMA), 제로 래그 EMA, DEMA·TEMA는 지연을 줄이려는 시도들입니다. ALMA는 "가중치 모양 자체"를 바꿔 같은 문제에 접근합니다.

계산식

ALMA 계산
· N = 창 길이(봉 개수), i = 0(가장 오래된 봉) … N−1(가장 최근 봉)
· m = offset × (N − 1) — 가중치 봉우리의 위치
· s = N ÷ sigma — 봉우리의 폭
· wi = exp( −(i − m)² ÷ (2 × s²) )
· ALMA = Σ(wi × 가격i) ÷ Σwi
· 흔한 기본값: N = 9, offset = 0.85, sigma = 6

offset은 0~1 사이 값입니다. 0.5면 봉우리가 창 한가운데, 1에 가까우면 가장 최근 봉 쪽에 놓입니다. sigma는 클수록 s가 작아져 봉우리가 뾰족해지고, 작을수록 넓게 퍼집니다. 즉 offset은 "어디를 볼지", sigma는 "얼마나 좁게 볼지"를 정합니다.

예시 1 — 5봉 가중치를 직접 구하기

N = 5, offset = 0.85, sigma = 6
· m = 0.85 × 4 = 3.4 / s = 5 ÷ 6 ≈ 0.833 / 2s² ≈ 1.389
· i=0: (0−3.4)² = 11.56 → exp(−8.32) ≈ 0.0002
· i=1: (1−3.4)² = 5.76 → exp(−4.15) ≈ 0.0158
· i=2: (2−3.4)² = 1.96 → exp(−1.41) ≈ 0.2439
· i=3: (3−3.4)² = 0.16 → exp(−0.12) ≈ 0.8912
· i=4: (4−3.4)² = 0.36 → exp(−0.26) ≈ 0.7717
· 합 ≈ 1.9229 → 정규화 가중치 0.0001 / 0.0082 / 0.1268 / 0.4635 / 0.4013

마지막 두 봉(i=3, 4)이 전체 가중치의 약 86%를 가져갑니다. 그런데 가장 큰 가중치는 가장 최근 봉(i=4)이 아니라 바로 그 앞 봉(i=3)에 있습니다. 봉우리 위치 m = 3.4가 i=3에 더 가깝기 때문입니다. 이 점이 EMA와 다릅니다. EMA는 항상 가장 최근 봉의 가중치가 가장 크지만, ALMA는 최근 봉 하나에 모든 것을 걸지 않고 그 주변을 묶어서 봅니다.

예시 2 — 같은 상승 추세에서 SMA와 비교

가격(오래된 순): 100 / 102 / 104 / 106 / 108 (가정)
· SMA(5) = (100 + 102 + 104 + 106 + 108) ÷ 5 = 104.00 → 현재가 대비 4.00 뒤처짐
· ALMA(5, 0.85, 6) = 100×0.0001 + 102×0.0082 + 104×0.1268 + 106×0.4635 + 108×0.4013 ≈ 106.52 → 1.48 뒤처짐
· ALMA(5, 0.5, 6) = 104.00 → 봉우리가 가운데면 SMA와 같은 위치
· ALMA(5, 0.99, 6) ≈ 107.18 → 0.82 뒤처짐

꾸준한 추세에서 offset을 0.5에서 0.99로 옮기면 지연이 4.00에서 0.82로 줄어듭니다. 기본값 9봉으로 같은 2씩 오르는 가격(100~116)을 넣으면 SMA는 108.00, ALMA는 약 112.89로 현재가 116과의 차이가 8.00에서 3.11로 줄어듭니다.

예시 3 — 한 봉만 튀었을 때

지연을 줄인 대가는 잡음입니다. 가격이 한 봉만 튀었다가 돌아오는 경우를 보겠습니다.

마지막 봉만 10% 튄 경우: 100 / 100 / 100 / 100 / 110
· SMA(5) = 102.00
· ALMA offset 0.5 ≈ 100.27 (최근 봉 가중치 2.7%뿐)
· ALMA offset 0.85 ≈ 104.01
· ALMA offset 0.99 ≈ 106.33

가운데 봉이 튄 경우: 100 / 100 / 110 / 100 / 100
· SMA(5) = 102.00
· ALMA offset 0.5 ≈ 104.79
· ALMA offset 0.85 ≈ 101.27
· ALMA offset 0.99 ≈ 100.40

offset을 높이면 "방금 튄 가격"에 크게 반응하고, 이미 지나간 튐은 빨리 잊습니다. offset을 0.5로 두면 반대로 최근 튐은 거의 무시하고 창 가운데 값에 끌려갑니다. SMA는 튄 위치와 상관없이 항상 같은 2.00만큼 반응합니다. 어느 쪽이 더 낫다기보다, offset을 높일수록 최근 한두 봉의 가짜 움직임에도 선이 같이 꺾인다는 점을 알고 써야 합니다.

sigma가 하는 일

N = 5, offset = 0.85에서 sigma만 바꾼 가중치
· sigma 3: 0.040 / 0.115 / 0.227 / 0.314 / 0.303 → 넓게 퍼짐(SMA에 가까워짐)
· sigma 6: 0.000 / 0.008 / 0.127 / 0.463 / 0.401
· sigma 12: 0.000 / 0.000 / 0.004 / 0.638 / 0.359 → 두 봉에 거의 전부

sigma를 키우면 실제로 쓰는 봉 수가 줄어듭니다. sigma 12에서 5봉 ALMA는 사실상 2봉 평균입니다. 창 길이 N을 9로 잡아도 sigma가 크면 "9봉 이동평균"이라는 이름과 달리 훨씬 짧은 창처럼 움직입니다. 다른 사람의 설정을 비교할 때 N만 보지 말고 sigma까지 같이 봐야 하는 이유입니다.

실제 차트에서 쓰는 방식

① 추세 방향 필터 — 가격이 ALMA 위에 있고 ALMA 기울기가 양수면 상승 쪽으로 봅니다. 지연이 적어 SMA보다 방향 전환을 일찍 보여 주지만, 그만큼 횡보장에서 방향이 자주 바뀝니다. ② 두 개 교차 — 짧은 ALMA와 긴 ALMA의 교차를 신호로 쓰는 방식입니다. SMA 교차보다 신호가 빨리 나오고 그만큼 신호 수도 늘어납니다. ③ 손절 기준선 — 추세 중 눌림이 ALMA 근처에서 멈추는지를 봅니다. 이때는 선 자체보다 ATR 같은 변동성 폭을 같이 둬야 한 봉 이탈에 바로 손절이 나가지 않습니다.

신호 수 차이가 비용으로 바뀌는 계산 (가정)
· 같은 기간 SMA 교차 20회, ALMA 교차 32회
· 왕복 수수료 + 슬리피지 0.12% 가정
· SMA: 20 × 0.12% = 2.4% / ALMA: 32 × 0.12% = 3.84%
· ALMA 쪽은 빨라진 진입으로 추가 수익이 1.44%p 이상 나와야 본전

파라미터 과최적화 주의

ALMA는 조절 손잡이가 세 개(N, offset, sigma)라 과거 차트에 맞추기 쉽습니다. N 5~50, offset 0.5~0.99, sigma 3~12를 조합하면 수천 개 설정이 나오고, 그중 하나는 우연히 과거 구간에서 좋아 보입니다. 이런 설정은 다른 기간에서 성과가 무너지기 쉽습니다. 기본값(9, 0.85, 6)으로 먼저 보고, 바꾸더라도 한 구간에서 고른 값을 다른 구간에서 다시 확인하는 순서를 지키는 것이 좋습니다. 자세한 함정은 과최적화에서 다뤘습니다.

또 하나 확인할 점은 구현 차이입니다. 일부 차트 프로그램은 m을 내림(floor)해 정수로 쓰고, 일부는 소수 그대로 씁니다. 예시 1에서 m = 3.4를 3으로 내리면 봉우리가 i=3 한 곳에 정확히 놓여 가중치 분포가 달라집니다. 같은 설정이라도 프로그램마다 값이 조금씩 다를 수 있습니다.

정리

① ALMA는 창 안의 가격에 가우시안 가중치를 주는 이동평균이다
② offset은 봉우리 위치(0.5 = 가운데, 1에 가까울수록 최근), sigma는 봉우리 폭(클수록 뾰족)
③ 기본값 0.85에서 5봉 기준 마지막 두 봉이 가중치 약 86%를 가져간다
④ 꾸준한 상승에서 지연: SMA 4.00 vs ALMA 1.48 (5봉, 가정 가격)
⑤ offset을 올리면 최근 한 봉의 튐에도 크게 반응한다 (104.01 vs SMA 102.00)
⑥ sigma가 크면 N과 상관없이 실제로는 몇 봉만 쓰는 짧은 평균이 된다
⑦ 신호가 늘어나는 만큼 수수료·슬리피지 비용도 늘어난다

주의

본문의 가격·신호 횟수·비용 수치는 모두 계산을 설명하기 위한 가정 예시이며 실제 매매 기록이나 특정 전략의 실측값이 아닙니다. 지표는 과거 가격으로 계산되며 미래 가격을 예측하거나 수익을 보장하지 않습니다. 이 글은 교육 정보이며 특정 종목·전략의 매수·매도 권유가 아닙니다. 코인 및 선물·레버리지 거래는 원금 손실 위험이 있고, 매매 판단과 그 결과는 본인 책임입니다.

NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.

봇에서 시작하기

📈 OKX 신규 가입 시 거래 수수료 할인

OKX 수수료 할인 가입 →