OpenGamma Strata

repository·main·Indexed 21 days ago

https://github.com/opengamma/strata

An open-source analytics and market risk library providing a modular framework for financial product modeling, market data handling, and risk measurement. It includes specialized modules for calculations (strata-calc), market data (strata-market), financial products (strata-product), and pricing measures (strata-measure). The library supports FpML and CSV data loading and requires Java SE 8u40 or later.

Tokens
3.7K
Snippets
8
Records
27
Agent score
75%

What's inside Strata

  1. Overview of Strata-Measure

    main
    The strata-measure module is the primary API for calculating pricing measures within the Strata ecosystem. It enables the calculation of financial measures—such as present value or par rate—across single or multiple scenarios. Additionally, it provides integration points for the CalculationRunner in the strata-calc module, facilitating measure calculations across mixed portfolios.
  2. Overview of the Strata-Math module

    main

    The strata-math module provides mathematical support specifically designed for the risk and pricing of financial instruments.

    Warning for Developers: This module is primarily intended to be used as internal implementation code. Applications should avoid referencing this module directly, as it may change at any point without guarantees of backwards compatibility.

  3. Overview of Strata-Collect data structures

    main

    The strata-collect module provides a collection of specialized data structures and utility types used throughout the Strata ecosystem. These structures are designed to provide type safety, functional programming capabilities, and common mathematical or temporal representations.

    Key components include:

    • array: Wrappers for arrays and matrices.
    • function: Additional Java SE 8 functional interfaces.
    • io: Utilities for handling common file formats.
    • named: Extended enum implementations.
    • range: Representations of numerical or discrete ranges.
    • result: A wrapper for handling success or failure outcomes (similar to an Either or Result type).
    • timeseries: Structures for holding values that change over time.
    • tuple: Implementations of the 'pair' concept.
    • type: Typed strings used to prevent 'stringly-typed' programming errors.
  4. Overview of the Strata-Product module

    main

    The strata-product module provides the core domain model for financial market trades and products within the Strata ecosystem. It defines the fundamental building blocks used to represent financial instruments and their associated characteristics.

    Key domain concepts included in this module:

    • trades: Representations of executed financial transactions.
    • products: The underlying financial instruments.
    • securities: Specific financial instruments that can be traded.
    • conventions: The market rules and standards applied to products and trades.
    • templates: Reusable definitions for creating products and trades.
  5. Overview of the strata-basics module

    main

    The strata-basics module provides the foundational financial building blocks used across the Strata ecosystem. It implements core domain concepts required for financial modeling and calculations, including:

    • Reference data: Core data entities used for financial definitions.
    • Money and currency: Representations of monetary amounts and their associated currencies.
    • Day counts: Logic for calculating day counts and year fractions.
    • Day rolling: Rules for adjusting dates (e.g., business day conventions).
    • Schedule generation: Tools for creating periodic schedules (e.g., coupon or payment dates).
    • Indices: Support for financial indices.
  6. Overview of the Strata-Market module

    main

    The strata-market module provides the core domain model for market data within the Strata ecosystem. It is used to represent and manage various financial market data structures required for pricing and risk analysis.

    Key domain concepts included in this module:

    • Curves: Yield curves and other interest rate/discount curves.
    • Surfaces: Volatility surfaces and other multi-dimensional market data.
    • Interpolators: Logic for interpolating values between market data points.
    • Identifiers: Unique markers for market instruments and data points.
    • Sensitivity: Representations of Greeks or other risk sensitivities.
    • Amounts: Financial quantities and units.
  7. Overview of Strata modules

    main

    Strata is a modular analytics and market risk library. The project is organized into the following modules:

    • Basics: Core fundamental types and utilities.
    • Calc: Calculation engines and logic.
    • Collect: Collection utilities.
    • Data: Data handling and structures.
    • Examples: Demonstrations of Strata usage (includes a JavaFX GUI).
    • Loader: Data loading capabilities.
    • Market: Market data representations.
    • Measure: Analytics and measurement logic (core module).
    • Pricer: Pricing engines.
    • Product: Financial product definitions.
    • Report: Reporting capabilities.