535 / 736SMA

Simple moving average

단순이동평균

SMA는 새 가격이 들어올 때마다 계산 범위를 옮기는 평범한 평균입니다. 같은 가중치, 오래된 가격이 빠지는 효과, 누락된 값을 0으로 채우면 안 되는 이유를 간단한 예로 살펴봅니다.

Simple moving average, 줄여서 SMA는 단순 이동평균입니다. 선택한 값을 더한 뒤 그 개수로 나눕니다. 가격 차트에서는 이렇게 반복해서 구한 값이 선을 이루어, 작은 흔들림에 가리지 않고 흐름을 읽도록 도와줍니다. 이 선을 이해하려면 어떤 가격을 썼는지, 계산 범위는 얼마나 긴지, 데이터의 시간 간격은 무엇인지 알아야 합니다.

야나는 몇 개 캔들의 종가를 적고, 이를 간단히 요약하려고 합니다. Fidelity가 설명하는 SMA는 가격을 모두 더해 그 개수로 나누는 일반적인 산술평균입니다. 포함된 가격은 모두 같은 가중치를 갖습니다. 따라서 거래량이 많은 캔들이 거래량만을 이유로 결과를 지배하지는 않습니다. 거래량에 따라 가중치를 바꾼다면 다른 종류의 평균을 계산하는 것입니다. [1]

야나가 원하는 것은 전체 기록의 평균이 아니라 늘 같은 길이의 구간입니다. 그래서 새 가격이 들어올 때 가장 오래된 가격을 뺍니다. TradingView가 설명하는 SMA의 이동 구간이 바로 이런 방식입니다. 결과의 변화량은 새로 들어온 값과 빠진 값의 차이를 구간 길이로 나눈 것입니다. 따라서 최신 가격이 직전 가격과 같아도 평균은 변할 수 있습니다. 아래 계산 예에서 확인할 수 있습니다. [2]

TradingView의 Source는 계산에 사용할 가격을 고릅니다. 캔들의 종가인 Close로 구한 SMA는 최고가인 High로 구한 값과 다를 수 있습니다. Timeframe은 지표 데이터의 시간 간격을 정하며, 화면에 표시된 차트의 간격과 항상 같지는 않습니다. 그래서 야나는 시장, 구간 길이와 이 시간 간격도 기록합니다. 관측값의 개수만으로는 계산이 달력상 며칠을 포함하는지 알 수 없기 때문입니다. [2] [5]

야나가 막 기록을 시작했을 때는 선택한 구간을 채울 만큼 가격이 모이지 않았습니다. 평균의 정의에 따라 처리 방식을 정해야 합니다. 아직 결과를 표시하지 않거나, 더 짧은 구간을 쓴다고 명확히 밝혀야 합니다. 몰래 영을 채워 넣을 수는 없습니다. 가격이 영이라는 것은 평균을 낮추는 실제 수치이지, 모른다는 표시가 아닙니다. 데이터 중간에 생긴 빈 구간도 마찬가지로 구분해야 합니다. [1]

기록에 유난히 높은 가격이 들어옵니다. SMA에서는 다른 가격과 가중치가 같지만, 값 자체가 크므로 평균을 끌어올립니다. 그 값이 구간에 남아 있는 동안 영향도 남고, 빠져나가면 사라집니다. 따라서 야나가 본 선의 기울기 변화는 시장이 방금 급변해서가 아니라 과거의 큰 값이 빠져서일 수 있습니다. 이는 계산의 결과이며, 추가로 얻은 정보가 아닙니다. [2]

야나가 기간을 늘리자 짧은 흔들림이 덜 두드러집니다. Fidelity는 긴 SMA가 보통 더 많이 평활화하지만 원래 가격보다 더 늦게 반응한다고 설명합니다. 단기 변화를 얼마나 줄여서 볼 것인지 선택하는 문제입니다. 과거 차트에서 가장 보기 좋은 선을 찾았다고 해서 그 설정이 미래 움직임도 더 잘 포착한다는 뜻은 아닙니다. 미래의 가격은 아직 평균에 들어오지 않았습니다. [1]

야나가 실시간 차트를 보니 SMA의 최신 지점이 움직입니다. TradingView의 설명처럼, 진행 중인 캔들의 Close는 최종 종가가 아니라 들어오는 데이터에 따라 바뀝니다. 그 값을 포함한 평균도 다시 계산됩니다. 따라서 확정 종가를 바탕으로 한 규칙은 데이터가 확정된 뒤 평가해야 합니다. 캔들이 진행되는 동안 잠시 나타난 교차가 마감 시점까지 유지된다는 보장은 없습니다. [3]

가격이 SMA 위로 올라왔습니다. 야나에게 어떤 의미일까요? 진입, 청산, 포지션 크기와 비용을 정하려면 구체적인 규칙이 필요합니다. TradingView는 주문 생성과 체결을 구분하고, 특정 과거의 우연에 규칙을 맞추는 overfitting, 즉 과적합을 경고합니다. 추가 조정 없이 별도 데이터에서도 규칙을 검증해야 합니다. 교차 하나만으로 실제 체결 가능한 거래나 수익성이 입증되는 것은 아닙니다. [4]

예시 · SMA

가격은 그대로인데 평균은 바뀌었다

완료된 캔들의 가상 종가가 100000, 100030, 100060 USD/BTC라고 합시다. 평균은 (100000 + 100030 + 100060) / 3 = 100030 USD/BTC입니다. 다음 캔들도 100060 USD/BTC로 마감합니다. 가장 오래된 가격이 빠지므로 새 계산은 (100030 + 100060 + 100060) / 3 = 100050 USD/BTC입니다. 최신 가격은 그대로인데 SMA는 20 USD/BTC 올랐습니다. 더 높은 새 값이 더 낮은 옛 값을 대체했기 때문입니다. 이는 계산 예시이며 거래 수익이나 현재 시장 데이터가 아닙니다.

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Moving average, Exponential moving average, Moving average crossover, Timeframe, OHLCV, Backtesting. 다음 항목에서도 이 글을 참조합니다 Technical indicator, Moving average, Exponential moving average, Moving average crossover.

01SMA는 최신 가격에 더 큰 가중치를 주나요?

아닙니다. 완전한 구간에 포함된 모든 가격의 가중치는 같습니다. 최신 가격은 특별한 가중치를 받아서가 아니라 가장 오래된 가격을 대체해서 결과를 바꿉니다. EMA 같은 다른 방법이 최근 가격을 더 강조합니다.

02누락된 가격을 영으로 넣어도 되나요?

그러면 의미가 달라집니다. 영은 가격이 영이었다는 뜻이지 기록이 없다는 뜻이 아닙니다. 데이터가 부족하면 결과를 표시하지 않을지, 더 짧은 구간임을 명시해 사용할지 정하고, 중간 누락은 해당 도구가 어떻게 처리하는지 확인해야 합니다. 그렇지 않으면 서로 다르게 계산된 평균을 비교하게 될 수 있습니다.

DOC · 001Fidelity — SMA문서 DOC · 002TradingView — SMA문서 DOC · 003TradingView — Repainting문서 DOC · 004TradingView — Strategies문서 DOC · 005TradingView — MTF문서
개정일: 1차 출처 우선 · 투자 조언이 아닙니다