본문 바로가기
기술지표

트위그스 머니 플로우(TMF) 자금 흐름 기반 추세 돌파 매매 기법 [지표 백과 065]

by 흔한트리이더 2026. 4. 6.
반응형

1. CMF의 약점을 완벽히 보완한 자금 흐름의 결정체

트위그스 머니 플로우(Twiggs Money Flow, TMF)는 기술적 분석가 콜린 트위그스(Colin Twiggs)가 마크 채이킨의 CMF(Chaikin Money Flow)를 획기적으로 개선하여 만든 '자금 흐름 추적 지표'입니다.

기존 CMF는 당일의 고가와 저가만을 사용하여 매집과 분산을 계산했습니다. 이로 인해 전날 종가 대비 크게 점프하는 '갭(Gap) 상승/하락'이 발생했을 때, 그 텅 빈 공간에 유입된 세력의 엄청난 자금을 제대로 반영하지 못하는 치명적인 약점이 있었습니다. 트위그스는 이를 해결하기 위해 웰스 와일더의 '진정한 변동폭(True Range)' 개념을 도입하여 갭을 계산에 완벽히 포함시켰습니다.

또한, 과거 데이터가 계산 기간에서 빠져나갈 때 지표가 갑자기 튀어버리는 단순 이평선(SMA)의 '드롭오프(Drop-off)' 현상을 제거하기 위해 지수 평활법(EMA)을 적용하여, 시장의 진짜 수급(스마트 머니) 궤적을 가장 부드럽고 정확하게 그려내는 지표를 완성했습니다.

2. 수리적 원리와 계산 구조

TMF는 보통 21일 기간을 기본으로 사용하며, '진정한 고가/저가'를 활용하여 매일의 매집/분산 거래량을 누적 계산합니다.

Step 1. 진정한 고가(TH), 저가(TL), 변동폭(TR) 산출

전일 종가와 당일 고가 중 큰 값을 진정한 고가($TH$), 전일 종가와 당일 저가 중 작은 값을 진정한 저가($TL$)로 정의하여 갭(Gap)을 포함한 진정한 변동폭($TR$)을 구합니다.

Step 2. 일일 매집/분산 거래량(AD) 계산

종가가 진정한 변동폭(TR) 내에서 상단(매수 우위)에 있는지 하단(매도 우위)에 있는지를 -1에서 +1 사이의 비율로 구한 뒤, 당일 거래량을 곱해 자금의 유입/유출을 산출합니다.

Step 3. TMF 산출 (지수 평활화)

산출된 $AD$의 21일 지수 이동평균을 거래량의 21일 지수 이동평균으로 나누어 최종 TMF를 완성합니다.

TH수식

TL수식

TR수식

AD수식

TMF수식

3. 실전 매매 활용법 (스마트 머니 유입/유출 판독 테이블)

TMF는 0선(Zero-Line)을 기준으로 자금의 순유입과 순유출을 판단하며, 특히 '저항선 돌파' 시 진위를 가리는 최고의 필터 역할을 합니다.

시그널 형태 현상 설명 (수급의 흐름) 실전 매매 대응 전략 (Action)
돌파와 0선 지지
(Breakout Confirm)
주가가 주요 저항선을 돌파할 때 TMF가 0선 위에서 강하게 치솟음 강력한 매수 타점. 주가 돌파와 함께 스마트 머니의 대량 유입이 컨펌되었습니다. 가짜 돌파(Bull Trap)가 아닌 진짜 대시세의 시작일 확률이 매우 높습니다.
0선 하향 이탈
(Zero-Line Breakdown)
0선 위에서 놀던 TMF가 0선을 깨고 아래로 곤두박질침 추세 이탈 및 익절. 주가가 아직 상승 추세에 있더라도, 거대 자금이 이미 시장을 빠져나가기 시작했다는 선행적 경고입니다. 미련 없이 물량을 정리합니다.
수급 다이버전스
(Divergence)
주가는 박스권을 뚫고 신고가를 쓰는데, TMF는 고점을 낮추거나 0선 아래에 있음 세력의 설거지(분산) 포착. 거래량 없는 가짜 상승이며, 개미들을 꼬시기 위한 트랩입니다. 절대로 추격 매수해선 안 되며, 오히려 공매도(숏) 타점입니다.

