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
         

5. Decisions

6. Out of scope

Emacs 29.3 (Org mode 9.6.15)