Market data prototypes

Table of Contents

1. Summary

Curves and surfaces: their blueprints, the market they are built from, their adjustments, their approval and publication, and how they are read over time.

29 prototypes answer to this group. Each one is a static page under doc/prototypes/, opens with no build and no session, and reads mock data only. The table below opens each one and says what it argues. Where a prototype carries a Gemini review, the last column opens it: a review is a generated alternative kept beside the agreed design, never instead of it.

Prototypes is the top page and the only inventory.

2. The prototypes

Prototype What it argues Open it Review
Synthetic feeds The dashboard totals and the providers, a Provider tab with a combo and its own tree, the feed page and its process tab, the sources board and subscriptions. One rule counts every number, and no feed has a start. prototype none
Manage a curve's blueprint A curve's blueprint is its pillars and the method that joins them; the pillar editor is where the design question sits. prototype none
Curve blueprints A blueprint is a record a person maintains, not a workbench with three modes: a list, a record page of five tabs (the recipe, its pillars as parts in maturity order, its check, the published sets it fed, its history), and four dialogs with eight fields between them. The check is a tab a person arrives at, and a recipe that fails its own check stops before the market is read. Every coded value wears the label catalogue's badge or else the code, and the screen's Market data card is drawn beside the ones the area has. prototype none
Author a surface's framework A surface is axes before it is numbers: the quoting convention and the two label ladders decide what the grid can hold. prototype none
Watch the market and clear its exceptions The market's exceptions are cleared where they are seen, so the quotes and the fallbacks belong on one screen. prototype none
Bootstrap or refresh a curve A build produces a candidate, not a curve the system uses. One bootstrap reads real or synthetic inputs: the same instruments reprice, and only the provenance differs, so the screen records where each rate came from. prototype none
Calibrate or refresh a surface A surface fit is a calibration error before it is a picture: the error, the slices and the mesh answer different questions. prototype none
Adjust a curve or surface by hand A hand adjustment is a first-class point with an actor and a reason, and it must read as a point the market did not send. prototype none
Check a curve's fit A curve is checked against the quotes it came from: residuals, forward smoothness and the roll logic, on one screen. prototype none
Inspect a surface's slices A surface is read a slice at a time, and the arbitrage checks are what make the slices trustworthy. prototype none
Ask for a publish to be approved A publish is a request, not a save: the maker raises it with the delta and cannot decide it. prototype none
Decide a publish The checker decides from the delta and the checks, with a comment, and the kind may ask for more than one pair of eyes. prototype none
Publish the approved set Publishing is the moment the candidate becomes what pricing uses, and the approval count decides whether a person stands in it. prototype none
Withdraw or replace a published curve A wrong publish is undone as an act with a reason, and the withdrawal can need its own approval. prototype none
Published curves The tenant's published sets as a list and a record page of four tabs: details, published points with the last sets overlaid as the IR ticks panel draws them, compare as of with its chart and its changed, added, dropped and unchanged points, and the standard history with the record's versions; and the approvals queue row that carries a publish's subject beside the other kinds. prototype none
FX forward ladder One read-only page shows a USD pair's forward ladder in all four measures, beside the spot and curves it rests on. prototype none
Watch a curve or surface evolve One instant and a range are the same view at different zoom: the alignment and the added and dropped nodes are the argument. prototype none
See who changed a curve, and when The trail of a curve: blueprint changes, builds, hand adjustments, approvals and publishes in one place, each with an actor. prototype none
oresmd URL editor A valid oresmd URL is very hard to write by hand; this editor composes, parses and validates one from the schema, offers the codes the system already keeps (currencies, day counters, tenors, curve ids, index names, security ids) plus ORE's own vocabularies as pickers, and every dialog that shows a URL calls it. prototype none
Author an FX price feed An FX feed is a process plus a tick clock plus provenance, and the process is read twice before it is saved: the return distribution and the sample paths it implies. prototype Gemini review
Author an IR curve feed An IR curve feed is a short-rate model, its parameters and the tenor ladder it is bootstrapped from; the curve shape and the sample paths say whether the choice is sane. prototype none
Manage synthetic collections A collection is the unit a person starts and stops, so it must show what it owns and where it came from before it is run. prototype none
Manage GMM components A mixture is browsed across every feed at once, and the weights are normalised on save, so the screen must show the raw sum as well as the normalised weights. prototype none
Manage yield curve process types The short-rate models and their parameters are data, not code, so a new model appears in the curve editor with no change to the editor. prototype none
Control how a market ticks A feed's own clustering and the market-wide factor are two surfaces: the feed's tab edits its arrivals and reads the market, and the market's tab is the only place that forces a state and the only figure that shows rows speeding up together. prototype Gemini review
Run the market The market is six questions, so it is six tabs under one strip of figures: now, settings, arrivals, laws, fit and trace. Its raster folds the last hour by the minute, because a regime spell lasts minutes. prototype none
Public rates Real observed market data as one screen: the publishers by asset class, the feed and supplier behind each class, the states told apart, availability across publishers, the distance between them, and the fetch scope. prototype Gemini review
Connectivity The delivery tree of market data: who publishes, who supplies, the sessions of an adapter with their endpoints and credentials, and the feeds that bind a publisher to a session and a service, with the adapters the release provides behind it. prototype none
Calibrate the market One calibration policy for every synthetic feed: the provider order, the window and the fallback, the candidates the policy derives for each pair, the resolved start and the per-feed exceptions, with the coverage of a whole class. Three variants, and no vintage control. prototype none

3. Adding a prototype

Create doc/prototypes/market_data/<name>/ with an index.html, and a prototype.css and prototype.js when it needs them. Open the page with the links table every prototype carries, and leave its review row at none. Write the design note at doc/prototypes/market_data/<name>.org, add a row to the table above, and link the note from the row's first cell. Stop there: the site build finds every prototype under this tree, so no build file names it.

A review goes at doc/prototypes/market_data/<name>/review/, with an index.html that lists its screens. The row names it, and the prototype's review row points at it. Prototypes states the whole method and the rules that hold for every group.

4. See also

Emacs 29.3 (Org mode 9.6.15)