diff --git a/.claude/hooks/install-toolchains.sh b/.claude/hooks/install-toolchains.sh index bd127b8..b9d1ec0 100755 --- a/.claude/hooks/install-toolchains.sh +++ b/.claude/hooks/install-toolchains.sh @@ -75,13 +75,16 @@ else fi # --------------------------------------------------------------------------- -# R + jsonlite (economy organ: M3a statistical sims) +# R + HiddenMarkov (economy organ: M3a statistical sims) # --------------------------------------------------------------------------- -if command -v Rscript >/dev/null 2>&1 && Rscript -e 'library(jsonlite)' >/dev/null 2>&1; then - log "R + jsonlite already present; skipping." +if command -v Rscript >/dev/null 2>&1 && Rscript -e 'library(HiddenMarkov)' >/dev/null 2>&1; then + log "R + HiddenMarkov already present; skipping." else - log "Installing r-base-core r-cran-jsonlite via apt-get ..." - sudo apt-get install -y r-base-core r-cran-jsonlite || die "apt-get install of r-base-core/r-cran-jsonlite failed." + 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." fi # --------------------------------------------------------------------------- diff --git a/core/docs/plans/M3a-statistical-sims.md b/core/docs/plans/M3a-statistical-sims.md index 153caeb..ea4cd82 100644 --- a/core/docs/plans/M3a-statistical-sims.md +++ b/core/docs/plans/M3a-statistical-sims.md @@ -17,10 +17,11 @@ for crypto markets C1. ## 3. Language & location **R 4.x** (apt `r-base-core`) ยท `src/economy/sims/statistical/`. Minimal dependencies: -`r-base-core` + `jsonlite` (Hub JSON protocol). All statistical models โ€” GARCH, Heston SDE, -HMM, DCC, copula, jump-diffusion, fBM โ€” are hand-rolled using base R primitives (`optim`, -`fft`, `arima`, matrix ops). No CRAN statistical packages. Fractional Brownian motion via -spectral methods (Hosking 1984 / Wood & Chan 1994) uses base R `fft()`. +`r-base-core` + `HiddenMarkov` (CRAN โ€” Viterbi filter, forward-backward, Baum-Welch). GARCH, +Heston SDE, DCC, copula, jump-diffusion, and fBM are hand-rolled using base R primitives +(`optim`, `fft`, `arima`, matrix ops). JSON I/O for the Hub stdin/stdout protocol is +hand-rolled. Fractional Brownian motion via spectral methods (Hosking 1984 / Wood & Chan 1994) +uses base R `fft()`. ## 4. Does / does-not - **Does:** run Monte Carlo price simulations (GBM, Merton jump-diffusion, Heston stochastic