FRAMA(프랙탈 적응 이동평균) 계산법과 사용법
이동평균은 기간을 짧게 잡으면 횡보장에서 신호가 너무 자주 나오고, 길게 잡으면 추세 초입을 놓칩니다. FRAMA(Fractal Adaptive Moving Average)는 이 선택을 고정하지 않고, 최근 가격이 얼마나 "곧게" 움직였는지를 프랙탈 차원으로 재서 매 봉마다 속도를 바꿉니다. 존 엘러스(John Ehlers)가 제안한 방식입니다. 이 글은 공식을 숫자 예시로 풀고, 실제로 쓸 때 주의할 점을 정리합니다. 본문 수치는 계산 구조를 보여주기 위한 가정 예시입니다.
1. 고정 기간 이동평균의 문제
EMA는 매 봉 새 가격에 일정한 비중(알파)을 줍니다. 기간 n의 EMA라면 알파는 2 ÷ (n + 1)입니다. 20 EMA의 알파는 2 ÷ 21 ≈ 0.095로, 시장이 추세든 횡보든 같은 속도로 따라갑니다. 기본 구조는 이동평균 글에서 다뤘습니다.
문제는 시장 상태가 계속 바뀐다는 점입니다. 추세 구간에서는 알파가 커야 선이 가격을 늦지 않게 따라가고, 횡보 구간에서는 알파가 작아야 선이 출렁이지 않습니다. 이 속도 조절을 자동으로 하려는 지표를 적응형 이동평균이라고 부릅니다. 카우프만 효율 비율(ER)을 쓰는 KAMA, 변동성을 쓰는 VIDYA가 같은 계열이고, FRAMA는 그 기준으로 프랙탈 차원을 씁니다.
2. 프랙탈 차원 D — 가격선이 얼마나 구불구불한가
직선의 차원은 1, 평면을 꽉 채우는 도형의 차원은 2입니다. 가격 차트에 이 개념을 적용하면, 한 방향으로 곧게 움직인 구간은 D가 1에 가깝고, 같은 범위 안에서 위아래로 오간 구간은 D가 2에 가깝습니다. 프랙탈 관점의 시장 해석은 코인 프랙탈 분석 글에 따로 정리했습니다.
FRAMA는 최근 N개 봉(짝수)을 앞쪽 절반과 뒤쪽 절반으로 나눠 다음 세 값을 구합니다.
· N1 = (앞쪽 절반의 최고가 − 최저가) ÷ (N/2)
· N2 = (뒤쪽 절반의 최고가 − 최저가) ÷ (N/2)
· N3 = (전체 N개 봉의 최고가 − 최저가) ÷ N
· D = [log(N1 + N2) − log(N3)] ÷ log(2)
· 알파 = exp(−4.6 × (D − 1)), 0.01 ~ 1 사이로 제한
· FRAMA = 알파 × 현재가 + (1 − 알파) × 직전 FRAMA
핵심은 N1 + N2와 N3의 비교입니다. 가격이 한 방향으로 갔다면 두 절반의 범위를 더한 값이 전체 범위와 비슷하고, 같은 자리에서 오갔다면 두 절반의 범위 합이 전체 범위보다 훨씬 커집니다. 상수 −4.6은 D = 2일 때 알파가 약 0.01이 되도록 맞춘 값입니다(exp(−4.6) ≈ 0.01).
3. 숫자로 계산하기 — N = 16, 세 가지 구간
· 앞쪽 8봉: 100 → 108, 범위 8 → N1 = 8 ÷ 8 = 1.0
· 뒤쪽 8봉: 108 → 116, 범위 8 → N2 = 1.0
· 전체 16봉: 100 → 116, 범위 16 → N3 = 16 ÷ 16 = 1.0
· D = [log(2) − log(1)] ÷ log(2) = 1.0
· 알파 = exp(0) = 1.0 → 선이 현재가를 그대로 따라감
· 앞쪽 8봉: 100 ~ 108, 범위 8 → N1 = 1.0
· 뒤쪽 8봉: 다시 100 ~ 108, 범위 8 → N2 = 1.0
· 전체 16봉: 100 ~ 108, 범위 8 → N3 = 8 ÷ 16 = 0.5
· D = [log(2) − log(0.5)] ÷ log(2) = 2.0
· 알파 = exp(−4.6) ≈ 0.010 → 선이 거의 움직이지 않음
· 앞쪽 8봉: 100 ~ 108 (범위 8), 뒤쪽 8봉: 104 ~ 112 (범위 8) → N1 = N2 = 1.0
· 전체 16봉: 100 ~ 112, 범위 12 → N3 = 12 ÷ 16 = 0.75
· D = [0.6931 + 0.2877] ÷ 0.6931 ≈ 1.415
· 알파 = exp(−4.6 × 0.415) ≈ 0.148
같은 공식이 구간에 따라 알파를 1.0에서 0.01까지 바꿨습니다. 이를 EMA 기간으로 바꿔 보면(n = 2 ÷ 알파 − 1) 감이 옵니다.
· 알파 1.0 → n = 2 ÷ 1.0 − 1 = 1 (가격 그 자체)
· 알파 0.148 → n = 2 ÷ 0.148 − 1 ≈ 12.5
· 알파 0.010 → n = 2 ÷ 0.010 − 1 = 199
→ 하나의 선이 상황에 따라 1 EMA에서 199 EMA 사이를 오가는 셈
한 봉 갱신도 계산해 보겠습니다. 직전 FRAMA가 106이고 현재가가 110일 때, 알파 0.148이면 106 + 0.148 × (110 − 106) ≈ 106.59, 알파 0.010이면 106 + 0.01 × 4 = 106.04, 알파 1.0이면 110이 됩니다. 같은 4포인트 상승이라도 직전 16봉이 어떻게 움직였느냐에 따라 선의 반응이 크게 다릅니다.
4. 매매에 쓰는 방법
① 가격과 FRAMA의 교차. 종가가 FRAMA 위로 올라서면 상승, 아래로 내려가면 하락 신호로 봅니다. 횡보 구간에서는 선이 거의 평평해져 가격이 위아래로 자주 넘나들 수 있다는 점이 함정입니다. 선이 느려진다고 교차가 줄어드는 것은 아닙니다.
② 선의 기울기. 그래서 교차보다 기울기를 같이 보는 편이 낫습니다. 선이 평평하면(알파가 작으면) 시장이 방향을 정하지 못한 상태로 해석하고 신규 진입을 쉬는 식입니다. 횡보 판별 자체가 목적이라면 초피니스 지수와 함께 보는 방법도 있습니다.
③ 추세 추종용 손절선. 추세 구간에서 FRAMA는 가격에 바짝 붙기 때문에, 롱 포지션의 손절 기준을 "종가가 FRAMA 아래로 마감"으로 두는 식으로 씁니다. 다만 알파가 1에 가까우면 선이 가격과 거의 겹쳐 작은 되돌림에도 걸립니다. 변동폭 기준 손절과의 차이는 ATR 트레일링 스톱 글과 비교해 보면 좋습니다.
· 한 달 횡보 구간에서 20 EMA 교차 12회, FRAMA 교차 4회라고 가정
· 왕복 수수료 0.10%, 포지션 1,000만 원
· 20 EMA: 12 × 0.10% = 1.2% → 12만 원
· FRAMA: 4 × 0.10% = 0.4% → 4만 원
→ 교차 횟수는 시장마다 다르며, 이 차이가 성과 우위를 보장하지는 않음
5. 한계와 주의점
N 선택에 따라 결과가 크게 달라집니다. N은 반드시 짝수여야 하고, 흔히 16을 쓰지만 근거가 있는 값은 아닙니다. N이 작으면 D가 봉 몇 개의 우연에 흔들리고, 크면 상태 전환을 늦게 알아챕니다.
알파 범위가 극단적입니다. 원래 공식은 알파를 1까지 허용해, 급등 구간에서 선이 가격과 겹쳐 버립니다. 그래서 일부 차트 도구는 KAMA처럼 가장 빠른 기간과 가장 느린 기간(예: 4와 200)을 정해 알파 범위를 좁힌 변형을 제공합니다. 같은 이름이라도 도구마다 계산이 다를 수 있으니 설정을 확인합니다.
최고가·최저가만 씁니다. 범위 계산에 고가와 저가를 쓰기 때문에 꼬리가 긴 봉 하나가 N1·N2·N3를 동시에 바꿉니다. 코인처럼 순간 급등락 꼬리가 잦은 시장에서는 D가 튀는 경우가 있습니다.
후행성은 사라지지 않습니다. 적응형이라도 과거 N개 봉을 본 결과입니다. 추세 전환 직후에는 직전 구간의 D가 반영돼 있어 반응이 늦습니다. 지연을 줄이려는 다른 접근은 헐 이동평균(HMA)과 제로 래그 EMA 글에서 다뤘습니다.
진행 중인 봉에서는 값이 바뀝니다. 마감된 봉의 FRAMA는 다시 바뀌지 않지만, 현재 봉은 고가·저가·종가가 갱신될 때마다 D와 알파가 함께 바뀝니다. 신호는 봉 마감 기준으로 확인합니다.
정리
FRAMA는 최근 N개 봉의 범위를 앞뒤 절반과 전체로 나눠 프랙탈 차원 D를 구하고, D가 1에 가까우면(곧은 추세) 빠르게, 2에 가까우면(횡보) 느리게 움직이는 이동평균입니다. N = 16 예시에서 알파는 곧은 상승 1.0, 완만한 상승 0.148, 박스권 0.010으로 바뀌었고, 이는 EMA 기간 1 ~ 199에 해당합니다. 교차 신호보다는 기울기와 함께 쓰고, N과 알파 범위 설정이 결과를 좌우한다는 점을 기억합니다.
주의
본문의 가격, 교차 횟수, 수수료는 계산 구조를 보여주기 위한 가정 예시이며 실제 값은 종목·시간 프레임·지표 설정에 따라 달라집니다. 어떤 지표도 미래 가격을 보장하지 않습니다. 이 글은 교육 정보이며 특정 자산의 매매 권유가 아닙니다. 코인 투자는 원금 손실 위험이 있고, 투자 판단과 그 결과는 본인 책임입니다.
NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.
봇에서 시작하기📈 OKX 신규 가입 시 거래 수수료 할인
OKX 수수료 할인 가입 →