Currency pair and currency entity fields
Table of Contents
Summary
This is the data-model reference for currency pairs as a first-class
reference-data entity: the fields a currency_pair record needs to carry
the conventions described elsewhere in this cluster (base/quote, spot
days, pip factor, deliverability, classification, cut code), plus the
currency-level attributes that feed into pair construction. It exists to
ground the later domain/db/codegen task in a single concrete field list
rather than re-deriving it from prose each time.
Detail
Currency pair fields
| Field | Description |
|---|---|
pair_code |
Canonical code (e.g. EUR/USD, USD/JPY), always in base/quote order |
base_currency |
ISO 4217 code of the base (CCY1) |
quote_currency |
ISO 4217 code of the quote (CCY2) |
spot_days |
max(spot_days(base), spot_days(quote)); used to compute the spot date |
pip_factor |
Pip scaling factor; converts pips to absolute rate moves |
tick_size |
Minimum rate increment, in pips |
decimal_places |
Number of decimal places for rate display |
business_day_calendar |
Union of base and quote holiday calendars |
settlement_calendar |
Holiday calendar of the settlement currency (often USD) |
deliverable |
Whether the pair settles physically or cash-only (NDF flag) |
settlement_currency |
For ND pairs: the currency in which cash settlement is made |
default_cut_code |
Default market data cut for this pair |
classification |
Pair category: major, minor, or exotic |
fixing_source |
Default fixing source for cash-settled / NDF trades on this pair |
There is deliberately no is_g11 (or similar) field here: G11
membership, and any other desk grouping (Scandies, Antipodeans,
commodity currencies, …), is a currency-level, many-to-many
currency group membership, not a flag on the pair. A pair's "is this a
G11 pair" question is answered by checking both legs' group memberships
at query time.
See Deliverability and non-deliverable instruments for deliverable /
settlement_currency, Pip, tick size, and pip factor for pip_factor /
tick_size / decimal_places, and
Currency pair classification for classification.
Currency fields
Individual currencies carry their own attributes that feed into pair construction:
| Field | Description |
|---|---|
currency_code |
ISO 4217 three-letter code (e.g. EUR, USD) |
numeric_code |
ISO 4217 numeric code (e.g. 978 for EUR, 840 for USD) |
spot_days |
Number of business days to settlement |
holiday_calendar |
Named calendar of public holidays |
deliverable |
Whether cash in this currency can be delivered offshore |
day_basis |
Day-count convention for money market (ACT/360, ACT/365) |
base_precedence |
Ordinal rank in the base-currency precedence table |
Currency group memberships (G11, Scandies, …) live in a separate many-to-many currency group junction, not as a field on the currency itself — a currency can belong to several groups at once.
Cut code
Each currency pair has an associated cut code determining which market data cut (time-of-day snapshot) is used for valuation. It defaults from the currency pair but can be overridden at the trade or book level. The system should visually flag when a trade's cut code differs from the pair's default, since it changes which rates feed official valuation.
See also
- Currency pairs — the hub.
- FX currency conventions — base/quote precedence and reciprocals.
- FX spot date and settlement — the
spot_daysmax-of-two rule. - Pip, tick size, and pip factor — the pip-related fields.
- Deliverability and non-deliverable instruments — the deliverability fields.
- Currency pair classification — the
classificationfield. - Currency groups (desk groupings) — where G11 and other desk groupings actually live.