4. 차트에서 나타나는 수리적 특성: 유나이티드제약(A033270) 분석 사례

진짜 돌파와 가짜 돌파를 거래량의 질(Quality)로 감별해 내는 유나이티드제약의 TMF 분석 사례입니다.

  • 0선 돌파와 매집의 시작: 차트 전반부인 2025년 9월 말, 주가가 급락하며 바닥을 칠 때 TMF는 0선 아래 깊은 푸른색 영역에서 헤어나오지 못합니다. 하지만 2025년 11월 초, 주가가 하락 추세를 벗어나 머리를 들 때, TMF가 강력하게 0선을 뚫고 붉은색 영역(순유입)으로 올라섭니다. 세력의 매집이 본격화되었다는 신호탄입니다.
  • 돌파의 완벽한 컨펌 (Breakout): 압권은 2026년 2월의 대시세 분출 구간입니다. 주가가 전고점을 뚫고 폭등할 때, TMF 역시 +0.3에 육박하는 엄청난 수치로 치솟으며 이 돌파가 가짜(Bull Trap)가 아닌 '진짜 거대 자금의 유입'임을 완벽하게 컨펌해 줍니다. 그리고 3월, 주가가 꺾이기 무섭게 TMF가 0선 아래로 곤두박질치며 기가 막힌 선행적 탈출 시그널을 보냅니다.

5. 장점 및 한계

  • 장점: 갭(Gap)을 계산에 포함하고 지수 평활법을 사용하여, 거래량 기반 지표 중 '속임수(가짜 돌파)'를 걸러내는 능력이 가장 탁월합니다. 주가 돌파 시 거래량 분석의 최종 병기로 쓰입니다.
  • 한계: 박스권에 갇혀 거래량이 완전히 말라버린 소외주에서는 지표가 0선 부근에서 방향성 없이 톱니바퀴처럼 요동치며 무의미한 시그널을 발생시킬 수 있습니다. 오직 변동성과 거래량이 터질 때만 진가를 발휘합니다.

6. 파이썬 구현 (진정한 변동폭 및 지수 평활 벡터 연산)

numpymaximumminimum을 사용하여 갭을 포함한 $TH$, $TL$을 정확히 찾아내고, 분모인 $TR$이 0이 되어 발생하는 오류를 막기 위해 replace(0, 1e-10) 처리를 거칩니다. 이후 판다스의 ewm(span=21)을 통해 TMF를 우아하게 계산해 내는 퀀트 연산 코드입니다.

import pandas as pd
import numpy as np

def calculate_tmf(df, period=21):
    # 1. 갭을 반영하기 위해 전일 종가 확보
    prev_close = df['close'].shift(1)
    
    # 2. 진정한 고가(TH), 저가(TL), 변동폭(TR) 계산
    th = np.maximum(df['high'], prev_close)
    tl = np.minimum(df['low'], prev_close)
    tr = (th - tl).replace(0, 1e-10) # 0으로 나누기 방지
    
    # 3. 매일의 자금 유입/유출량 (AD) 계산
    ad = df['volume'] * ((df['close'] - tl) - (th - df['close'])) / tr
    
    # 4. TMF 산출 (AD의 EMA / Volume의 EMA)
    ema_ad = ad.ewm(span=period, adjust=False).mean()
    ema_vol = df['volume'].ewm(span=period, adjust=False).mean()
    
    df['TMF'] = ema_ad / ema_vol
    
    return df

7. 실전 Tip 및 요약

TMF는 단독으로 사용하여 0선 돌파 시 매수하는 것보다, 가격 차트의 '저항선'과 결합할 때 승률이 90% 이상 치솟습니다. 주가가 긴 시간 갇혀있던 박스권 상단을 양봉으로 뚫어내는 그 찰나에 하단의 TMF를 보십시오. 만약 TMF가 0선을 확실하게 넘어서서 가파르게 상승 중이라면, 그것은 스마트 머니가 상방으로 쏠렸다는 뜻이므로 주저 없이 돌파 매수(Breakout Trading)에 들어가야 할 완벽한 타점입니다.


*본 포스팅은 기술적 지표의 수리적 이해를 돕기 위한 참고 자료이며, 투자 결과에 대한 책임은 투자자 본인에게 있습니다.*
반응형