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 |