궁금한 주제를 찾아보세요

비트코인, 스테이블코인, 온체인 데이터처럼 주제로 검색하세요.

다시 읽을 이야기

저장한 글은 이 브라우저에만 보관됩니다.

리서치시장 읽기

시황 데이터가 나중에 바뀔 때: 수정치와 방법론 관리

같은 과거 날짜의 시황 데이터가 백필·정정·방법론 변경으로 달라질 때 원본 스냅샷과 수정치를 비교하고 버전을 기록하는 방법을 설명한다.

겹친 기록판에서 기존 면을 걷고 새 판을 끼우는 데이터 수정과 버전 관리 그림
주제의 이해를 돕기 위해 imagegen으로 제작한 AI 생성 개념 일러스트
먼저 읽는 핵심

거래소 정정, 늦은 체결, 심볼 매핑과 휴리스틱 개선으로 과거 시황 데이터가 다시 계산될 수 있다.
대시보드 숫자를 복사해 두고 버전·조회시각을 남기지 않으면 재현이 불가능하다.
원본 응답 해시, 방법론 버전, 수정 공지와 재수집 범위를 기록한다.

거래소 정정, 늦은 체결, 심볼 매핑과 휴리스틱 개선으로 과거 시황 데이터가 다시 계산될 수 있다. 대시보드 숫자를 복사해 두고 버전·조회시각을 남기지 않으면 재현이 불가능하다. 따라서 원본 응답 해시, 방법론 버전, 수정 공지와 재수집 범위를 기록한다.

과거 시계열이 고정된 장부가 아닌 이유

거래소는 늦게 도착한 체결을 보내거나 이미 보낸 거래를 정정할 수 있다. 데이터 공급자는 심볼·시장 매핑 오류를 고치고 누락 구간을 백필한다. 파생 지표는 구성시장과 계산 규칙이 바뀌면 과거 전체가 다시 계산될 수 있다.

따라서 9월 1일 값은 날짜 하나만으로 식별되지 않는다. 9월 1일 event를 어느 API 버전과 방법론으로 언제 조회했는지까지 있어야 동일한 데이터 스냅샷이 된다.

과거 날짜가 같아도 조회한 시점과 방법론 버전이 다르면 서로 다른 데이터 제품이다.

JOBCOIN 해설

정정·백필·재계산을 구분한다

정정은 이미 존재한 원천 record의 값 또는 취소 상태가 바뀌는 경우다. 백필은 이전에 없던 record가 늦게 추가되는 경우다. 재계산은 동일 원천을 새로운 방법론으로 다시 집계하는 경우다. 결과 숫자는 모두 바뀌지만 원인과 영향 범위가 다르다.

API의 event time과 database time이 있으면 늦은 수집을 식별하는 단서가 된다. 방법론 변경은 announcement·effective date와 변경된 과거 범위를 확인한다. 공급자 공지가 없으면 diff만으로 원인을 단정하지 않는다.

100에서 104로 바뀐 수정치 계산 예시

교육용 가정으로 9월 1일 거래량을 9월 2일에 수집한 v1 값이 100이고, 늦은 체결 백필 뒤 9월 5일 v2 값이 104라면 수정량은 104-100=4, 수정률은 (104-100)/100×100=4%다. 최신값만 덮어쓰면 당시 기사에서 왜 100을 썼는지 재현할 수 없다.

값이 0에서 3으로 바뀌면 백분율 수정률은 분모가 0이라 계산하지 않는다. null에서 3으로 바뀐 것은 0 거래의 수정이 아니라 결측 해소다. revision 상태에는 old value, new value, first_seen, last_seen과 reason을 별도 열로 둔다.

과거 데이터가 바뀌는 원인과 확인 증거
원인 예시 확인할 기록
늦은 원천 데이터 거래소 체결 백필 event time·database time
원천 정정 거래소가 거래 취소·수량 수정 공급자 정정 공지
심볼·시장 매핑 토큰 교체나 시장명 병합 reference data 버전
방법론 변경 구성시장·휴리스틱 재계산 methodology effective date

event time과 수집 시각을 분리한다

