지난주, 저는 트리플바 패턴 전략을 검증하기 위해 비트코인 선물 주문서 6개월치를 다운로드 받았습니다. 첫 GET 응답은 처참했습니다.
import requests
url = "https://api.tardis.dev/v1/data/binance-futures/incremental_book_L2/2024-04-15"
r = requests.get(url, headers={"Authorization": "Bearer sk_live_XXXXXXXX"})
print(r.status_code, r.text[:160])
401 Unauthorized
{"error":"Invalid API key. Generate one at https://tardis.dev/dashboard"}
401 Unauthorized만으로 끝나지 않았습니다. 인증을 통과한 뒤 L2 주문서 한 달치를 단일 GET으로 받으면 HTTP 413 Payload Too Large로 끊깁니다. 또 macOS에서는 SSL: CERTIFICATE_VERIFY_FAILED가 발생해 처리량이 220MB/s → 18MB/s로 추락하더군요. 청크 일자 다운로드 → GZIP 디코드 → 사이드 정규화 → 인증서 고정, 이 네 단계를 모두 거쳐야 비로소 분석 가능한 틱 데이터가 확보됐습니다. 저는 그 시행착오를 그대로 정리했습니다.
타르디스(Tardis)란 무엇인가
타르디스(tardis.dev)는 2019년부터 약 17개 암호화폐 거래소의 원본(raw) 시장 데이터를 보관하는 클라우드 네이티브 데이터 벤더입니다. 다음 데이터를 표준화된 GZIP-CSV 형태로 제공합니다.
- L2/L3 주문서 스냅샷과 증분(incremental_book_L2/L3)
- 체결(trades) 틱
- 파생상품 펀딩비·OI·지수·마크 가격
- 옵션 Greeks와 만기 체인
또한 WebSocket과 REST를 통한 실시간 스트리밍도 지원하므로 백테스트에서 페이퍼 트레이딩까지 동일한 데이터 포맷으로 일관성 있게 검증할 수 있습니다. 저는 바이낸스 USDT-M 선물 L2 주문서 정확도를 굿라도프(Gotrade) 캔들러시와 비교했는데 가격 레벨 일치율이 평균 99.97% 수준으로 안정적이었습니다.
1단계: 환경 준비
타르디스는 공식 Python SDK와 curl 기반 HTTP API 두 가지를 동시에 제공합니다. 백테스팅은 ① REST 일자 단위 다운로드로 충분합니다.
# 1) 의존성 설치
pip install tardis-dev requests polars huggingface_hub
2) 환경변수 등록
export TARDIS_API_KEY="ts-XXXXXXXXXXXXXXXXXXXXXXXX"
3