오늘은 마켓 프로파일이다
앞선 편들은 지표 하나, 전략 하나를 뜯었는데 이번 건 결이 다르다. TPO(Time Price Opportunity)는 지표라기보다 차트를 그리는 방식에 가깝다. 캔들 대신 알파벳으로 화면을 채운다. 시카고상품거래소(CBOT) 플로어에서 피트 스타이들마이어가 1980년대에 만든 마켓 프로파일이 원형이고, 트레이딩뷰에도 같은 이름의 도구로 들어가 있다. 분류상 오늘 다루는 건 “프로파일” 계열이다.
이번 회차 배정은 캔톤 네트워크(CC)다. 미리 밝혀둔다. 이번에도 시세를 안 받았고 승률도 안 쟀다. 이 글은 시세를 받아 성과를 검증한 글이 아니라 규칙 자체를 해부한 글이다. 아래 나오는 그림은 전부 실제 시세가 아니라 규칙을 설명하기 위한 모식도이고, 숫자는 규칙의 동작을 보여주려고 손으로 만든 값이다. TPO가 뭘 세고 뭘 못 세는지, 그리고 24시간 도는 코인 시장에 얹었을 때 어디서 삐걱이는지가 이번 글의 전부다.
시간을 세는 지표 — 거래량이 아니다
TPO의 정의부터 짚는다. 세션을 30분짜리 구간으로 자르고 각 구간에 A, B, C… 알파벳을 순서대로 매긴다. 그 구간 동안 가격이 지나간 모든 가격 칸에 그 구간의 알파벳을 하나씩 적어 넣는다. 세션이 끝나면 각 가격 칸에 쌓인 알파벳 개수가 그 가격에 시장이 머문 시간의 총량이 된다.

30분이라는 구간 길이는 파라미터 기본값이다. RSI가 14일을 쓰듯 TPO는 30분을 쓴다. 이 값이 시세와 무관한 이유도 같다. CBOT 플로어 거래가 반시간 단위로 가격을 고시하던 관행에서 그대로 넘어온 숫자이지, 어떤 자산의 변동성을 보고 정한 값이 아니다. 위 그림에서 세션 첫 두 구간(A, B)을 따로 표시해 뒀는데, 이 첫 한 시간을 최초 균형 구간이라 부른다. 이후 구간들이 이 범위를 얼마나 벗어나는지가 그날 프로파일의 뼈대를 이룬다.
여기서 헷갈리기 쉬운 지점이 하나 있다. TPO는 거래량을 안 본다. 어떤 가격 칸에 30분 동안 딱 한 번 스쳤든 그 30분 내내 물량이 쏟아졌든, 그 구간이 그 칸을 지나가기만 했으면 알파벳 하나가 찍힌다. “거래량 프로파일"이라는 비슷한 이름의 도구는 실제 체결 수량을 가격대별로 합산하는데, TPO는 그 수량을 아예 안 센다. 남는 건 시간의 흔적뿐이다. 얇은 호가창에서 가격이 그냥 30분 동안 별다른 체결 없이 붙어 있기만 해도, 물량이 활발하게 오간 가격과 TPO 개수로는 똑같이 취급된다. 이름에 프로파일이 들어가는 지표를 볼 때 시간을 세는지 거래량을 세는지부터 확인해야 하는 이유다.
POC와 Value Area는 어떻게 나오나
가격 칸마다 쌓인 알파벳 개수를 옆으로 눕히면 종 모양 히스토그램이 나온다. 이 중 가장 두꺼운 행, 즉 알파벳이 제일 많이 쌓인 가격이 POC(Point of Control)다. 평균이 아니라 최빈값에 가깝다. 시장이 가장 오래 머무른 가격이라는 뜻이고, 오래 머물렀다는 건 그 가격에서 사는 쪽과 파는 쪽이 서로 납득했다는 신호로 읽는다.
POC 하나만으로는 부족해서 Value Area(70% 구간)를 같이 본다. 절차는 이렇다.
# POC 행에서 시작해 위아래로 확장한다
범위 = { POC 행 }
while 누적 TPO 개수 / 전체 TPO 개수 < 0.70:
위쪽 다음 행과 아래쪽 다음 행의 TPO 개수를 비교
더 큰 쪽을 범위에 편입 (동률이면 양쪽 다)
경계: 위쪽 = VAH, 아래쪽 = VAL이 절차를 그대로 적용한 모식도가 아래다. POC는 가장 두꺼운 행이고, 그 위아래로 큰 쪽부터 채워 전체 TPO의 70%를 넘긴 지점에서 멈춘다.

