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

Logical aggregation node for risk and reporting. More...

#include <portfolio.hpp>

Collaboration diagram for portfolio:
Collaboration graph

Public Attributes

int version = 0
 Version number for optimistic locking and change tracking.
 
std::string tenant_id
 Tenant identifier for multi-tenancy isolation.
 
boost::uuids::uuid id
 UUID uniquely identifying this portfolio.
 
boost::uuids::uuid party_id
 Party that owns this portfolio.
 
std::string name
 Human-readable name for the portfolio.
 
std::string description
 Optional free-text description of the portfolio.
 
std::optional< boost::uuids::uuid > parent_portfolio_id
 Self-referencing FK. NULL indicates a root node.
 
std::optional< boost::uuids::uuid > owner_unit_id
 Business unit responsible for management.
 
std::string purpose_type
 Portfolio purpose classification.
 
std::string aggregation_ccy
 Currency for P&L/risk aggregation at this node.
 
int is_virtual
 If 1, node is purely for on-demand reporting.
 
std::string status
 Current lifecycle status (Active, Inactive, Closed).
 
std::string modified_by
 Username of the person who last modified this portfolio.
 
std::string performed_by
 Username of the account that performed this action.
 
std::string change_reason_code
 Code identifying the reason for the change.
 
std::string change_commentary
 Free-text commentary explaining the change.
 
std::chrono::system_clock::time_point recorded_at
 Timestamp when this version of the record was recorded.
 

Detailed Description

Logical aggregation node for risk and reporting.

Represents organizational, risk, or reporting groupings. Never holds trades directly. Supports hierarchical structure via self-referencing parent_portfolio_id.

Member Data Documentation

◆ id

boost::uuids::uuid id

UUID uniquely identifying this portfolio.

Surrogate key for the portfolio record.

◆ party_id

boost::uuids::uuid party_id

Party that owns this portfolio.

Set server-side from the authenticated session. Enforced by RLS.

◆ name

std::string name

Human-readable name for the portfolio.

e.g., 'Global Rates', 'APAC Credit'.

◆ parent_portfolio_id

std::optional<boost::uuids::uuid> parent_portfolio_id

Self-referencing FK. NULL indicates a root node.

Links to the parent portfolio in the hierarchy.

◆ owner_unit_id

std::optional<boost::uuids::uuid> owner_unit_id

Business unit responsible for management.

References the business_units table.

◆ purpose_type

std::string purpose_type

Portfolio purpose classification.

References purpose_types lookup (Risk, Regulatory, ClientReporting, Internal).

◆ aggregation_ccy

std::string aggregation_ccy

Currency for P&L/risk aggregation at this node.

ISO 4217 currency code.

◆ is_virtual

int is_virtual

If 1, node is purely for on-demand reporting.

Not persisted in trade attribution when virtual.

◆ change_reason_code

std::string change_reason_code

Code identifying the reason for the change.

References change_reasons table (soft FK).