ORE Studio 0.0.4
Loading...
Searching...
No Matches
ORE Studio

ORE Studio is a graphical wrapper around Acadia's Open Source Risk Engine (ORE), which itself is built on top of QuantLib. This open-source project has no affiliation whatsoever with Acadia, ORE, or QuantLib.

Overview

Understanding ORE Studio requires at least a basic familiarity with both QuantLib and ORE. The following summaries are taken directly from their own project descriptions.

QuantLib

QuantLib describes itself as:

‍The QuantLib project (https://www.quantlib.org) is aimed at providing a comprehensive software framework for quantitative finance. QuantLib is a free/open-source library for modeling, trading, and risk management in real-life.

Open Source Risk Engine (ORE)

ORE provides the following description:

‍The Open Source Risk project (https://www.opensourcerisk.org) aims at establishing a transparent peer-reviewed framework for pricing and risk analysis that can serve as:

  • a benchmarking, validation, training, teaching reference
  • an extensible foundation for tailored risk solutions

Open Source Risk Engine (ORE) provides:

  • contemporary risk analytics and value adjustments (XVAs)
  • interfaces for trade/market data and system configuration (API and XML)
  • simple application launchers in Excel, LibreOffice, Python, Jupyter
  • various examples demonstrating typical use cases
  • comprehensive test suites

ORE is based on QuantLib and extends it with simulation models, financial instruments, and pricing engines.

ORE Studio Goals

ORE Studio extends ORE with additional capabilities:

  • Persistent Storage: PostgreSQL database with temporal versioning for inputs and outputs, supporting full CRUD operations
  • Graphical Interface: Qt 6-based desktop application with MDI interface for visual data creation and exploration
  • Import/Export: Command-line tools for bulk operations with JSON, XML, and CSV formats
  • Client-Server Architecture: SSL/TLS secured binary protocol for multi-client access
  • Orchestration Tools: Configuration and execution management for ORE workflows

Architecture

ORE Studio is a C++23 application built on a layered architecture. The system is organized into nine components across five layers:

For a visual representation of the system architecture and component dependencies, see the system diagram at projects/modeling/ores.puml. Each component has its own class diagram showing detailed internal structure.

For architectural details, see the ores namespace documentation.

Key Features

Data Management

  • Temporal database with version history tracking
  • ORE XML native format support for interoperability
  • JSON and CSV export for data analysis
  • Full CRUD operations through GUI and CLI

Security & Authentication

  • Scrypt-based password hashing
  • Account locking after failed login attempts
  • SSL/TLS encrypted client-server communication
  • Feature flags for runtime capability control

Development

  • Comprehensive test coverage with Catch2
  • Database isolation for parallel test execution
  • PlantUML component diagrams for architecture documentation
  • CMake build system with vcpkg dependency management

Quick Start

Explore Components

Start with these key namespaces:

Build System

  • Configure: cmake --preset linux-clang-debug
  • Build: cmake --build --preset linux-clang-debug
  • Run tests: cmake --build --preset linux-clang-release --target rat
  • Generate diagrams: cmake --build --preset linux-clang-debug --target mad

See CLAUDE.md in the repository root for detailed build instructions and development guidelines.

Resources

Further Documentation

  • API Documentation: This Doxygen site
  • Architecture: Component diagrams in projects/COMPONENT/modeling/ directories
  • System Overview: projects/modeling/ores.puml
  • Developer Guide: CLAUDE.md in repository root

Project Links

Related Projects