ผู้เขียนเคยใช้เวลาทั้งคืนพยายามดาวน์โหลดข้อมูล Binance Futures ระดับ Tick ผ่าน REST API ตรงของ Binance จนพบว่าข้อมูลย้อนหลังมีให้แค่ 7 วัน ซึ่งไม่พอสำหรับงานวิจัยเชิงลึกหรือ Backtest กลยุทธ์ หลังจากทดลอง Tardis, CryptoDataDownload และ Kaiko อยู่เกือบ 6 เดือน พบว่า Tardis ให้ความสมดุลระหว่าง "ข้อมูลครบถ้วน" กับ "ราคาไม่แพง" ได้ดีที่สุด และเมื่อจับคู่กับ HolySheep AI เพื่อวิเคราะห์เชิงภาษา ความเร็วในการตัดสินใจเพิ่มขึ้นอีกหลายเท่า บทความนี้จึงเขียนขึ้นเพื่อให้ผู้เริ่มต้นที่ไม่เคยใช้ API มาก่อนทำตามได้ใน 1 ชั่วโมง
ข้อมูล Tick คืออะไร และทำไมต้องเก็บเป็น Parquet?
"ข้อมูล Tick" คือบันทึกทุก ๆ ครั้งที่มีคนซื้อขายจริงในตลาด เช่น ราคา 30,001.50 จำนวน 0.025 BTC เวลา 09:15:23.481 ต่างจากข้อมูลแท่งเทียน (OHLCV) ที่รวมยอดทุก 1 นาทีหรือ 1 ชั่วโมง ข้อมูล Tick จึงมีปริมาณมหาศาล: BTCUSDT Futures วันเดียวอาจมีถึง 80–120 ล้านแถว หากเก็บเป็น CSV จะใหญ่ถึง ~12 GB/วัน แต่ถ้าเก็บในรูปแบบ Parquet (รูปแบบไฟล์แบบคอลัมน์ที่บีบอัดได้ดี) จะเหลือแค่ 3–4 GB และอ่านเร็วขึ้น 5–10 เท่าเมื่อใช้กับ Pandas หรือ DuckDB
เปรียบเทียบผู้ให้บริการข้อมูล Tick 3 เจ้า (ราคา 2026)
| แพลตฟอร์ม | ราคารายเดือน | Binance Futures Tick | หน่วงเฉลี่ย | คะแนนชุมชน |
|---|---|---|---|---|
| Tardis | $79–$499/เดือน | ครบทุก Symbol ตั้งแต่ 2019 | ประมาณ 150 ms (Replay) | GitHub tardis-client 2.1k ★ |
| Binance API ตรง | ฟรี | มีให้แค่ 7 วันย้อนหลัง | 50–80 ms | r/algotrading แนะนำให้ใช้คู่กับ Tardis |
| CryptoDataDownload | $29 ต่อชุดข้อมูล (ซื้อครั้งเดียว) | เฉพาะ Symbol ยอดนิยม | ไม่มี Real-time | Reddit คะแนน 3.4/5 จาก 47 รีวิว |
สรุป: ถ้าต้องการข้อมูลย้อนหลังเกิน 7 วัน Tardis คือตัวเลือกที่คุ้มค่าที่สุดเมื่อเทียบกับราคา
เตรียมตัวก่อนเริ่ม (สำหรับผู้ไม่เคยใช้ API)
- Python 3.10 ขึ้นไป: ดาวน์โหลดฟรีจาก python.org แล้วติ๊ก "Add to PATH" ตอนติดตั้ง
- บัญชี Tardis: สมัครที่ tardis.dev ฟรี มีแผน Free ให้ทดลอง 100 GB/เดือน
- เนื้อที่ดิสก์อย่างน้อย 200 GB: สำหรับเก็บข้อมูล 3 เดือน (แนะนำ SSD)
- API Key ของ HolySheep (ใช้ตอนวิเคราะห์): สมัครได้ที่ holysheep.ai
ขั้นตอนที่ 1: สมัคร Tardis และรับ API Key
- เปิดเบราว์เซอร์ไปที่ tardis.dev
- [คลิกปุ่ม "Sign Up" สีดำที่มุมขวาบน]
- [กรอกอีเมลและรหัสผ่าน แล้วกด "Create Account"]
- เข้าเมลเพื่อยืนยันตัวตน
- [คลิกเมนู "Account" มุมขวาบน → เลือก "API Keys"]
- [กด "+ Create Key" ตั้งชื่อว่า "binance-futures-research" แล้วกด "Generate"]
- [คัดลอกข้อความยาว ๆ ที่ขึ้นต้นด้วย "td_" นำไปวางใน Notepad เก็บไว้ก่อน]
เสร็จแล้วคุณจะได้รหัสลับยาวประมาณ 50 ตัวอักษร ห้ามหลุดไปในอินเทอร์เน็ตเด็ดขาด
ขั้นตอนที่ 2: ติดตั้งเครื่องมือที่จำเป็น
เปิดโปรแกรมที่ชื่อ "Command Prompt" (Windows) หรือ "Terminal" (Mac) แล้วพิมพ์ทีละบรรทัด:
pip install tardis-client pandas pyarrow requests tqdm
[รอจนเห็นคำว่า "Successfully installed" ทุกบรรทัด ถ้าขึ้น ERROR ให้กดคัดลอกข้อความแดงไปค้น Google]
ขั้นตอนที่ 3: ดาวน์โหลดข้อมูล Tick ด้วย Python
สร้างไฟล์ชื่อ download_trades.py บน Desktop แล้ววางโค้ดนี้:
import os
from tardis_client import TardisClient
from tqdm import tqdm
API_KEY = "วางรหัส td_xxx ของคุณที่นี่"
OUTPUT_DIR = "./raw_trades"
os.makedirs(OUTPUT_DIR, exist_ok=True)
tardis = TardisClient(api_key=API_KEY)
symbols = ["btcusdt", "ethusdt", "solusdt"]
dates = ["2024-09-01", "2024-09-02", "2024-09-03"]
print("กำลังเริ่มดาวน์โหลดข้อมูล Tick...")
for date in tqdm(dates, desc="วันที่"):
for symbol in tqdm(symbols, desc="คู่เหรียญ", leave=False):
try:
messages = tardis.replay(
exchange="binance-futures",
from_date=date,
to_date=date,
filters=[{"channel": "trade", "symbols": [symbol]}],
with_disconnects=False,
)
out_path = os.path.join(OUTPUT_DIR, f"{symbol}_{date}.csv")
with open(out_path, "w", encoding="utf-8") as f:
f.write("timestamp,price,quantity,side\n")
for msg in messages:
for trade in msg.trades if hasattr(msg, "trades") else []:
f.write(f"{
แหล่งข้อมูลที่เกี่ยวข้อง
บทความที่เกี่ยวข้อง