The mapping belongs to the provider and not to the source

Table of Contents

1. Summary

The mapping links a vendor instrument (provider, id scheme, external id, field) to an internal item, which is an oresmd datum. It is on the provider. The live and the simulated sources of one provider share the mapping. That is what lets a party change its source and keep its series.

2. Detail

2.1. The row

Column Meaning
provider, id_scheme, external_id, field The vendor instrument
oresmd_uri The internal item
valid_from, valid_to The period in which the mapping holds

The mapping is many-to-one. Several vendor instruments, of different providers, can map to one item. That is how two providers quote one EUR/USD spot.

2.2. Why provider and not source

If the mapping were on the source, bloomberg-live and bloomberg-sim would need two mappings that must stay equal. A drift between them would make the simulated run a worse test of the live run. One mapping rules this out.

2.3. What the mapping replaces

An adapter never publishes an oresmd URI. The service applies the mapping at ingest. See The ingest loop and the one pipeline. This is the same job that a Calypso feed address does: it links an internal quote name to a vendor instrument and field.

2.4. Changing a mapping

A mapping change is an effective-dated change with a reason. The service refreshes its ingest cache when a mapping changes. The history of a mapping is readable.

3. See also

Emacs 29.3 (Org mode 9.6.15)