Conventions journeys
Table of Contents
A convention is the set of market terms an instrument is built on: the day count, the calendars, the payment frequency, the index, and whatever else the instrument family fixes before a trade exists. There are 26 convention kinds, one per instrument family, from the deposit convention up to the cross-currency basis swap. Each kind is its own table with its own term columns, and no two kinds carry the same ones.
ACME holds 10,991 convention rows across those 26 kinds. 2,155 belong to
each of the five parties and 216 are held once for the tenant. The rows did
not arrive by hand. 25 of the 26 kinds arrived from a data quality publish:
24 on refdata.v1.ops.publish_conventions_from_dq for the dataset ORE
Instrument Conventions, and currency_pair on its own subject and its own
dataset. The 26th, tenor, has no DQ route at all — there is no
ores_dq_tenor_conventions_artefact_tbl — and its 4 rows are copied from the
system tenant when the tenant is created.
1. The lifecycle these journeys cover
Five journeys cover the life of these rows, and the order below is the order the life takes.
- A party is provisioned. Its conventions arrive inside that run, as the first
member of the
party_essentialsbundle: 2,155 rows for the party, and 33 rows the tenant already held. - A curated correction is published. That path exists and cannot carry a correction to a tenant that already holds the row for 25 of the 26 kinds.
- A person asks what a run will read. Today no answer exists: there is no default marker on any kind, no name column to look a document up by, and the conventions configuration a report binds carries no rows.
- A person changes one convention of one kind. The change reaches every run of the party, because the export reads the party's whole document and not the bound configuration.
- A person authors a term set no curated document states.
Only the third and the fifth are reachable today with what the server offers. The first two are real lifecycle steps that the tree already performs. The fourth cannot be finished: choosing a different document for a kind has nowhere to be written, because no default exists.
2. Journeys
| Journey | Actor | Gist |
|---|---|---|
| Onboard a party and verify its conventions | tenant administrator | Read that the conventions arrive inside provisioning and not as a manual fill, verify the party's 2,155 rows against the tenant's 216, and mark a party the bundle never reached |
| Publish conventions from data quality | data quality operator, tenant administrator | Publish the curated dataset into a tenant: 25 of 26 kinds covered, the tenor exception, why 33 rows are skipped on every party after the first, and that a re-publish does not carry a corrected row |
| See the conventions a party uses | market risk, trading desk, tenant administrator | What terms the next run reads, kind by kind — and the three reasons it cannot be answered: no default, no name, and a configuration that holds nothing |
| Change the convention a party uses for one kind | operations, tenant administrator | Correct one document, or choose a different one, and read the reach: every definition of the party, not the ones bound to the configuration |
| Author a convention for a kind | market risk, tenant administrator, operations | Terms no curated document states, written as a new row with a precondition and a change reason, and the bitemporal record it leaves |
| Find a convention by its terms | market risk, trading desk, operations, tenant administrator | Which document of a kind states these terms, or the fact that none does, after a search that read every row |
| Name a convention set | market risk owner, tenant administrator | A set with a name, a purpose and a description, one document for each kind it covers, and a request that waits for Market Risk |
| Retire a convention | operations, tenant administrator | Close a document a run should stop reading, after reading what depends on it |
| Decide a convention change | market risk approver | Read a requested change beside the terms it replaces, and approve or decline it |
The four journeys after the first five are the management journeys: finding a document by its terms, naming a set, retiring a document and deciding a change. The search is a step that three of the first five journeys name as a gap. The request and its decision are the control that the controls note requires and no request kind exists for. None of the four is reachable today with what the server offers.
The three reading journeys are cheap to build: the rows are stored, the lists are generated and the histories exist. The two that change something are not, and each says in its own What is missing which server gap stops it. The default marker is the one gap that blocks more than one journey.
3. Where the 25 and the 1 come from
| Route | Kinds | Subject | Bundle and scope |
|---|---|---|---|
| the 24-kind array | 24 | refdata.v1.ops.publish_conventions_from_dq |
party_essentials, once per party |
| currency pair | 1 | refdata.v1.ops.publish_currency_pair_conventions_from_dq |
base, once per tenant |
| none | 1 (tenor) |
— | copied by ores_iam_provision_tenant_fn |
Four kinds carry no party_id column and are held once for the tenant:
currency_pair 179 rows, overnight_index 23, ibor_index 10 and tenor 4.
Two of those four are in the 24-kind array, which is why a publish reports
records_skipped 33 on every party after the first.
4. A convention is a lookup that other records point at
A person starts from the instrument they want to trade, never from the entity name, and most of a convention's fields are picks from the reference data lists the classifications journey maintains, so a convention references those lists and never edits them. But no other record points at a convention today: a trade carries its scheduling terms inline, and a report binds a conventions configuration whose contents are empty. So a convention is referenced by the conventions file a run exports, which names every document the party holds, and by nothing finer than that.
5. Related
- Classifications — the lists a convention picks from
- Tenors — how the tenors a convention names resolve
- Calendars — the calendars a convention names
- Reporting journeys — the runs that read the conventions file
- User Journeys
6. See also
- User Journey Extraction Standard — the checklist these journeys are written against
- Document type: user_journey — the eleven sections each page fills
- DQ artefacts — the staged table, the dataset, the artefact type and the publish contract
- Provisioning operations and the plan — the bundle a starting point publishes per party
- Name the convention sets a report chooses — the decision that conventions are named sets, and the gaps that block choosing one
- Create a report and Change what a report runs — the choosing surface: one page of named sets, and the link out to the authoring UX, which is deferred