Reference documentation
This is the home page for reference documentation about Strata, the open source market risk library from OpenGamma.
Concepts
The following documentation introduces the core concepts of the system:
Modules
The Strata codebase consists of a number of modules. Detailed reference documentation on each module will expand over time.
Full documentation of the API is available in the Javadoc.
Note that any package with impl
in the name is considered to be an implementation detail.
Collect module
The strata-collect
module provides a standard library for collections and utilities to support the rest of Strata.
The module builds on Guava, Google’s high quality library of Java essentials.
The collect module adds features in a number of areas:
- Extended enums - provides support for
enum
-like data structures that are loaded at startup - Functions - additional Java SE 8 functional interfaces
- Ranges - ranges of values
- Result - functional result model
- Time-Series - a series of values over time
- Tuple - pair and triple
- Validate - general utility classes
Basics module
The strata-basics
module provides basic concepts used in finance, primarily in the area of
reference data.
For more information, see the following guides:
- Holidays - to determine if a date is a working day or a holiday
- Date adjustments - adjusting dates relative to holidays
- Schedules - building periodic schedules
- Value adjustments - adjusting values relative to a schedule
- Day counts - converting date-based periods to numeric year fractions
Product module
The strata-product
module contains the main domain model,
defining instruments such as interest rate swaps, FRAs and futures.
For more information, see the following guides:
- Swap - Swaps (Fixed, Ibor, Overnight, Inflation)
- FRA - Forward Rate Agreements
- Swaption - Options on swaps
- FX Forward/Spot - FX Forward and FX spot
- FX Swap - FX Swap
- FX Vanilla Option - FX Vanilla Option
- Term Deposit - Fixed rate deposits
- Bullet Payment - Unidirectional one-off payments
- See also the product coverage page
Data module
The strata-data
module provides market data containers.
Both single-scenario and multi-scenario containers are available.
Market module
The strata-market
module includes the representations of the market, including curves and surfaces.
Loader module
The strata-loader
module provides the ability to load
products and market data from files.
This includes an FpML loader for products.
Pricer module
The strata-pricer
module provides standard analytics for pricing and risk calculations on financial instruments.
This depends on the strata-math
module, which is intended to be an implementation detail.
Calculation module
The strata-calc
module provides a calculation runner
capable of calculating risk analytics.
Given a list of trades and some configuration parameters, it will determine what market data is needed,
obtain it from a source, perform any necessary calibration, and calculate the desired results.
Measure module
The strata-measure
module enables applications to calculate high-level measures, such as PV and PV01.
Access is provided directly and via the Calculation API of strata-calc
.
Report module
The strata-report
module provides a small framework for reporting on the results of calculations.
A tool provides the ability to use a report template to drive the calculations necessary to produce a simple report.