event time은 거래나 블록이 발생한 시각이고 database time은 공급자가 자료를 저장한 시각이다. 9월 1일 체결이 9월 3일 저장되면 9월 1일 봉이 뒤늦게 바뀔 수 있다. API가 두 시각을 제공한다면 원본 응답에 모두 남긴다.

methodology publication date, announcement date, effective date도 서로 다르다. 변경 문서가 공개된 날과 과거 시계열을 다시 계산한 날을 하나의 날짜로 쓰면 영향 범위를 알 수 없다.

  • API 원본 bytes와 SHA-256을 보관한다
  • 요청 URL·파라미터·UTC 수집시각을 기록한다
  • event time과 database time을 분리한다
  • 방법론 문서의 버전·효력일을 저장한다
  • 재수집은 원본을 덮어쓰지 않고 새 snapshot으로 추가한다

백필과 방법론 변경의 영향 범위

단일 거래소의 하루 누락을 채운 백필은 일부 시장·기간만 바꿀 수 있다. 반면 reference rate 구성시장 규칙이나 adjusted transfer 휴리스틱이 바뀌면 여러 자산의 전체 과거 구간이 재계산될 수 있다. 수정 건수뿐 아니라 earliest_changed_time과 latest_changed_time을 구한다.

집계 지표는 원천 한 줄 수정이 여러 파생값으로 퍼진다. 체결 정정은 1분봉, 1시간봉, 일봉과 거래량 지표를 모두 바꿀 수 있고, 조정 전송량 변경은 NVT 같은 비율에도 영향을 준다. 파생 데이터 계보를 기록하지 않으면 원인을 역추적하기 어렵다.

두 스냅샷을 안전하게 비교하는 절차

동일한 요청 파라미터로 v1과 v2를 키(asset, market, time) 기준 outer join한다. 추가·삭제·값변경·불변 네 상태로 나누고 소수점 반올림 전에 원문 문자열을 비교한다. schema가 달라졌다면 값 비교 전에 필드 매핑을 검토한다.

수정 보고에는 변경 행 수, 전체 행 수, 최대 절대차, 최대 상대차와 변경 기간을 적는다. 값의 분포가 긴 꼬리를 가지면 평균 차이 하나만 쓰지 않는다. 공개 기사에는 최초 게시값과 현재 수정값을 함께 보여 독자가 변경 시점을 알 수 있게 한다.

Coin Metrics 문서는 데이터가 market·asset 등 여러 수준으로 제공되고 방법론이 시장 선택, 계산 알고리즘, contingency와 recalculation 정책을 포함함을 설명한다. 이 원칙은 특정 수정 원인을 자동 확정하지 않으므로 실제 공지를 확인한 범위만 쓴다.

자주 묻는 질문

어제 저장한 값과 오늘 API 값 중 무엇이 맞나요?

각각 해당 수집시점의 스냅샷일 수 있다. 최신값을 현재 공식값으로 쓸 수 있지만 과거 기사 재현에는 당시 원본과 조회시각을 보존해야 한다.

0이 null로 바뀌면 단순 수정인가요?

0은 관측값이고 null은 데이터 부재 상태다. 값 차이와 상태 변화를 별도로 기록하며 백분율 수정률을 억지로 계산하지 않는다.

수정치가 나오면 기존 파일을 덮어써도 되나요?

재현성을 위해 원본은 보존하고 새 snapshot을 추가한다. 두 버전의 key별 diff와 방법론 효력일을 함께 기록한다.

직접 확인한 자료

자료 확인 2026.09.27
  1. Coin Metrics Market Data Methodologiesgitbook-docs.coinmetrics.io
  2. Coin Metrics API v4docs.coinmetrics.io
AI 활용 안내

이 글은 AI로 초안을 구성한 뒤 공개 원문과 기술 문서를 대조해 작성했습니다. 대표 이미지는 AI 생성 개념 일러스트이며 실제 사건 사진이나 가격 차트가 아닙니다.

이해를 위한 정보 콘텐츠

이 글은 특정 자산의 매수·매도 또는 수익을 권유하지 않습니다. 자료의 발표 시점과 이후 변경 사항을 함께 확인해 주세요.

편집 원칙과 정정 안내 →