여기 쓴 개수(전체 50개, Value Area 39개)는 전부 손으로 지어낸 모식도 값이다. 실제 소프트웨어 구현체는 동률 처리나 종료 조건에서 세부 규칙이 조금씩 다를 수 있는데, “POC에서 큰 쪽부터 채워 70%에서 멈춘다"는 뼈대는 공통이다.
단일 프린트, 그리고 후행성
한 행에 알파벳이 딱 하나만 찍힌 자리를 단일 프린트라 부른다. 어느 한 구간이 그 가격을 스치듯 지나가고 다시 안 왔다는 뜻이다.

단일 프린트가 남는 자리는 대개 가격이 한 방향으로 빠르게 뚫고 지나간 흔적이다. 사는 쪽과 파는 쪽이 그 가격에서 오래 다투지 않았으니, 나중에 가격이 되돌아왔을 때도 오래 버티지 못하고 다시 뚫릴 가능성이 있다고 본다. 반대로 알파벳이 여러 겹 쌓인 칸은 매물이 이미 소화된 자리로 본다. 왼쪽 균형 구간처럼 한 행에 여러 알파벳이 겹치면 그 가격은 이미 여러 차례 검증됐다는 뜻이고, 오른쪽처럼 한 행에 하나씩만 찍히면 검증 없이 지나간 가격이라는 뜻이다.
후행성은 구조적이다. 프로파일은 세션이 끝나야 완성된다. 세션 중간에 보는 프로파일은 그 시점까지의 잠정치이고, POC 위치가 세션 후반에 바뀌는 일도 흔하다. 이동평균처럼 봉 몇 개를 더하고 나누는 후행이 아니라 “세션이 끝나야 안다"는 종류의 후행이라, 지표라기보다 사후 지도에 가깝다.
세션이 없는 시장에 세션 기법을 얹으면
여기서부터가 코인 시장의 함정이다. TPO는 세션이 있다는 전제로 만들어졌다. CBOT 플로어는 아침에 열리고 오후에 닫혔다. 그 하루 동안 쌓인 알파벳이 그날의 프로파일이었고, 다음 날은 새 알파벳 A부터 다시 시작했다. 어디서 자르고 어디서 다시 세는지가 애초에 거래소 운영시간으로 정해져 있었다.
코인 시장은 24시간 돈다. 하루를 어디서 끊을지는 거래소나 차트 설정이 임의로 정한 값일 뿐이다. 업비트는 한국시간 자정에 끊고, 해외 다수 거래소·지수 제공자는 UTC 자정에 끊는다. 아홉 시간 차이다.

