Versions in this module Expand all Collapse all v1 v1.0.0 Jun 16, 2026 Changes in this version + type AccountResultSummary struct + AccountID model.AccountID + Fills []model.FillReport + Orders []model.OrderStatusReport + Positions []model.PositionStatusReport + type Catalog interface + Events func(context.Context) ([]Event, error) + type Config struct + Bus *bus.Bus + Cache *cache.Cache + DataCatalog data.Catalog + Events []Event + ExecutionEngine *execution.Engine + FillModel FillModel + Logger *slog.Logger + OrderLatency time.Duration + Portfolio *portfolio.Portfolio + Strategies []strategy.Strategy + type Engine struct + func NewEngine(cfg EngineConfig) *Engine + func (e *Engine) AddData(event Event) + func (e *Engine) AddStrategy(strategy strategy.Strategy) + func (e *Engine) Run(ctx context.Context) (Result, error) + type EngineConfig struct + Bus *bus.Bus + Catalog Catalog + DataCatalog data.ReplayCatalog + type Event struct + At time.Time + Message any + Topic string + type FillContext struct + Instrument model.Instrument + LimitTouch bool + Order model.OrderStatusReport + Price decimal.Decimal + Quantity decimal.Decimal + Source FillSource + Taker bool + Timestamp time.Time + type FillModel interface + ApplySlippage func(FillContext, decimal.Decimal) decimal.Decimal + ShouldFillLimitTouch func(FillContext) bool + type FillModelConfig struct + ProbFillOnLimit float64 + ProbFillOnLimitSet bool + ProbSlippage float64 + RandomSeed int64 + type FillSource string + const FillSourceBar + const FillSourceOrderBook + const FillSourceQuoteTick + const FillSourceTicker + const FillSourceTradeTick + type Match struct + Price decimal.Decimal + Quantity decimal.Decimal + Source FillSource + Timestamp time.Time + type MatchingCore struct + func NewMatchingCore(cfg MatchingCoreConfig) *MatchingCore + func (c *MatchingCore) MatchOrderBook(req OrderBookMatchRequest) []Match + type MatchingCoreConfig struct + FillModel FillModel + Instrument model.Instrument + type MemoryCatalog struct + func NewMemoryCatalog(events ...Event) *MemoryCatalog + func (c *MemoryCatalog) Add(event Event) + func (c *MemoryCatalog) Events(context.Context) ([]Event, error) + type OrderBookMatchRequest struct + Book model.OrderBook + Consumed map[string]decimal.Decimal + MaxQuantity decimal.Decimal + Order model.OrderStatusReport + type ProbabilisticFillModel struct + func DefaultFillModel() *ProbabilisticFillModel + func NewFillModel(cfg FillModelConfig) (*ProbabilisticFillModel, error) + func (m *ProbabilisticFillModel) ApplySlippage(ctx FillContext, price decimal.Decimal) decimal.Decimal + func (m *ProbabilisticFillModel) ShouldFillLimitTouch(ctx FillContext) bool + type Result struct + AccountIDs []model.AccountID + Cache *cache.Cache + EventsProcessed int + Execution execution.Health + Portfolio *portfolio.Portfolio + func (r Result) DeterministicJSON(accountIDs ...model.AccountID) ([]byte, error) + func (r Result) Summary(accountIDs ...model.AccountID) ResultSummary + type ResultSummary struct + Accounts []AccountResultSummary + EventsProcessed int + type Runner struct + func NewRunner(cfg Config) *Runner + func (r *Runner) Run(ctx context.Context) (Result, error)