Starter contract

financial_trade

17 rules · plain YAML · starts in observation mode

OpenDQV Cloud starter template (v0.1) — your tenant inherits this baseline. First customer edit creates v1.0 in your audit trail; pin by yaml_hash for replay. Financial trade record validation. Enforces instrument identifier standards (ISIN per ISO 6166 for securities), Legal Entity Identifier format (LEI per ISO 17442) for institutional counterparties, trade side classification, and settlement lifecycle status. Designed for equity, bond, and fund trading desks operating under MiFID II Article 26 transaction reporting obligations and FCA COBS/SYSC data quality requirements. For full ARM-ready MiFID II transaction reports see mifid_transaction_report contract. This contract covers internal order management and execution records prior to ARM submission.

These are starting points you own. Every rule below ships in the trial, starts in observation mode, and is yours to read, edit, or delete from day one. Rules that reference a lookup list (lookup_file) validate against reference data you control in your tenant.
Rules as at 29 August 2026 — starting points you own, not a maintained regulatory feed. We correct errors in these samples; tracking regulatory change in your active contracts is yours.
RuleFieldSeverityWhat it enforces (the message your team sees)
trade_id_requiredtrade_iderrortrade_id is required
trade_date_formattrade_dateerrortrade_date must be a valid date (YYYY-MM-DD)
settlement_date_formatsettlement_dateerrorsettlement_date must be a valid date (YYYY-MM-DD)
settlement_date_after_tradesettlement_dateerrorsettlement_date must be on or after trade_date — settlement cannot precede execution
instrument_id_requiredinstrument_iderrorinstrument_id is required
instrument_id_isin_formatinstrument_idwarninginstrument_id does not match ISIN shape (ISO 6166: 2-letter country code + 9 alphanumeric + 1 check digit, e.g. GB0002162385) — verify if using CUSIP, SEDOL, or internal identifier
instrument_id_isin_validinstrument_idwarninginstrument_id is not a valid ISIN (ISO 6166: 12 characters ending in a correct check digit, e.g. GB0002162385) — full check-digit verification (was: shape-only). Verify if using CUSIP, SEDOL, or internal identifier
instrument_type_valuesinstrument_typeerrorinstrument_type must be one of: equity, bond, derivative_equity, derivative_rates, derivative_credit, derivative_fx, derivative_commodity, etf, fund, fx_spot, fx_forward, repo, structured_product
trade_side_valuestrade_sideerrortrade_side must be one of: buy, sell, short_sell, cover, subscription, redemption
quantity_minquantityerrorquantity must be >= 0
price_minpriceerrorprice must be >= 0
trader_id_requiredtrader_iderrortrader_id is required
counterparty_id_requiredcounterparty_iderrorcounterparty_id is required
counterparty_lei_formatcounterparty_idwarningcounterparty_id does not match LEI format (ISO 17442: 20 chars, e.g. 549300TRUWO2CD2G5692) — verify if counterparty is a natural person or using internal identifier
currency_requiredcurrencyerrorcurrency is required
currency_formatcurrencyerrorcurrency must be a 3-letter ISO 4217 code (e.g. GBP, USD, EUR)
settlement_status_valuessettlement_statuswarningsettlement_status must be one of: pending, affirmed, matched, settled, partially_settled, failed, cancelled, on_hold

Run your own data against this contract in the free trial — drop a CSV in the dashboard, no code, no credit card. Start free trial →