Re: Adding Blank data representation to MAMA API data types
Phelan, Nigel
Still not sure I see the problem, Keith. If you receive the data as a string field and, when the transport bridge tries to map it to a mamaPrice field, the conversion fails, you should call setIsValidPrice() to mark the field as containing an “invalid” price and the consuming client should honour this and display it as a blank (in exactly the same way you would if someone decided to publish “NOT QUOTING” in a bid/ask price field because the underlying middleware allowed free text entries there). That’s why I was looking for an example of when this breaks.
Nigel
Nigel Phelan | Corporate & Investment Bank | Market Data Services | J.P. Morgan
From: Keith Rudd [mailto:keith.rudd@...]
Sent: 10 December 2019 11:47 To: Phelan, Nigel (CIB Tech, GBR) <nigel.phelan@...>; 'openmama-dev@...' <openmama-dev@...> Subject: RE: Adding Blank data representation to MAMA API data types
Hi Nigel,
I don’t have a RIC to quote here, but the problem exists for certain data delivered over the Elektron feed, with data from contributors where we have no control over what conventions they use. For most data sets you only ever see blank values in initial data which is not really a problem. It’s when they are used to update a previously valid field value, distinguishing between a ‘blank’ and a zero (possibly valid) becomes important. The tick42rmds (or any other) adaptor can only really deliver a zero in the MAMA field it renders from the received ‘blank’ as there is no blank representation in MAMA and this is indistinguishable from a valid zero update, even though they are semantically different.
Regards, Keith
From: Phelan, Nigel [mailto:nigel.phelan@...]
Hi Keith – what we normally do here is use the relevant getters/setters on the Price and DateTime fields (getIsValidPrice, setIsValidPrice, HasDate, HasTime). We tell people to render blanks for invalid prices and for DateTimes with no date or time part. I believe the tick42rmds adaptor for TREP maps these correctly from the native TREP RWF encoding. Do you have counter examples?
Nigel
Nigel Phelan | Corporate & Investment Bank | Market Data Services | J.P. Morgan
From:
Openmama-dev@... [mailto:Openmama-dev@...]
On Behalf Of Keith Rudd
Certain other market data platforms / APIs (well, TREP) support the concept of ‘blank’ field values. The price and time field types actually have special blank data representations defined. This is used in the context where a publisher wants to include a field in a message but with no assigned value, possibly for example to indicate that a price that was previously offered and valid is now no longer available. (Granted there are other ways to do this, with another price status field etc. but we do see this method used sometimes and with no other indicator of validity)
This introduces a conundrum when translating such values to the MAMA API as prices, times, etc. have no such equivalent blank representation in MAMA.
So, my proposal is that we might extend MAMA field data types to include such ‘blank’ values. This would need to be done while preserving backwards-compatibility.
A discussion point for now - Is this a feature which others see value in? - Any feasible suggestions for how it might be achieved and what values would be used for ‘blank’ ?
Regards, Keith
This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidential, privileged or legal entity information, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.
This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidential, privileged or legal entity information, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited. |
|