백테스트는 모든 행을 정확히 처리하고도 잘못된 질문에 답할 수 있습니다. 그 행들이 잘못된 시장을 설명하거나, 표본의 일부를 건너뛰거나, 잘못된 시점에 정보를 붙이기 때문입니다. 따라서 데이터 품질은 전략 명세의 일부입니다. 수익률을 읽기 전에 각 관측치가 무엇을 의미하는지, 언제 이용 가능해졌는지, 어떻게 얻었는지를 기록하세요.
1. 정확한 시장과 캔들 명시하기
제공자와 거래소, 정확한 심볼, 현물 또는 파생상품 계약, 견적 및 결제 자산, 캔들 간격, 그리고 타임스탬프가 캔들의 시가를 표시하는지 종가를 표시하는지를 적어 두세요. “BTC 1시간 캔들”은 가격, 거래량, 펀딩비, 거래 시간을 바꿀 수 있는 세부 사항을 생략합니다. 문서화된 리서치 질문이 다른 결합을 정당화하지 않는 한, 한 계약의 가격 시계열은 그 계약의 펀딩 이력과 함께 유지하세요.
표본 기간 중 상장폐지, 마이그레이션, 계약 승수, 심볼 변경 여부를 계약 메타데이터에서 확인하세요. 심볼은 유지되면서 그 시장 정의가 바뀔 수 있습니다. 제공자가 과거 데이터를 수정하면 조회 날짜와 원본 사본을 보관하여 이후 실행이 차이를 설명할 수 있게 하세요.
2. 지표를 계산하기 전에 시간 인덱스 감사하기
타임스탬프를 UTC로 정규화하되 제공자의 원래 표현은 보존하세요. 숫자 값이 초인지 밀리초인지 기록하세요. ISO 타임스탬프는 특정 시점을 식별하기 위해 명시적인 Z 또는 UTC 오프셋이 필요합니다. 2026-04-07 13:00 같은 현지 시각 문자열은 시간대 없이는 모호합니다. 순서와 고유성을 확인한 뒤, 첫 시각과 마지막 시각을 요청한 기간 및 예상 간격 개수와 비교하세요.
10:00 UTC에 시작하는 네 시간 길이의 1시간봉 표본의 경우, 예상 시가 시각은 10:00, 11:00, 12:00, 13:00입니다. 10:00, 11:00, 11:00, 13:00이 담긴 파일도 여전히 4개의 행을 포함하지만, 11:00이 중복되고 12:00 관측치가 없습니다. 행 개수만으로는 두 결함을 모두 놓칩니다. 권위 있는 출처에서 해결하세요. 중복된 캔들을 평균 내거나, 빈틈을 채우려고 평범해 보이는 캔들을 만들어내지 마세요. 빈틈을 제외한다면 날짜, 규칙, 그리고 그것이 워밍업, 거래, 표본 범위에 미치는 영향을 보고하세요.
3. 값과 출처 범위 확인하기
각 OHLC 캔들에 대해 양의 유한 가격, high ≥ max(open, close), low ≤ min(open, close), high ≥ low를 확인하세요. 거래량은 선언된 단위를 사용해야 하며 음수가 아니어야 합니다. 시작, 중간, 끝, 그리고 의심스러운 움직임 주변의 원시 행 여러 개를 원본 출처와 대조해 차트로 그려 보거나 살펴보세요. 오래된 반복, 갑작스러운 거래량 단위 변경, 중복된 페이지 경계, 부분적인 현재 캔들, 누락된 구간을 찾으세요. 그럴듯한 차트는 올바른 시장 정체성이나 제공자 출처의 증거가 아닙니다.
범위는 파일의 속성일 뿐만 아니라 API의 속성이기도 합니다. 현재 Hyperliquid의 예로, 캔들 스냅샷 엔드포인트는 지원하는 간격을 문서화하며 가장 최근 5,000개 캔들만 이용 가능하다고 밝힙니다. 캔들 응답은 시가와 종가 타임스탬프와 함께 심볼, 간격, OHLC, 거래량, trade count를 노출하며, WebSocket 스키마는 타임스탬프 필드를 밀리초로 표시합니다. 요청한 이력이 그 엔드포인트의 이용 가능한 범위를 넘어서면, 깔끔하게 파싱되는 응답도 여전히 불완전할 수 있습니다. 요청 기간을 기록하고 처음과 마지막으로 반환된 캔들이 그와 일치하는지 확인하세요. 더 오래된 범위에는 적절한 아카이브나 명시적으로 식별된 다른 제공자를 사용하세요. 이는 2026년 9월 25일에 확인한 Hyperliquid API 세부 사항이며, 보편적인 거래소 한도가 아닙니다. 캔들 스냅샷 API와 캔들 WebSocket 스키마를 참고하세요.
4. 펀딩과 기타 이벤트 데이터를 실제 의미에 맞게 정렬하기
펀딩비는 시점과 계약에 따라 다릅니다. 그 비율 단위, 부호, 타임스탬프, 정산 관행을 보존하세요. 누락된 비율은 알 수 없는 것이지 0 지급이 아닙니다. 시장 펀딩비 이력은 정산 시점의 비율을 설명하고, 개별 계정 원장은 포지션 크기와 실제 현금 델타를 기록합니다. 이들은 서로 다른 질문에 답합니다. 예를 들어 Hyperliquid는 무기한 선물에 대해 시간별 펀딩, 과거 비율 엔드포인트, 그리고 time, coin, rate, size, USDC delta 같은 필드를 포함하는 별도의 사용자 펀딩 원장을 문서화합니다. 비율을 전방 채우기하거나 모든 캔들에 적용하지 말고, 그 시점에 보유한 포지션에 맞는 올바른 기록을 사용하세요. 2026년 9월 25일에 확인한 현재의 펀딩 규칙과 무기한 선물 데이터 엔드포인트를 참고하세요.
신호 시점도 같은 주의가 필요합니다. 캔들의 최종 고가, 저가, 종가는 그 시가에 모두 알려져 있지 않습니다. 규칙이 완료된 종가를 필요로 한다면, 결정은 캔들이 끝난 뒤에만 그것을 사용할 수 있습니다. 이 경우 시뮬레이션된 진입은 명시된 관례에 따라 이후의 실행 가능한 관측치를 사용해야 합니다. 종가 기반 결정을 같은 캔들의 시가에서 테스트하면 미래 정보가 누출됩니다. 지표 워밍업, 리샘플링 경계, 병합된 피처, 신호에 사용된 정확한 행을 확인하세요.
5. 원시 증거와 모든 변환 보관하기
원본 응답이나 파일을 출처 이름, 시장 식별자, 요청 파라미터, 조회 타임스탬프, 간격, 시간대, 행 개수, 요청한 시작/종료와 함께 변경 없이 저장하세요. 소프트웨어 또는 변환 버전과 암호화 지문을 기록하세요. 별도의 정제된 데이터셋을 만드세요. 각 수정이나 제외에 대해 원본 행, 이유, 대체 출처, 정확한 변환을 보관하세요. 그러면 다른 연구자가 “정제된 데이터”가 무엇을 뜻했는지 추측하지 않고도 결과를 재현하고 이후의 출처 수정과 비교할 수 있습니다.
리서치 실행은 데이터셋 지문을 전략 버전, 엔진 버전, 기간, 설정, 경고, 출력에 결부해야 합니다. 해시는 선택한 방법에서 두 파일이 바이트 또는 값 단위로 동일함을 확인해 줄 뿐, 어느 파일이 참인지는 입증하지 않습니다. 데이터 출처와 데이터 정확성은 서로 관련되지만 별개의 검사입니다.
SuperQuant가 검증하는 것
SuperQuant의 CSV 가져오기는 timestamp, open, high, low, close, volume 필드를 요구하며, funding_rate는 선택 사항입니다. 최소 60개의 오름차순이고 고유하며 연속적인 1시간 UTC 관측치, 양의 유한 OHLC 가격, 음수가 아닌 거래량, 유효한 캔들 관계를 요구합니다. ISO 타임스탬프에는 시간대가 있어야 합니다. 누락된 펀딩은 null로 남고 보고됩니다. 펀딩을 포함하거나 펀딩 필터에 의존하는 전략은 펀딩 관측치를 필요로 합니다. 이러한 검사는 잘못된 구조를 거부하지만, 가져오기 기능은 주장된 거래소를 인증하거나 경제적 정확성을 입증할 수 없습니다.
내장된 이력은 시장 기록이 아니라 합성 교육 예시입니다. 가져온 시계열은 고유한 출처와 한계를 지닌 별개의 증거입니다. 과거 데이터 CSV 템플릿과 백테스트 감사 체크리스트를 검토한 뒤, 비용 가이드와 미래 참조 편향 리뷰를 읽어 보세요. 좋은 데이터는 테스트를 해석 가능하게 해 주지만, 지속적인 우위나 미래의 결과를 입증하지는 않습니다. 이 가이드는 일반 교육용이며, 투자 조언이 아닙니다.