Algostream_risk_management.MonitorRisk Monitor — top-level facade aggregating drawdown + circuit breaker + correlation breakdown + exposures + VaR + risk-limit breach detection.
Strategies hold a Monitor.t alongside their Portfolio, and feed it the latest snapshot + recent returns + any updated pair correlations on each tick or bar. The Monitor publishes a fresh Risk_snapshot.t via Atomic.set on each update so other Domains read race-free.
module Portfolio = Algostream_domain_portfolio.Portfoliomodule Garch11 = Algostream_advanced_models.Garch11val create :
limits:Risk_limits.t ->
circuit_config:Circuit_breaker.config ->
?initial_equity:float ->
unit ->
tval update :
t ->
portfolio:Portfolio.portfolio ->
returns:float array ->
?correlation_updates:(string * string * float) list ->
?garch:Garch11.t ->
ts_ns:int64 ->
unit ->
Risk_snapshot.tIngest a portfolio snapshot + recent returns + optional correlation feed + optional GARCH state. Recomputes VaR / drawdown / exposures / circuit / correlation status, publishes a fresh Risk_snapshot.t, and returns the same snapshot.
val snapshot : t -> Risk_snapshot.tval snapshot_atomic : t -> Risk_snapshot.t Stdlib.Atomic.tval circuit_breaker_state : t -> Circuit_breaker.stateval reset_circuit : t -> ts_ns:int64 -> unitval realized_vol : t -> floatLast realized volatility computed during update (sample stddev of returns). Feeds Proprietary_models.compute_score.