Profile: Trading instrument

Table of Contents

This page is a named element-scope MASD profile instantiating ORE Studio Variability Model § "Profiles: naming a recurring configuration point". A model file binds to this profile (rather than authoring each feature individually) to guarantee the exact feature combination below, with no ad hoc variation.

Purpose

Models a flat ORE trading instrument sub-type: a single-row instrument record with an identity group (instrument_id, trade_type_code, party_id, trade_id), an audit group, and the instrument's own flat payoff/term fields, scoped to both tenant and workspace (instruments are curated per trading desk/workspace). Party is stamped from the session GUC; the trade type is validated at insert time against the trade-types lookup. No Qt surface — the per-instrument forms are hand-crafted in ores.qt and consume the generated messaging protocol. Discovered as a genuine recurring combination across the port-trading-instruments-to-codegen conversion work: 11 converted instruments (equity_position, fx_forward, equity_forward, fx_accumulator, fx_vanilla_option, fx_variance_swap, equity_swap, equity_variance_swap, fx_barrier_option, fx_digital_option, fx_asian_forward) share this exact configuration, which is the bar this catalogue sets for naming a profile rather than leaving it as unremarked repetition.

Reference entity

equity_position_instrument — the pilot conversion (PR #1857) that established the instrument model shape: identity group, audit group, batch read, generator facet, and the per-entity NATS eventing facet.

Assignments

One row per feature this profile fixes a value for — any feature not listed here is left to the model's own choice. Feature names are literal — exactly what ORE Studio Variability Model documents them as, so this table can be read directly by whatever eventually resolves :profile: bindings, with no translation layer:

Feature Value
has_tenant_id true
has_workspace_id true
party_id_from_session true

See also

Emacs 29.3 (Org mode 9.6.15)