MarketTrace
M1포지셔닝M2풋프린트M3청산M4FundingM5볼륨 프로파일M6호가창 깊이
방법론 · v1.1.0 · 발행 2026-05-21 · 업데이트 2026-09-02

Perpetuals Heat Index

자산별 백분위와 동등 가중 글로벌 점수의 계산 방법, breadth 카운터의 의미, 데이터가 아직 닿지 못하는 곳.

실시간 위젯 보기: /perpetuals/positioning.

데이터 출처

Heat Index는 상류 파일 하나만 읽습니다: data/research/heat_index.json, PPI shadow-log cron이 매시간 :05 UTC에 작성. 같은 cron이 자산별 ppi_log.jsonl 파일도 유지합니다. 그래서 인덱스는 데이터 수준에서 PPI의 결산 케이던스를 상속합니다(Binance funding 결산당 새 데이터 1개). 기존 6개 자산은 8시간마다, HYPE는 4시간마다이며, FE는 5분마다 폴링합니다.

PPI 자체는 Binance USDT-M funding rate의 자산별 180-결산 롤링 z-score입니다. 하루 3 결산이면 약 60일 컨텍스트이고, HYPE는 Binance에서 두 배 자주 결산하므로 180 결산이 약 30일을 덮습니다. Shadow logger는 기존 6종에 대해 2024-07-07 이후 모든 Binance 결산을 하루 3건씩 캡처해 왔고, 2026년 9월 기준 각 로그는 약 2,360 샘플입니다. HYPE 로그는 자체 Binance 히스토리가 180-결산 윈도우를 채운 2025년 중반에 시작해 더 촘촘한 케이던스로 약 2,580 샘플을 보유합니다. 이 자산별 로그가 백분위가 매핑되는 역사적 분포입니다.

자산별 백분위

각 추적 자산에 대해 인덱스는 현재 PPI 값을 그 자산 자체의 로그에 대해 순위 매깁니다. 로그는 기존 6종이 2024-07-07, HYPE가 2025년 중반에 시작합니다. 공식은 단순 bisect_right: 현재 값 이하인 역사적 PPI 샘플 개수를 세고 총 개수로 나눈 뒤 100을 곱합니다.

백분위_pct = bisect_right(sorted(history), current_ppi)
            / len(history) × 100

BTC 점수 92는 오늘 BTC funding-z가 2024-07-07 이후 관측된 모든 BTC funding-z의 92%보다 높이 있다는 뜻. 각 자산은 자체 곡선에 대해 평가되므로 같은 날 BTC 92와 DOGE 12는 자산별 역사-내-위치에 대한 두 진술이지, 절대 funding rate가 같다는 뜻이 아닙니다.

글로벌 집계

시장 전체 점수는 7개 자산별 현재 PPI의 동등 가중 평균을, 7개 자산 모두 값이 있는 모든 timestamp에 대해 역사적으로 계산된 같은 동등 가중 집계의 백분위에 매핑한 값입니다. 자산은 현재 PPI와 로그를 모두 가질 때만 집계에 들어가며, 빠진 자산을 timestamp 단위로 대체하지 않고 역사 시계열은 엄격한 교집합입니다.

HYPE는 이 공유 윈도우를 두 방향으로 깎습니다. 로그가 2025년 중반에 시작해 교집합을 그 시점으로 잘라내고, Binance가 나머지의 8시간과 달리 4시간마다 결산하므로 00:00 / 08:00 / 16:00 결산만 다른 자산과 맞물립니다. 그래서 공유 윈도우는 2026년 9월 기준 약 1,290 timestamp이고, 기존 6종의 자산별 약 2,360과 대비됩니다. Payload는 두 수치를 모두 공개합니다. 공유 윈도우는 n_history, 자산별 depth는 n_history_per_asset.

current_agg     = mean([ppi.btc, ppi.eth, ppi.sol, ppi.bnb,
                        ppi.xrp, ppi.doge, ppi.hype])
historical_agg  = [mean(per_asset_ppi(t)) for t in shared_timestamps]
global_pct      = bisect_right(sorted(historical_agg), current_agg)
                  / len(historical_agg) × 100

OI 가중이 아닌 동등 가중. BTC가 전체 perp OI의 약 60%로 open interest를 지배하므로 OI 가중 composite는 BTC를 가깝게 추적할 것입니다. 동등 가중은 대신 breadth를 표면화. 7개 자산 중 5개가 함께 hot으로 갈 때 BTC 단독으로 break out 안 했어도 점수가 오릅니다.

Breadth 카운터

글로벌 백분위와 함께 payload는 두 카운터를 노출: 7개 자산 중 현재 Hot 또는 Euphoric 밴드에 있는 개수, 그리고 Cold 또는 Panic에 있는 개수. 위젯은 이를 “7개 중 1개가 핫존”으로 렌더링합니다.

Breadth는 광범위한 regime 변화와 단일 자산의 폭발을 구분. 글로벌 점수 75 + breadth_hot=5는 시장 대부분이 동시에 따뜻하다는 뜻. 글로벌 점수 75 + breadth_hot=1는 한 자산이 극단적 고점에 있어서 혼자 평균을 끌어올리고 있다는 뜻. 같은 헤드라인 숫자, 매우 다른 microstructure.

캐싱과 신선도

엔드포인트는 매 요청마다 heat_index.json을 읽고, 파일이 2시간 이상 오래되었으면 503을 반환합니다. 그 너머는 upstream에서 뭔가 잘못된 상태(timer 죽음, PPI cron 실패, 디스크 가득)이며 stale heat 값을 서빙하는 것이 정직한 오류보다 FE를 더 오도합니다.

Cache-Control은 max-age 5분과 stale-while-revalidate 10분으로 설정되어, CDN이 파일의 실제 나이를 초과해서 stale-serving 하지 않으면서 대부분의 트래픽을 흡수할 수 있습니다. FE 폴링이 일치: SWR 5분마다 새로고침. 파일이 시간 단위로 업데이트되므로 12개 클라이언트 요청 중 11개는 CDN에서 동일 바이트를 반환합니다.

한계

버전

방법론 버전 v1.1.0, 발행 2026-05-21, 업데이트 2026-09-02. 컴퓨트 경로의 중요 변경(새 가중치, 임계값 조정, 추가 입력)은 버전을 올리고 위 구조화 데이터의 dateModified를 갱신합니다. 문구 수정은 그대로.

v1.1.0 (2026-09-02): 2026-07-20에 HYPE가 일곱 번째 입력으로 집계에 합류했습니다. HYPE의 PPI 로그는 기존 6종보다 짧고 Binance는 이를 두 배 자주 결산하므로, 글로벌 백분위 뒤의 공유 윈도우는 이제 자산별 depth보다 크게 짧습니다. 그 대가는 집계 섹션에 적어두었습니다.

v1.0.0 (2026-05-21): 최초 릴리스, 6개 자산.