Options Backtester Platform

Overview, architecture, data flow, capabilities, and tech stack for the options backtesting platform.

5 min read
By Altus Labs
Technology ResearchTechnology ResearchOptionsBacktestingSoftware

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

Workflow architecture

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

Data flow 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.