Case Study
Project CHF (Crypto Hedge Fund v2)
9-agent crypto quant pipeline. Best signal hit Rank IC 0.0275, but after walk-forward validation and costs it reports alpha_verified=false.
Executive Summary
Project CHF is a reproducible, leakage-safe crypto research pipeline (frozen v1.0-research-release). It tests whether market and on-chain features can build portfolios that beat BTC, ETH, BTC/ETH 50-50, and equal-weight universes after costs and validation. The headline is a deliberate negative: alpha_verified = false. Source: github.com/priyanshshahh/chf-v2.
Problem & Constraints
A system built to find alpha is easy to fool. CHF is built to reject unsupported claims: surface candidates, force deterministic allocation, apply transaction costs, and compare against four benchmarks before declaring any alpha.
Architecture
UniverseAgent → MarketDataAgent → OnChainAgent → FeatureAgent → LabelAgent → ModelAgent → AlphaResearchAgent → PortfolioAgent → BacktestAgent. Stages communicate only through file artifacts under data/ (Parquet/JSON).
Methodology
- Purged + embargoed walk-forward signal screening with Optuna hyperparameter tuning
- Leakage-safe feature generation and exact forward calendar log-return labels (7/14/30d)
- Deterministic prediction-only portfolio allocation (HRP, Top-K, vol-scaled)
- Transaction-cost-aware backtesting with benchmark sanity checks
- 27 test files, MLflow logging, content-hash reproducibility (
CHF_SEED=42)
Results & Metrics
| Metric | Value |
|---|---|
| Best Rank IC | 0.0275 (t-stat 7.10) |
| Strongest backtest | linear_ridge/market_only/30d: 147.36% return, 0.7521 Sharpe |
| Alpha verified | false (all candidates) |
| Benchmark window | 2022-12-15 → 2026-03-24 |
| BTC benchmark return | 305.50% |
Tech Stack
Python, LightGBM, XGBoost, vectorbt, MLflow, FastAPI, Streamlit, React, Docker, SQLite registry
Future Work
Point-in-time universe construction, SHAP visualization renders, React production build optimization, live paper trading (research only).