ores.synthetic.market_data_generation_config

Table of Contents

A top-level container that owns one or more typed sub-configurations (FX spot now; vol surface, interest-rate curves later). It is the recipe for how synthetic market data is produced. A collection belongs to the system tenant and its system party, the party the super administrator works in. Every tenant reads it and only the system tenant writes it, because a simulated feed stands for one observation in the world and every party must see the same value. See Generators belong to the system tenant and the system party.

1. Flags

2. Columns

2.1. id

Surrogate UUID uniquely identifying this configuration.

2.2. party_id

The system tenant's system party, which owns every collection. Not a natural key: the system can hold several collections (such as "Basic" and "Realistic" published from different DQ datasets), so no uniqueness is enforced beyond the surrogate id.

ctx.generate_uuid()

2.3. name

Stable name for this configuration, unique per tenant and party.

std::string(faker::word::noun())

2.4. description

Free-text description of the configuration.

std::string(faker::lorem::sentence())

2.5. enabled

Whether the configuration is active and eligible for generation.

faker::datatype::boolean()

2.6. dataset_id

The DQ dataset this container was published from (ores_dq_datasets_tbl.id), if any. Distinguishes containers created by separate publish-from-dq calls for the same (tenant, party) – e.g. "Basic" vs "Realistic" – from a manually-created config, which has no dataset of origin.

std::nullopt

2.7. provider_code

The simulated market data provider this collection stands for (market_data_provider.code), such as bloomberg or ore. Required, so every feed has a provider. Its feeds' source names start synthetic.<provider_code>..

std::string("bloomberg")

3. SQL

3.1. Flags

3.2. Checks

A collection holds a party, the system party for the installation's own. The row-level security policies let every tenant read a collection and let a session write only its own tenant's, which is the system tenant for the installation's.

expression
party_id is not null

4. Validation function

5. Insert trigger

5.1. Validations

column validation_function
provider_code ores_synthetic_validate_market_data_provider_fn

6. C++

6.1. Flags

6.2. Repository

The installation's system collections, their feeds and the provider catalogue ship under the system tenant, and every tenant reads them, which :system_tenant_visible: true states on the repository. The row-level security policy still decides which system rows a tenant sees and who may write them.

6.3. Domain includes

#include <boost/uuid/uuid.hpp>
#include <optional>
#include <string>

6.4. Entity includes

#include <optional>
#include <string>

6.5. Conventions

6.6. Table display

column header
name Name
provider_code Provider
enabled Enabled
description Description
modified_by Modified By
version Version

6.7. Presentation

6.7.1. Detail fields

field label widget type is_key is_required placeholder
name Name nameEdit line_edit   true Enter config name
description Description descriptionEdit line_edit     Enter description
enabled Enabled enabledCheck check_box      
provider_code Provider providerEdit line_edit   true A provider code

6.7.2. Columns

enum_name field header type width formatter formatter_include
Name name Name string 200    
Description description Description string 300    
Provider provider_code Provider string 110    
Enabled enabled Enabled bool 80    
Version version Version int 80    
ModifiedBy modified_by Modified By string 120    
RecordedAt recorded_at Recorded At timestamp 150    

Emacs 29.3 (Org mode 9.6.15)