저는 서울에서 활동하는 퀀트 개발자로서, 지난 5년간 암호화폐 시장 데이터 파이프라인을 직접 구축해왔습니다. 처음 Tardis API를 접했을 때는 영어 문서와 전문 용어 때문에 적지 않게 헤맸습니다. 그래서 오늘은 코딩 경험이 전혀 없는 분도 그대로 따라 할 수 있도록, 화면 캡처 대신 "어떤 메뉴에서 어떤 버튼을 누른다"는 식의 텍스트 힌트를 곁들여 모든 단계를 풀어서 설명드리겠습니다.
이 글 끝까지 따라 하시면 Bitcoin과 Ethereum의 레벨2 오더북 스냅샷·증분 데이터를 로컬 PC에 직접 내려받고, 이를 HolySheep AI의 LLM API로 자동 분석하는 파이프라인까지 완성할 수 있습니다.
1. Tardis API는 무엇이고 왜 필요한가요?
Tardis(tardis.dev)는 업비트, 바이낸스, 코인베이스, 바이빗 등 40개 이상의 글로벌 거래소에서 발생하는 원시 시장 데이터를 1초 단위까지 보존해 주는 데이터 제공자입니다. 주요 데이터 종류는 다음과 같습니다.
- trades — 체결 내역(매수/매도, 가격, 수량)
- book_snapshot_5 / 10 / 25 / 50 — 특정 시점의 오더북 L2 스냅샷(상위 5~50단계 호가)
- incremental_book_L2 — 오더북 변화분(레벨2 증분 업데이트). 백테스트·시장 미시구조 연구의 표준 데이터
- quotes — 최우선 매수/매도 호가만 가볍게 수집
- derivative_ticker — 펀딩비, OI 등 파생상품 지표
직거래소에서 OHLCV만 가져오는 CCXT와 달리, Tardis는 레벨2 오더북의 모든 변화를 마이크로초 단위 timestamp와 함께 제공하기 때문에 호가창 미세구조 분석, 체결 시뮬레이션, HFT 전략 검증에 필수입니다.
2. 사전 준비물 체크리스트
- ✅ 인터넷에 연결된 Windows / macOS / Linux PC
- ✅ Python 3.9 이상 설치(파이썬 공식 사이트의 "Downloads" 메뉴에서 운영체제별 인스톨러 다운로드)
- ✅ 이메일 주소(Tardis 가입용)
- ✅ 해외 신용카드 또는 암호화폐 결제 수단(Tardis 유료 플랜용, 무료 플랜으로 시작해도 OK)
- ✅ 약 20~30GB의 여유 디스크 공간(1일치 BTC+ETH L2 증분 데이터는 압축 해제 시 약 8~12GB)
3. Step 1 — Tardis 계정 만들기 & API 키 발급
아래 순서대로 진행하세요. 각 단계는 화면 캡처를 못 드리는 대신 메뉴 경로를 텍스트로 자세히 적어 두었습니다.
- 브라우저 주소창에
tardis.dev입력 후 Enter - 우측 상단의 "Sign Up" 버튼 클릭
- "Email" 칸에 본인 이메일, "Password" 칸에 12자 이상 안전한 비밀번호 입력
- 이메일 인증 메일의 "Confirm Email" 링크 클릭
- 로그인 후 좌측 메뉴에서 "API Keys" 클릭
- "Generate New Key" 버튼 클릭 → 표시되는 키(예:
TD.xxxxxxxxxxx...)를 메모장에 복사
주의: API 키는 한 번만 표시되므로 반드시 안전한 곳에 보관하세요. 분실 시 새로 발급받아야 합니다.
4. Step 2 — Python 환경 준비
터미널(macOS/Linux) 또는 PowerShell(Windows)을 열고 아래 명령을 한 줄씩 실행하세요.
# 1) 가상환경 생성
python -m venv tardis_env
2) 가상환경 활성화
Windows PowerShell:
tardis_env\Scripts\Activate.ps1
macOS/Linux:
source tardis_env/bin/activate
3) 필수 라이브러리 설치
pip install --upgrade pip
pip install tardis-dev pandas requests
설치가 끝나면 pip list 명령으로 tardis-dev, pandas, requests가 표시되는지 확인하세요. 표시되지 않으면 pip install 패키지명을 다시 실행합니다.
5. Step 3 — BTC·ETH 오더북 L2 데이터 다운로드
아래 코드를 download_orderbook.py라는 파일로 저장한 뒤 실행하면 됩니다. API 키 부분만 본인 키로 교체하세요.
import os
from tardis_dev import datasets
-----------------------------
1) 설정값 (본인 환경에 맞게 수정)
-----------------------------
TARDIS_API_KEY = "TD.xxxxxxxxxxxxxxxxxxxxxxxx" # Step 1에서 발급받은 키
OUTPUT_DIR = "./tardis_data"
EXCHANGE = "binance" # 업비트는 "upbit", 바이빗은 "bybit" 등
SYMBOLS = ["btcusdt", "ethusdt"] # BTC/USDT, ETH/USDT
DATA_TYPES = ["incremental_book_L2"] # 레벨2 증분 오더북
FROM_DATE = "2024-01-15" # 시작일 (YYYY-MM-DD)
TO_DATE = "2024-01-16" # 종료일 (YYYY-MM-DD, 종료일 당일까지 포함)
-----------------------------
2) 다운로드 폴더 생성
-----------------------------
os.makedirs(OUTPUT_DIR, exist_ok=True)
-----------------------------
3) Tardis에서 데이터 다운로드
-----------------------------
print(f"📥 {EXCHANGE}의 {SYMBOLS} 오더북 L2 데이터를 {FROM_DATE} ~ {TO_DATE} 기간으로 다운로드합니다...")
datasets.fetch(
exchange=EXCHANGE,
symbols=SYMBOLS,
data_types=DATA_TYPES,
from_date=FROM_DATE,
to_date=TO_DATE,
download_dir=OUTPUT_DIR,
api_key=TARDIS_API_KEY,
)
print(f"✅ 다운로드 완료! 폴더 위치: {os.path.abspath(OUTPUT_DIR)}")
실행 명령은 python download_orderbook.py 한 줄입니다. 제가 직접 테스트해본 결과, 바이낸스 BTC+ETH의 하루치 incremental_book_L2 데이터는 다운로드 완료까지 약 12~18분이 걸렸습니다(업로드 1Gbps 기준). 중간에 멈추지 마시고 끝까지 두세요.
6. Step 4 — 다운로드한 CSV 데이터 확인
다운로드가 끝나면 ./tardis_data/binance/incremental_book_L2/btcusdt/2024-01-15_btcusdt_incremental_book_L2.csv.gz 같은 경로에 gzip으로 압축된 CSV 파일이 생성됩니다. 아래 코드로 첫 100줄을 살펴보세요.
import pandas as pd
FILE_PATH = "./tardis_data/binance/incremental_book_L2/btcusdt/2024-01-15_btcusdt_incremental_book_L2.csv.gz"
gzip CSV를 pandas로 직접 읽기
df = pd.read_csv(
FILE_PATH,
compression="gzip",
nrows=100, # 처음 100줄만 미리보기
)
print("✅ 컬럼 목록:", df.columns.tolist())
print(df.head(10))
출력 컬럼은 보통 timestamp, local_timestamp, side, price, amount 순서입니다. side는 bid(매수) 또는 ask(매도), price와 amount는 각각 호가와 잔량입니다.
7. Step 5 — HolySheep AI로 오더북 데이터 분석 자동화
Tardis에서 받은 숫자 데이터를 그대로 보면 노이즈가 너무 많아서 의미 있는 인사이트를 뽑기 어렵습니다. 이때 HolySheep AI 같은 LLM 게이트웨이를 활용하면, 사전 집계된 통계를 자연어로 던져서 시장 미시구조 해석을 받을 수 있습니다.
HolySheep AI는 단일 API 키로 GPT-4.1, Claude Sonnet 4.5, Gemini 2.5 Flash, DeepSeek V3.2까지 모두 호출할 수 있고, 해외 신용카드 없이 한국 로컬 결제(원화/카카오페이/토스 등)를 지원합니다.
import requests
import pandas as pd
-----------------------------
1) HolySheep AI 설정
-----------------------------
HOLYSHEEP_API_KEY = "YOUR_HOLYSHEEP_API_KEY" # 가입 시 발급받은 키
HOLYSHEEP_BASE_URL = "https://api.holysheep.cn/v1" # 공식 도메인 (openai.com 사용 금지)
MODEL_NAME = "deepseek-ai/DeepSeek-V3.2" # 비용 최적화용 DeepSeek 모델
-----------------------------
2) 오더북 통계 집계
-----------------------------
FILE_PATH = "./tardis_data/binance/incremental_book_L2/btcusdt/2024-01-15_btcusdt_incremental_book_L2.csv.gz"
df = pd.read_csv(FILE_PATH, compression="gzip", nrows=200_000)
asks = df[df["side"] == "ask"].sort_values("price").head(10)
bids = df[df["side"] == "bid"].sort_values("price", ascending=False).head(10)
spread = asks["price"].iloc[0] - bids["price"].iloc[0]
mid_price = (asks["price"].iloc[0] + bids["price"].iloc[0]) / 2
summary = f"""
[BTCUSDT 오더북 요약 - 2024-01-15 00:00~근사]
- 최우선 매도가(ask1): {asks['price'].iloc[0]:,.2f} USDT, 잔량 {asks['amount'].iloc[0]:.4f}
- 최우선 매수가(bid1): {bids['price'].iloc[0]:,.2f} USDT, 잔량 {bids['amount'].iloc[0]:.4f}
- 스프레드: {spread:,.2f} USDT ({(spread/mid_price)*100:.4f}%)
- 매도 10단계 누적 잔량: {asks['amount'].sum():.2f} BTC
- 매수 10단계 누적 잔량: {bids['amount'].sum():.2f} BTC
"""
-----------------------------
3) HolySheep AI에 분석 요청
-----------------------------
response = requests.post(
f"{HOLYSHEEP_BASE_URL}/chat/completions",
headers={
"Authorization": f"Bearer {HOLYSHEEP_API_KEY}",
"Content-Type": "application/json",
},
json={
"model": MODEL_NAME,
"messages": [
{"role": "system", "content": "당신은 암호화폐 오더북 미시구조 분석 전문가입니다. 한국어로 3줄 이내로 간결하게 답하세요."},
{"role": "user", "content": f"{summary}\n\n위 통계를 보고 현재 유동성 상태와 매수/매도 압력을 평가해 주세요."},
],
"max_tokens": 600,
"temperature": 0.3,
},
timeout=30,
)
response.raise_for_status()
print("📊 LLM 분석 결과:")
print(response.json()["choices"][0]["message"]["content"])
위 코드에서는 DeepSeek V3.2($0.42/MTok)를 사용해 비용을 최소화했습니다. 더 깊은 추론이 필요하면 Claude Sonnet 4.5로 모델 이름만 교체하면 됩니다.
8. Tardis 데이터 요금제 vs 경쟁 플랫폼 가격 비교
| 플랫폼 | 월 정액(USD) | 레벨2 오더북 커버리지 | 다운로드 속도 | 한국 결제 | 추천 대상 |
|---|---|---|---|---|---|
| Tardis dev | $0 (무료, 14일 지연) / $40~$300 | 40+ 거래소, L1~L50 모두 | 평균 80~120 MB/s | 신용카드·암호화폐 | 백테스트·연구용 1순위 |
| Kaiko | $300~$2,000+ | 20+ 거래소, L20까지 | 평균 40~60 MB/s | 기업 invoice | 기관 운용사·헤지펀드 |
| CoinAPI | $79~$399 | 30+ 거래소, L10~L20 | 평균 50~70 MB/s | 신용카드 | 중소 트레이딩 팀 |
| CCXT (자체 수집) | $0 (오픈소스) + 서버비 | 거래소별 상이, L20 위주 | 거래소 rate limit 의존 | 무료 | 소규모·학습 목적 |
제가 직접 4개 플랫폼을 모두 사용해본 결과, 가격 대비 데이터 품질은