ORE Studio 0.0.4
Loading...
Searching...
No Matches
Public Attributes | List of all members
market_observation Struct Referencefinal

A single value on a market series at a specific date and tenor point. More...

#include <market_observation.hpp>

Collaboration diagram for market_observation:
Collaboration graph

Public Attributes

boost::uuids::uuid id {}
 Unique identifier for this observation row.
 
utility::uuid::tenant_id tenant_id = utility::uuid::tenant_id::system()
 Tenant identifier for multi-tenancy isolation.
 
boost::uuids::uuid series_id {}
 Foreign key to the parent market_series.
 
std::chrono::year_month_day observation_date
 Financial valid-time: the date the market was observed.
 
std::optional< std::string > point_id
 Tenor or surface coordinate for term structure series.
 
std::string value
 The observed market value as a string (e.g. "0.034567").
 
std::optional< std::string > source
 Optional data source identifier (e.g. "BLOOMBERG", "REUTERS").
 
std::chrono::system_clock::time_point recorded_at
 Transaction time: when this row was inserted into the system.
 

Detailed Description

A single value on a market series at a specific date and tenor point.

Observations are the time-series data points for a market_series. Each row records the value of the series at a given observation_date and (for term structures) a specific point_id (tenor, surface coordinate).

Stored in a TimescaleDB hypertable partitioned by observation_date. Corrections are handled by the insert trigger: inserting a new value for the same (series, date, point) closes the previous row and creates a fresh one, preserving full transaction-time history.

Member Data Documentation

◆ point_id

std::optional<std::string> point_id

Tenor or surface coordinate for term structure series.

Null for scalar series (e.g. FX spot, equity spot price). For curves: "1Y", "5Y", "6M". For 2-D surfaces: "1Y/ATM", "5Y/2Y/ATM", "6M/25RR".

◆ recorded_at

std::chrono::system_clock::time_point recorded_at

Transaction time: when this row was inserted into the system.

Maps to valid_from in the database; valid_to is managed internally.