Exponential moving average, 줄여서 EMA는 최근 가격에 더 큰 가중치를 주는 평균입니다. 차트에서는 가격의 흐름을 더 매끄러운 선으로 살펴보게 해 줍니다. 새 값은 현재 가격과 이전 결과를 결합해 구합니다. 그래서 보통 Simple moving average, 즉 SMA보다 변화에 빠르게 반응하지만, 여전히 이미 확보한 가격에 근거합니다.
차트에서 캔들로 표시하는 시간 구간이 끝나면 Petr는 마지막 가격을 적습니다. 모든 값을 다시 더하는 대신, 이전 EMA를 새 가격 쪽으로 두 값 사이 거리의 일부만큼 옮길 수 있습니다. Fidelity는 이 방식으로 설명합니다. TradingView는 같은 계산을 가중치를 적용한 새 가격과 이전 EMA의 합으로 표현합니다. 이렇게 다음 단계가 앞선 결과를 사용하는 방식을 재귀 계산이라고 합니다. [1] [2]
그 비율은 계수, 즉 새 가격의 가중치를 정하는 숫자가 결정합니다. TradingView가 제시하는 일반적인 관계는 2 / (N + 1)이며 N은 선택한 길이입니다. N이 클수록 새 값의 비중이 작아지고 조정도 느려집니다. 따라서 Petr는 EMA라는 이름뿐 아니라 길이 설정과 계수 계산 방식도 알아야 합니다. 길이는 가중치 배분을 정하며, 아래 예제에서 실제 계산 한 단계를 볼 수 있습니다. [3]
맨 처음에는 Petr에게 이전 EMA가 없습니다. Fidelity는 초기 가격들의 일반적인 평균인 SMA로 시작하는 방법을 설명합니다. 첫 값을 정하는 일을 초기화라고 합니다. 다른 도구가 다른 방식으로 시작하거나 다른 분량의 과거 데이터를 불러오면, 이후 가격이 같아도 두 선은 다를 수 있습니다. 계산을 이어 가면 차이는 점차 작아집니다. EMA라는 이름만으로 모든 수치가 같아지는 것은 아닙니다. [1]
이전 EMA에는 이미 오래된 가격의 영향이 담겨 있습니다. TradingView의 설명처럼 단계가 진행될 때마다 그 영향은 다시 약해집니다. 이것이 지수라는 말의 뜻입니다. 계수가 일정하면 최초 값의 영향에 같은 인자를 반복해서 곱하면서 영향이 줄어듭니다. 따라서 설정한 길이는 SMA처럼 범위를 벗어난 가격을 전부 제거하는 고정된 창을 뜻하지 않습니다. 수학적으로 아주 작은 영향도 정확한 영과는 다릅니다. 위 계수 방식에서 길이가 1이면 예외는 간단합니다. EMA가 새 가격과 같아지고 이전 결과의 가중치는 없어집니다. [3]
Petr가 SMA를 EMA로 바꾸면 같은 기간에서 선은 대체로 새 가격에 더 가깝게 움직입니다. Fidelity는 이러한 민감성의 양면을 짚습니다. 반응은 빠르지만 짧은 변화도 잦아집니다. 시장 방향이 뚜렷하지 않으면 Petr는 연속된 빠른 반전을 볼 수 있습니다. 매매 규칙이라면 이런 거래의 비용도 따져야 합니다. 선이 가격에 가깝다는 사실만으로 판단의 질을 평가할 수는 없습니다. [1]
Petr는 친구의 차트와 자신의 차트를 비교합니다. TradingView에서 Source는 캔들의 마지막 가격인 Close처럼 계산에 사용할 값을 선택합니다. Timeframe은 지표 데이터의 시간 구간을 정하며, 표시된 차트의 구간과 다를 수 있습니다. 차이를 오류라고 하기 전에 시장, 데이터 제공자, 사용 가격, 구간, 누락값 처리 방식을 비교해야 합니다. 입력이 같아야 계산 자체를 비교하는 의미가 있습니다. [2] [4]
실시간 차트에서 최신 EMA는 가격과 함께 움직입니다. TradingView는 열려 있는 캔들의 Close가 최종 종가가 아니라 계속 갱신되는 값이라고 설명합니다. EMA가 이 값을 사용하면 결과와 교차 여부도 바뀔 수 있습니다. Petr는 구간 중간에 평가하는 규칙과 마감을 기다리는 규칙을 구분해야 합니다. 과거 데이터 테스트에서는 최종 가격을 그보다 앞서 알고 있던 정보처럼 사용할 수 없습니다. [5]
Petr가 EMA를 계산할 수 있다고 해서 언제 어떻게 거래할지가 정해진 것은 아닙니다. TradingView의 전략 문서는 신호, 주문 생성, 실제 체결을 구별합니다. 포지션을 끝내는 규칙, 실행 시점과 비용도 필요합니다. 과거 차트의 우연한 움직임에 규칙을 지나치게 맞추는 overfitting도 조심해야 합니다. 별도 데이터에서 추가 조정 없이 검증하면 이런 약점을 발견하는 데 도움이 됩니다. 정확한 계산도 미래 성과를 약속하지 못합니다. [6]
가격은 같지만 출발점이 다른 경우
이해를 위한 가상 계산에서 계수를 0.5로 정합니다. 2 / (N + 1)에 따르면 길이 3에 해당합니다. 이전 EMA가 100000 USD/BTC이고 새 가격이 100040 USD/BTC이면 0.5 × 100040 + 0.5 × 100000 = 100020 USD/BTC입니다. 다른 계산은 새 가격은 같지만 이전 EMA가 100010 USD/BTC입니다. 이때는 0.5 × 100040 + 0.5 × 100010 = 100025 USD/BTC입니다. 원래 차이인 10 USD/BTC가 5 USD/BTC로 줄었지만 사라지지는 않았습니다. 초기값의 차이는 이렇게 점차 약해질 수 있습니다. 숫자는 계산 방법을 설명하며 현재 시장이나 거래 지시를 뜻하지 않습니다.
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Moving average, Simple moving average, Moving average crossover, Timeframe, MACD, Backtesting. 다음 항목에서도 이 글을 참조합니다 Moving average, Simple moving average, Moving average crossover, Relative Strength Index.
01EMA는 설정한 개수의 최근 가격만 사용하나요?+
SMA처럼 유한한 창을 사용하는 것은 아닙니다. 이전 EMA에는 더 오래된 기록의 영향도 점차 약해지면서 남습니다. 길이는 보통 계수를 정할 뿐, 그 밖의 과거가 갑자기 사라지는 경계가 아닙니다. 정확히 같은 결과를 재현하려면 초기화 방법도 알아야 합니다.
02더 빠른 EMA가 언제나 SMA보다 좋은가요?+
무엇을 관찰하려는지에 달려 있습니다. 민감한 선은 변화를 빨리 보여 줄 수 있지만 짧은 변동에서 더 자주 방향을 바꿀 수도 있습니다. 따라서 체결과 비용을 포함한 매매 규칙 전체를 평가하고, 규칙 조정에 쓰지 않은 데이터에서도 검증해야 합니다. 속도만으로 우위를 입증할 수는 없습니다.