# risk_engine v0.1.0 - Table of Contents

> A real-time portfolio risk engine built on OTP: ingests trades, tracks per-portfolio cash exposure, volatility, and drawdown, and broadcasts risk snapshots and threshold alerts over Phoenix.PubSub.

## Pages

- [RiskEngine](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- [RiskEngine](RiskEngine.md): Top-level namespace for the Risk Engine application.
- [RiskEngine.Application](RiskEngine.Application.md): OTP application callback module.
- [RiskEngine.Portfolio](RiskEngine.Portfolio.md): Client API for interacting with a portfolio process.
- [RiskEngine.Portfolio.Server](RiskEngine.Portfolio.Server.md): `GenServer` callbacks for portfolio state management.
- [RiskEngine.PortfolioSupervisor](RiskEngine.PortfolioSupervisor.md): `DynamicSupervisor` that starts and supervises `RiskEngine.Portfolio`
processes on demand — one per portfolio id.
- [RiskEngine.RiskBroadcaster](RiskEngine.RiskBroadcaster.md): Owns the PubSub topics, alert thresholds, and broadcasting logic for
portfolio risk events.
- [RiskEngine.RiskCalculator](RiskEngine.RiskCalculator.md): Pure risk math — no process, no state, no side effects.
- [RiskEngine.Simulator](RiskEngine.Simulator.md): Generates a steady stream of random trades so the risk engine has data to
process without a real market feed.
- [RiskEngine.TradeIngestion](RiskEngine.TradeIngestion.md): Single entry point for feeding trades into the risk engine.

