Horizon v1 β Causal Financial World Model
The first causal world model for financial markets achieving Pearl Level 3 (counterfactual reasoning).
What This Model Does
Generate realistic multi-asset market scenarios from natural language descriptions:
from horizon.inference.scenario_engine import ScenarioEngine
engine = ScenarioEngine.from_checkpoint("model.pt")
result = engine.generate(
description="RBI cuts repo rate by 50bp amid slowing growth",
instruments=["NIFTY50", "BANKNIFTY", "HDFCBANK", "INFY", "TATASTEEL"],
n_scenarios=1000,
horizon_days=21,
)
# result.paths: (1000, 21, 5) daily log-returns
# result.prices: (1000, 22, 5) price paths
# result.var_95, result.expected_shortfall_95
Architecture
- Base: Diffusion Transformer (DiT-1D), 172M parameters
- d_model=768, 16 axial attention blocks, 12 heads
- Alternating time-axis / asset-axis attention
- adaLN-Zero conditioning + cross-attention to event tokens
- Causal Layer: Backdoor-adjusted guidance with explicit causal graph
- 14 market nodes, 18 directed edges
- Per-channel guidance masking (prevents placebo bleed)
- Empirical calibration from 42 RBI rate events
- Counterfactual: DDIM inversion (100-step, 0.975 roundtrip correlation)
- NL Interface: 3-tier parser (regex β LLM β heuristic)
Key Results
CausalFinBench (Novel Benchmark)
| Tier | Tests | Result |
|---|---|---|
| A: World Properties | 5/5 | Consistency, Asymmetry, Compositionality, CF Coherence, Robustness |
| B: Causal Validity | 3/3 | Placebo 100%, Real effects 100%, Sensitivity monotonic |
| C: Natural Experiments | 1/1 | 42/42 RBI rate decisions β 100% direction match |
Calibration
| Intervention | Model Effect | Historical Actual |
|---|---|---|
| RBI rate cut | +0.40% | +0.41% (2.4% error) |
| RBI rate hike | -0.31% | -0.35% |
| India VIX spike | -0.72% | β |
| FII selling | -0.49% | β |
| Global risk-off | -0.44% | β |
Pearl's Causal Ladder
- Level 1 (Association): Base DiT generates statistically valid paths
- Level 2 (Intervention): do-operator via causal graph surgery + guided sampling
- Level 3 (Counterfactual): DDIM inversion + action + prediction (verified on June 4, 2024 election)
Training Data
- 50 Nifty50 constituents Γ 26 years (2000-2026)
- 1.05M real news headlines from QLake
- 48 macro series (repo rate, CPI, VIX, yields, commodities, FX)
- 317,650 training windows
World Model Properties (5/5 PASS)
- Consistency: Same intervention + same noise β identical output
- Causal Asymmetry: do(rate_cut) β do(nifty_rally) β different mechanisms (corr=0.47)
- Compositionality: Combined interventions produce combined effects (56% of linear sum)
- Counterfactual Coherence: Inversion roundtrip at 0.975 correlation
- Robustness: Extreme interventions (Β±10Ο) remain finite and reasonable
Limitations
- 5 instruments per call (can generate correlated paths for any 5 Nifty50 stocks)
- Causal graph is hand-specified (not learned from data)
- Magnitude calibration fitted from historical events β may not generalize to unprecedented scenarios
- NL understanding via external parsing β model itself does not natively understand text (v2 will fix this)
- No options/derivatives pricing (equity paths only)
Usage Requirements
- PyTorch >= 2.0
- ~700MB disk for checkpoint
- GPU recommended for inference (<30s on A100 for 1000 paths)
- CPU inference: ~20 minutes for 1000 paths
Citation
@software{horizon_v1_2026,
title={Horizon: A Causal Financial World Model for Indian Markets},
author={QuantHive Research},
year={2026},
url={https://huggingface.co/QuantHive-Research-Tech/horizon-v1}
}
License
Apache 2.0
- Downloads last month
- 52
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support