私は 2023 年から暗号資産のクオント戦略を専業で開発しており、これまでに複数の資金調達率(funding rate)裁定戦略を本番環境で運用してきました。本記事では、Tardis.dev の永続先物ヒストリカル tick データを用いた funding rate arbitrage の回測(バックテスト)について、私が本番で使っているアーキテクチャと、Polars + DuckDB を基盤とする高速バックテスト基盤の実装を紹介します。
さらに、戦略コードの自動生成・最適化に 今すぐ登録で始められる HolySheep AI(DeepSeek V3.2 を 1 ドル = 1 円で提供)を組み合わせ、API コストを 85% 削減した実例も共有します。
向いている人・向いていない人
向いている人
- 永続先物の funding rate を tick 精度で評価したいクオント開発者
- Polars・DuckDB を用いた高速なバックテストパイプラインを自作したい方
- LLM を戦略コードのリファクタリングや分析に活用したい方
- 日本円建てで AI API を直接契約したい方(為替手数料を 85% 削減可能)
向いていない人
- 日足レベルの単純移動平均で売買判断をしたいだけの方
- Tardis の有料プランを契約する意思がない、または無料データのみで完結したい方
- リアルタイム API のみでヒストリカル検証を行いたい方
アーキテクチャ概要
私が本番で運用しているレポジトリは以下のレイヤで構成されています。
- データ取得層:Tardis HTTP API から funding-payments と perpetual_incremental_book_L2 を取得し、Parquet でローカル SSD に保存。
- ストレージ層:DuckDB から直接 Parquet をクエリし、年単位のテラバイト級 tick をノート PC 1 台で扱う。
- 計算層:Polars の Streaming API を用いて、8 時間 window で funding rate を再構築。
- バックテスト層:asyncio によるイベント駆動エンジンで、256 並列のグリッドサーチを実行。
- AI 補助層:HolySheep AI の OpenAI 互換エンドポイントを叩き、DeepSeek V3.2 で戦略最適化コードを生成。
Tardis からのデータ取得
Tardis は binance.perp / bybit / okex などの永続先物について、ミリ秒精度の L2 更新と約定履歴を提供しており、資金調達率の決済イベントも historical に遡って取得できます。
import os
import asyncio
import httpx
from pathlib import Path
import polars as pl
TARDIS_BASE = "https://tardis.dev/v1"
CACHE_DIR = Path("./data/tardis")
CACHE_DIR.mkdir(parents=True, exist_ok=True)
async def fetch_funding_payments(
exchange: str,
symbol: str,
start: str,
end: str,
) -> pl.DataFrame:
cache = CACHE_DIR / f"{exchange}_{symbol}_{start}_{end}.parquet"
if cache.exists():
return pl.read_parquet(cache)
headers = {"Authorization": f"Bearer {os.environ['TARDIS_API_KEY']}"}
async with httpx.AsyncClient(timeout=60.0) as client:
resp = await client.get(
f"{TARDIS_BASE}/funding-payments",
params={"exchange": exchange, "symbol": symbol, "from": start, "to": end