feat: creative alpha models + portfolio layer targeting Sharpe > 1.5

New strategies:
  - Cross-Sectional Momentum: long top-N, short bottom-N across HL universe
  - Spot-Perp Basis Arbitrage: delta-neutral spot vs perp price gap trading
  - Regime-Switching Ensemble: dynamically allocates strategies by market regime
  - Portfolio Construction: risk parity, vol targeting, correlation penalty

Infrastructure:
  - DuckDBDataProvider: real tick/candle data for backtests (replaces synthetic)
  - Walk-Forward Validation: systematic IS/OOS across all 12 strategies
  - 3 Jupyter research notebooks (EDA, strategy research, portfolio)

Pipeline integration:
  - deploy.py registry, sweep_runner, vbt_runner all updated
  - fee_tiers support for new strategies
  - All modules syntax-validated and import-tested
This commit is contained in:
ramseshk
2026-08-12 12:26:29 +08:00
parent d967301834
commit 0446443d36
14 changed files with 3942 additions and 10 deletions
+12 -9
View File
@@ -31,15 +31,18 @@ RESULTS_DIR = Path(project_root) / "backtests" / "results"
# ── Sweep config ────────────────────────────────────────────
STRATEGIES = {
"pairs": {"coins": ["BTC", "ETH"], "fee_model": "taker"},
"hurst_vpin": {"coins": ["BTC"], "fee_model": "taker"},
"as_mm": {"coins": ["BTC"], "fee_model": "maker"},
"obi": {"coins": ["BTC"], "fee_model": "taker"},
"grid_mm": {"coins": ["BTC"], "fee_model": "maker"},
"composite_mm": {"coins": ["BTC"], "fee_model": "maker"},
"iceberg": {"coins": ["BTC"], "fee_model": "taker"},
"momentum": {"coins": ["BTC"], "fee_model": "taker"},
"mean_rev": {"coins": ["BTC"], "fee_model": "taker"},
"pairs": {"coins": ["BTC", "ETH"], "fee_model": "taker"},
"hurst_vpin": {"coins": ["BTC"], "fee_model": "taker"},
"as_mm": {"coins": ["BTC"], "fee_model": "maker"},
"obi": {"coins": ["BTC"], "fee_model": "taker"},
"grid_mm": {"coins": ["BTC"], "fee_model": "maker"},
"composite_mm": {"coins": ["BTC"], "fee_model": "maker"},
"iceberg": {"coins": ["BTC"], "fee_model": "taker"},
"momentum": {"coins": ["BTC"], "fee_model": "taker"},
"mean_rev": {"coins": ["BTC"], "fee_model": "taker"},
"cross_sectional": {"coins": ["BTC","ETH","SOL","HYPE","ARB","OP"], "fee_model": "taker"},
"spot_perp_basis": {"coins": ["BTC"], "fee_model": "taker"},
"regime_ensemble": {"coins": ["BTC"], "fee_model": "taker"},
}
INTERVALS = ["1m", "5m", "15m", "1h", "4h", "1d"]