Hub now lists Julia, Octave, Fortran, R, Solidity, Haskell, Prolog, Zig. Per sub-spec placement: - Prolog: M3b (logic-based behavioral rules), M3f (consensus logic) - Haskell: M3a, M3b, M3c, M3e, M3f (type-safe pure math) - Zig: M3d, M3g (memory-safe performance, replaces C++) - Octave: filled in where missing (M3b, M3d, M3f, M3g)
7.2 KiB
M3a — Statistical & quantitative sims
1. Component
Pure statistical simulation: Monte Carlo methods, Bayesian inference, time-series forecasting, stochastic volatility, regime detection, and cross-asset correlation. The mathematical backbone — no game theory, no sociology, just the numbers. Operates across six concurrent time horizons (tick/hourly → daily → weekly → monthly → annual → 5-year). Pops in this sim represent stochastic sample paths, not behavioral agents.
2. Status / certainty
DESIGN-FIRST · ABSENT. Core quant methods C5 (GBM, GARCH, ARIMA — textbook). Heston stochastic volatility C5 (closed-form characteristic function; industry standard since 1993). Rough volatility C4 (Gatheral et al. 2018, heavily cited; crypto implementations exist). HMM regime detection C4 (established; crypto-specific copula hybrids emerging 2023–2024). Almgren-Chriss execution C5 (industry standard since 2001). Jump-diffusion C5 (Merton 1976). Parameterization for crypto markets C1.
3. Language & location
TBD · src/economy/sims/statistical/. Julia, R, Fortran, Octave, or Haskell for numerical computing.
Needs efficient matrix operations, SDE solvers, and distribution sampling. Fractional Brownian
motion generation uses spectral methods (Hosking 1984, Wood & Chan 1994) or Cholesky
decomposition of the covariance matrix.
4. Does / does-not
- Does: run Monte Carlo price simulations (GBM, Merton jump-diffusion, Heston stochastic
volatility); model volatility surface via Heston SDE:
dS_t = \mu S_t dt + \sqrt{\nu_t} S_t dW_t^S,d\nu_t = \kappa(\theta - \nu_t)dt + \xi\sqrt{\nu_t} dW_t^\nuwith\text{corr}(dW^S, dW^\nu) = \rho(mean-reversion speed\kappa, long-run variance\theta, vol-of-vol\xi); model rough volatility via fractional Brownian motiondS_t = \mu dt + \sigma_t dB_t^Hwith Hurst exponentH \approx 0.4capturing antipersistent microstructure (Gatheral et al. 2018); detect regime transitions via Hidden Markov Model:r_t | s_t \sim \mathcal{N}(\mu_{s_t}, \sigma^2_{s_t}),s_t \in \{\text{Bull, Neutral, Bear}\}with Viterbi filter updating in <5ms per tick; model cross-asset tail dependence via DCC-GARCH copula hybrid:dQ_t/dt = a \cdot (\bar{S} - Q_t) + b \cdot (\varepsilon_t \varepsilon_t^T - Q_t)with $t$-Copula for fat-tailed spillovers (BTC→alts); Bayesian parameter estimation from live data (M2); time-series forecasting (ARIMA, GARCH for volatility clustering); Value-at-Risk and Expected Shortfall; produce bounded predictions with confidence intervals. - Does-not: model human behavior (M3b does); model protocol mechanics (M3c–M3f do); trade or recommend (Traders do); optimize execution routing (M3g does using our vol estimates).
5. Interface contract
- Implements
query(PredictionQuery) -> BoundedPredictionper M3 hub. - Output bounds: statistical confidence intervals (CI from Monte Carlo), Heston variance
bands (from
\nu_tprocess), rough-vol forecast cones, regime-conditional intervals. - Time-horizon mapping (all run concurrently):
Horizon Primary models Update cadence Tick–hourly Rough vol ( H \approx 0.4), HMM regime filter, realized varianceEvery tick Daily Heston vol surface, GARCH, DCC correlation Every bar close Weekly–monthly Jump-diffusion Monte Carlo, regime-conditional forecasts Hourly roll Annual–5yr SDE mean-reversion long-run \theta, macro regime priorsDaily roll - Examples:
{ value: 1847.30, lower_bound: 1790.15, upper_bound: 1905.60, confidence: 9.50, time_horizon: "24h", sim_type: "statistical" }— 95% CI on ETH price.{ value: 0.72, lower_bound: 0.58, upper_bound: 0.89, confidence: 9.00, time_horizon: "1h", sim_type: "statistical" }— Heston instantaneous vol\sqrt{\nu_t}.{ value: "bear", lower_bound: null, upper_bound: null, confidence: 8.30, time_horizon: "current", sim_type: "statistical" }— HMM regime state. - Prediction types:
price_forecast,volatility_surface,var_calculation,correlation_matrix,regime_state,rough_vol_estimate,jump_intensity. - Calibration: ingests
price_tickanddex_pool_statefrom M2 Data Feeds.
6. Dependencies & stubs
- M2 Data Feeds — price history for calibration; stub: canned price series.
- M3 Sims hub — lifecycle management; stub: manual init.
7. Invariants / laws
- L1 (C5): bounds are statistical confidence intervals — derived from the model's distribution, not hand-picked. Three distinct metrics in every output: confidence (how sure the model is of this prediction), correctness (how accurate the model has been historically), and certainty (how stable the estimate is across perturbations). All on the 0.00–10.00 scale.
- L2 (C5): six time horizons run concurrently — models span multiple horizons (e.g. Monte Carlo runs daily and annual, rough vol runs tick and hourly, Heston runs daily and weekly). All coexist; none blocks the others.
- L3 (C4): model parameters are re-estimated on each calibration from live data — no stale parameters carried across regime changes. Regime transitions trigger immediate re-estimation of conditional parameters.
- L4 (C4): the Heston correlation
\rhobetween price and vol is a fitted parameter, never assumed — crypto assets exhibit leverage effects different from equities. - L5 (C4): rough volatility Hurst exponent
His estimated from realized variance, not fixed —Hvaries across assets and regimes (Gatheral et al. 2018).
8. Build steps
- Implement geometric Brownian motion Monte Carlo (simplest price sim).
- Add GARCH volatility estimation.
- Implement Heston SDE solver (Euler-Maruyama with full truncation for
\nu_t \geq 0). - Add Merton jump-diffusion (Poisson jumps + GBM).
- Implement rough volatility via fractional BM with rolling Hurst estimator.
- Implement HMM regime detector (3-state Viterbi filter).
- Add DCC-GARCH copula for cross-asset correlation.
- Wire M2 price data → Bayesian parameter re-estimation.
- Implement multi-horizon
BoundedPredictionoutput with CIs.
9. Tests
Monte Carlo: N sample paths produce a distribution with correct mean/variance. CI: 95% interval contains true value ≥ 95% of the time on historical backtest. GARCH: volatility clusters detected in synthetic data. Heston: implied vol smile reproduced for known parameters. Rough vol: Hurst exponent recovered from synthetic fBM paths. HMM: regime transitions detected within 15–60s on synthetic regime-switching data. Copula: tail dependence captured (BTC crash → alt crash correlation spike). Jump-diffusion: fat tails reproduced. Calibration: new data shifts parameter estimates. Multi-horizon: all six horizons produce concurrent outputs.
10. Open items
- Heston calibration method (characteristic function inversion? particle filter?).
- Rough vol computational cost (fBM generation is O(N²) naively; FFT methods needed).
- HMM state count (3 sufficient? 4+ for crypto with "mania" regime?).
- Which copula family for tail dependence ($t$-copula? Clayton? Joe?).
- Computational budget per horizon (GPU for Monte Carlo paths?).