Story: Bring the FX spot conventions onto the market standard
Table of Contents
This page documents a story in Sprint 30, carried unfinished from Sprint 28 at close. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
Our FX spot conventions disagree with the market in four places, and one of them is visible on screen: a GBP/USD series shows the same number for several ticks, because the rate is printed to the pip and not to the pipette, and USD/CAD settles two days out where the market settles it in one. The investigation The FX spot conventions against the market records the evidence and its sources. This story corrects the model, the seed and the display so a rate we hold reads the way the market quotes it.
2. Status
| Field | Value |
|---|---|
| State | BACKLOG |
| Parent sprint | Sprint 30 |
| Now | Not yet started. |
| Waiting on | Nothing. |
| Next | Break the story into tasks. |
| Last touched | 2026-11-08 |
3. Acceptance
- A pair's spot lag is stated, per pair, instead of derived as the max of its two legs, so USD/CAD, USD/TRY, USD/PHP and USD/RUB settle T+1 and every other pair T+2.
- A rate's quote precision is the market's and not the pip's: five decimals for a non-JPY pair and three for a JPY pair, so a movement of a fraction of a pip shows on the series page.
- The smallest spot increment is a fraction of a pip, set per venue, and not one whole pip, so the tick size agrees with the model default.
- End-of-month forward dates follow the market, and the choice stays configurable.
- The volatility a synthetic spot feed realises matches the volatility it states, and the annualisation clock it uses is written down.
- The domain page that states the old precision, and the pages that cite it, are corrected to the market convention.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|