# PaperEx v0.8.0 - Table of Contents

Generic, exchange-agnostic paper trading and simulated-execution engine for Elixir. Pure functional core: portfolio state, execution attempts, positions, and orders. No HTTP, no database, no Polymarket dependency.

## Pages

- [PaperEx](readme.md)
- [Changelog](changelog.md)

## Modules

- [PaperEx](PaperEx.md): Generic, exchange-agnostic paper-trading and simulated-execution
engine for Elixir.
- [PaperEx.Adapter](PaperEx.Adapter.md): Behaviour an exchange adapter implements so `PaperEx` can stay
exchange-agnostic.
- [PaperEx.Engine](PaperEx.Engine.md): Pure functional execution engine for `PaperEx`.
- [PaperEx.Execution](PaperEx.Execution.md): A first-class record of an execution attempt.
- [PaperEx.Fill](PaperEx.Fill.md): An atomic fill against a single price level.
- [PaperEx.Instrument](PaperEx.Instrument.md): A normalized exchange-agnostic market identifier.
- [PaperEx.MarketSnapshot](PaperEx.MarketSnapshot.md): A point-in-time normalized order book snapshot.
- [PaperEx.Order](PaperEx.Order.md): A request to buy or sell on a market — input to the engine.
- [PaperEx.Portfolio](PaperEx.Portfolio.md): Top-level container for a paper trading account.
- [PaperEx.Position](PaperEx.Position.md): An open or closed paper position.
- [PaperEx.ReasonCodes](PaperEx.ReasonCodes.md): The bounded set of generic reason-code atoms produced by
`PaperEx.Engine` and the default execution model.
- [PaperEx.Strategy](PaperEx.Strategy.md): Behaviour for paper-trading strategies: pure decision functions
over market + portfolio state.
- [PaperEx.Valuation](PaperEx.Valuation.md): Pure mark-to-market valuation of open positions against caller-
supplied snapshots.

