Story: Model market data cuts as proper ORE Studio reference data
Table of Contents
This page documents a story in Product backlog — next. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
A "cut" identifies which time-of-day market data snapshot is used for
official valuation (e.g. "NY 10am", "London 4pm"). It's referenced
conceptually across the codebase (see
Pricing Configuration) but has no domain model anywhere — no entity,
no table, no FK target. Currency pair support in reference data needs a
default_cut_code on its currency_pair entity and, rather than leave
it as unvalidated free text, splits proper cut modelling off into this
story: a small lookup entity (code, name, description, cut time,
timezone) that currency_pair and anything else needing a cut can
soft-FK against.
The concept behind the word is in Cuts, the structure note that gathers the market data component, the deal component and the expiry sense this story's cut time belongs to. That note also states what this story does not cover: a cut as the whole fixed world a valuation runs against, with its own authorisation and version. This story designs the cut time as reference data and nothing more.
2. Status
| Field | Value |
|---|---|
| State | BACKLOG |
| Parent sprint | Product backlog — next |
| Now | Not yet started. |
| Waiting on | Nothing. |
| Next | Break the story into tasks. |
| Last touched | 2026-07-04 |
3. Acceptance
[ ]Amarket_data_cut(or similarly named) lookup entity exists — same shape asbusiness_day_convention_type=/=currency_pair_classification(code, name, description, display_order), plus cut-specific attributes (cut time, timezone).[ ]currency_pairgets adefault_cut_codefield (soft or hard FK to the new entity) added by this story — it does not exist oncurrency_pairtoday. It was dropped entirely from that entity's design rather than kept as interim free text, since nothing currently consumes it; add it back here once there's something to FK against.[ ]Any other cut-code field discovered along the way is migrated onto the same FK.[ ]Qt CRUD screens exist for the new entity, following the standard aux-type pattern.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|