|
ORE Studio 0.0.4
|
A single value on a market series at a specific date and tenor point. More...
#include <market_observation.hpp>

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. | |
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.
| 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".
| 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.