같은 24시간짜리 가격 흐름이어도 어디서 알파벳 A를 다시 시작하느냐에 따라 최초 균형 구간의 범위가 달라지고, 그 범위를 기준으로 판단하는 이후 구간의 확장·수축 여부도 달라진다. 위 그림에서는 같은 경로인데도 두 기준이 서로 다른 지점에서 A를 시작해, 결과적으로 서로 다른 자리를 최초 균형 구간으로 잡는다. POC가 완전히 다른 자리에 잡히는 날도 나온다. 봉 하나의 방향이 뒤집히는 문제보다 영향 범위가 크다. 프로파일 전체가 다른 그림이 된다.
게다가 CBOT 세션은 그냥 시각만 다른 게 아니라 실제로 장이 닫혔다가 열렸다. 전날 쌓인 미체결 주문과 밤새 나온 뉴스가 다음 날 개장과 함께 한꺼번에 반영되는 순간이 있었고, 그래서 “최초 균형 구간이 그날의 균형을 새로 잡는다"는 전제가 성립했다. 코인 시장은 장이 닫힌 적이 없으니 그런 개장 순간 자체가 없다. 최초 균형 구간이라는 이름의 구간을 그어도 그게 정말 새로 시작하는 균형인지, 아니면 어제 흐름이 그냥 이어지는 중간 지점을 인위적으로 잘라 만든 것인지 구분이 안 된다.
캔톤 네트워크라는 무대
배정된 CC는 캔톤 네트워크의 네이티브 토큰이다. 다름 스마트 계약 언어를 만든 디지털 애셋이 주도하는 프로젝트로, 기관 간 토큰화 자산 정산과 프라이버시를 함께 다루는 걸 목표로 내세운다. 알려진 성격만 놓고 봐도 TPO를 얹기에 마땅치 않은 지점이 하나 보인다.
TPO든 거래량 프로파일이든 전제가 같다. 화면에 보이는 하나의 호가창이 그 시장의 전부라는 전제다. 그런데 기관용 정산을 표방하는 네트워크는 의미 있는 물량 이동이 공개 거래소 호가창 밖, 기관 간 직접 정산이나 권한 기반 채널을 통해 일어날 여지가 구조적으로 크다. 그 흐름은 어느 거래소의 캔들에도, 그래서 어떤 TPO 프로파일에도 안 잡힌다. 프로파일이 “이 가격에서 시장이 오래 다퉜다"고 말해도, 정작 다툼의 상당 부분이 화면 밖에서 있었을 가능성을 배제할 수 없다.
밈코인이라면 얘기가 반대로 흐른다. 도지처럼 물량 이동이 거의 전부 공개 거래소에서 일어나는 자산은 TPO가 보는 그림과 실제 시장이 겹칠 여지가 크다. 같은 기법이라도 자산의 성격에 따라 신뢰도가 달라진다는 걸 CC가 잘 보여준다. 다만 이건 어디까지나 구조에서 나오는 추론이고, CC의 실제 거래 관행을 확인한 결과는 아니다.
넣을 것인가
결론부터 쓴다. 지금은 안 넣는다.
이유는 세션 경계 하나로 좁혀진다. 봇 전체가 하루 경계를 KST 자정으로 통일해서 쓰고 있는지부터 다시 확인해야 하는데, 아직 안 끝났다. 그 정리 없이 POC·Value Area를 게이트에 넣으면 어느 거래소·어느 시간대 기준으로 계산했는지가 코드 어딘가에 암묵적으로 박히고, 나중에 반년 뒤의 내가 그 전제를 잊고 값을 재사용할 위험이 있다.
버리는 건 아니다. 세션 기준을 시스템 전체에서 하나로 박아두고 나면, POC를 지지·저항의 참고선 정도로 얹는 건 해볼 만하다고 본다. 다만 그때도 진입 신호로 쓰지는 않을 생각이다. 후행성이 구조적이라 세션이 끝나기 전까지는 그 프로파일이 최종 모양인지 알 수 없고, 진입 판단은 그 순간에 이뤄져야 하니 방향이 안 맞는다. 참고선으로는 쓸모가 있어도 게이트로 쓰기엔 태생이 안 맞는 도구다.
이 글은 특정 자산의 매매를 권유하지 않는다. 기록은 개인 개발 로그다.
약어 풀이
- RSI (Relative Strength Index) — 상대강도지수. 일정 기간 평균 상승폭과 평균 하락폭의 비율로 과매수·과매도를 재는 모멘텀 오실레이터.
- TPO (Time Price Opportunity) — 반시간 단위 알파벳으로 가격이 시간을 얼마나 오래 붙잡았는지 세는 마켓 프로파일 기법.
- POC (Point of Control) — 알파벳이 가장 많이 쌓인 가격, 시장이 가장 오래 머문 자리.
- VAH (Value Area High) — Value Area의 위쪽 경계.
- VAL (Value Area Low) — Value Area의 아래쪽 경계.
- CBOT (Chicago Board of Trade) — 시카고상품거래소. 마켓 프로파일이 처음 쓰인 곳.
- KST (Korea Standard Time) — 한국 표준시.
- UTC (Coordinated Universal Time) — 협정 세계시.
- CC (Canton Coin) — 캔톤 네트워크의 네이티브 토큰.