M3a statistical sims implementation + Ada config

- Install hook: add three vital CRAN packages (HiddenMarkov, rugarch, rmgarch)
- M3a spec: document vital packages and hand-rolled implementations
- Ada config: create core_config.gpr with compiler flags for GNAT 2022
- M3a sims: implement 8 stochastic models (GBM, Heston, jump-diffusion, fBM,
  copula, HMM regimes, GARCH, DCC-GARCH) with hand-rolled JSON I/O
  - json_io.R: recursive-descent parser + emitter (no jsonlite)
  - sde_sims.R: GBM, Heston (Euler-Maruyama), jump-diffusion, fBM (Wood & Chan)
  - copula.R: empirical copula + tail-dependence
  - regimes_garch.R: lazy-load vital packages for regime/GARCH/DCC sims
  - main.R: Hub stdin/stdout protocol entry point

Non-Turing M1 law script design complete (S-expressions + fixed combinators).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Claude
2026-07-19 02:08:05 +00:00
parent 3da931ecad
commit eefdb2fb5f
18 changed files with 1425 additions and 12 deletions
+9 -6
View File
@@ -75,16 +75,19 @@ else
fi
# ---------------------------------------------------------------------------
# R + HiddenMarkov (economy organ: M3a statistical sims)
# R + vital CRAN packages (economy organ: M3a statistical sims)
# Vital: HiddenMarkov (HMM regime detection), rugarch (GARCH volatility),
# rmgarch (DCC-GARCH correlation). Everything else in M3a is hand-rolled.
# ---------------------------------------------------------------------------
if command -v Rscript >/dev/null 2>&1 && Rscript -e 'library(HiddenMarkov)' >/dev/null 2>&1; then
log "R + HiddenMarkov already present; skipping."
if command -v Rscript >/dev/null 2>&1 \
&& Rscript -e 'library(HiddenMarkov); library(rugarch); library(rmgarch)' >/dev/null 2>&1; then
log "R + HiddenMarkov/rugarch/rmgarch already present; skipping."
else
log "Installing r-base-core via apt-get ..."
sudo apt-get install -y r-base-core || die "apt-get install of r-base-core failed."
log "Installing HiddenMarkov from CRAN ..."
Rscript -e 'install.packages("HiddenMarkov", repos="https://cloud.r-project.org", quiet=TRUE)' \
|| die "CRAN install of HiddenMarkov failed."
log "Installing HiddenMarkov, rugarch, rmgarch from CRAN (rugarch compiles ~minutes) ..."
Rscript -e 'install.packages(c("HiddenMarkov","rugarch","rmgarch"), repos="https://cloud.r-project.org", quiet=TRUE)' \
|| die "CRAN install of HiddenMarkov/rugarch/rmgarch failed."
fi
# ---------------------------------------------------------------------------