Options Backtester Platform
Overview, architecture, data flow, capabilities, and tech stack for the options backtesting platform.
This document consolidates the options backtester documentation into a single, scrollable page. The materials cover architecture, data flow, core capabilities, and the technology stack. All content is view-only and hosted directly on this site.
This system is designed to run options strategy backtests over historical market data, simulate pricing and risk behavior, and produce performance analytics for decision support. It provides configurable strategy execution, portfolio simulation, optimization and parameter search, and statistical validation workflows, including randomized and out-of-sample testing where configured. Outputs include trade logs, portfolio time series, risk and performance metrics, comparison and optimization summaries, validation results, and exportable datasets suitable for reporting or visualization.
Quick visual

Architecture overview
System context (C4-style)
flowchart LR
user[User / Analyst]
data[Market Data Sources]
files[Local Data Files]
system[Options Backtesting Platform]
outputs[Results, Metrics, Exports]
user --> system
data --> system
files --> system
system --> outputs
Container (C4-style)
flowchart TB
subgraph Platform
ui[Web UI]
api[HTTP API Service]
engine[Backtesting and Simulation Engine]
analytics[Analytics, Optimization, and Validation]
end
subgraph Storage
pricing[Pricing Data Store]
results[Results and Exports Store]
registry[Strategy and Instrument Library]
localdb[Embedded Results Database]
end
user[User / Analyst]
external[External Data Sources]
user --> ui
ui --> api
api --> engine
engine --> analytics
analytics --> results
external --> engine
pricing --> engine
registry --> engine
localdb --> analytics
results --> ui
Component (C4-style)
flowchart TB
subgraph Backtesting Engine
loader[Data Loader]
vol[Volatility Modeling]
pricing[Options Pricing and Greeks]
strategy[Strategy Runner]
portfolio[Portfolio and Trade Manager]
metrics[Metrics and Risk Calculator]
end
subgraph Data Stores
market[Pricing Data Files]
outputs[Results Files]
db[Embedded Test Results Store]
end
loader --> vol
vol --> pricing
pricing --> strategy
strategy --> portfolio
portfolio --> metrics
market --> loader
metrics --> outputs
metrics --> db
High-level API surface
The API surface provides a small set of capabilities for driving workflows and retrieving outputs. At a high level it includes endpoints for data validation, backtest execution, strategy comparison, optimization and parameter sweeps, statistical validation runs, progress and status polling, and export of results to files suitable for reporting or visualization.
Data flow and processing
Data ingest
sequenceDiagram
participant User
participant UI as Web UI
participant API as HTTP API Service
participant Data as Data Layer
participant Store as Local Data Store
participant Source as External Data Source
User->>UI: Request data validation or load
UI->>API: Submit data request
API->>Data: Load or refresh data
Data->>Store: Check local cache
Store-->>Data: Cached data (if available)
Data->>Source: Fetch missing data (if needed)
Source-->>Data: Historical pricing data
Data-->>API: Prepared time series
API-->>UI: Data readiness status
Run backtest
sequenceDiagram
participant User
participant UI as Web UI
participant API as HTTP API Service
participant Engine as Backtesting Engine
participant Strategy as Strategy Runner
participant Pricing as Pricing and Volatility
participant Portfolio as Portfolio Manager
participant Results as Results Store
User->>UI: Start backtest
UI->>API: Submit backtest configuration
API->>Engine: Initialize run
Engine->>Strategy: Evaluate signals
Engine->>Pricing: Price instruments
Engine->>Portfolio: Simulate entries/exits
Engine->>Results: Persist results
API-->>UI: Return metrics and summaries
Compute metrics
sequenceDiagram
participant API as HTTP API Service
participant Engine as Backtesting Engine
participant Metrics as Metrics Calculator
participant Validation as Validation and Testing
participant Results as Results Store
API->>Engine: Request metrics
Engine->>Metrics: Aggregate trades and returns
Metrics->>Validation: Run statistical checks
Validation-->>Metrics: Validation outputs
Metrics->>Results: Store summaries
Engine-->>API: Metrics response
Data flow diagram
flowchart LR
origins[Data Origins]
ingest[Ingestion and Normalization]
storage[Local Data Store]
orchestration[Run Orchestration]
processing[Pricing and Simulation]
metrics[Metrics and Validation]
outputs[Results and Exports]
ui[Web UI and Reports]
origins --> ingest --> storage
storage --> orchestration --> processing --> metrics --> outputs --> ui
Reference diagram

Capabilities
Data
- Load historical pricing data from local files and external sources.
- Validate symbol availability and data coverage.
- Maintain local data cache for repeatable runs.
Strategy
- Execute single-strategy backtests over configurable date ranges.
- Support multi-leg instruments and position direction.
- Run multi-strategy and multi-asset comparisons.
Analysis
- Compute performance, risk, and trade-level metrics.
- Provide portfolio time series for visualization.
- Generate optimization outputs across parameter grids.
Validation
- Run statistical checks including drawdown and risk metrics.
- Perform randomized and out-of-sample validation workflows.
- Produce alpha validation and robustness summaries.
Exports
- Export trades, results, and analyses to tabular files.
- Provide datasets suitable for charts and dashboards.
- Persist optimization and validation outputs for reuse.
Tech stack (generic)
- User interface: A web-based UI for configuration, execution, and visualization of backtests.
- API layer: An HTTP API service exposing high-level operations for backtesting, optimization, validation, and export.
- Computation runtime: A scripting runtime that orchestrates data loading, pricing, strategy evaluation, and metrics generation.
- Data processing: Numerical and tabular processing utilities for time-series calculations, risk metrics, and aggregations.
- Storage: Local file storage for pricing data, results, and exports, plus an embedded database for curated test records.
- Reporting: Exporters that serialize results into portable tabular formats for further analysis or visualization.
Disclaimer: Altus Labs is not authorised or regulated by the Financial Conduct Authority (FCA). Altus Labs is a research publication and this content is provided for informational and educational purposes only. It does not constitute investment advice, a financial promotion, or an invitation to engage in investment activity. See our full disclaimer for more information.