#DataHub #DataRequest
Sébastien Vallenet
Master Data Management / IT PM / Solution, Enterprise, Data Architecture / Neoxam Datahub Expert - Freelance
The Data Request (also known as Scope of Interest) is a new key functionality offered in the last major releases of Neoxam Datahub. It is actually a broad set of deep functionalities, covering multiple use cases. I was really enthusiastic to analyze it and to share high level views and feedbacks here.
What are the use cases covered ?
This use case is the easiest one. The "subscription" datarequest allows to define a scope of objects (agents, securities...) with classical scope definition or with SQL, it leverages a linked feedproc to define the export mapping. The datarequest scope definition overrules the feedproc scope. It is based on an orchestration scheduled task to be launched. This datarequest will generate a "brother" client request (with the objects of the scope listed one by one for every launch – 2344 in the picture below) and will ultimately generate the desired export files or data flows.
Let's be honest, this use case is already addressed with a feedproc, its feedmap and its scope definition, and a launching task. The use of datarequest does not really bring specific added value. No surprise because it leverages only a small part of what datarequest can offer. But it helps to understand some principles and capabilities.
2. Second Use Case for DataRequest : agent/securities creation with providers (static data)
This use case is far more rich :
All these points are covered by Datahub capabilities for years, but you need to create, set up and coordinate multiple components. I can say the Datahub product team intention was to facilitate that coordination, with datarequests. Quite a challenge, indeed.
Here I have to introduce the vendor strategies :
Other sophistications can of course happen, such as querying multiple data providers or dealing with underlying.
In the case of derivative, the principle is to instantiate a new datarequest to deal with the underlying creation. Of course the derivative has to be linked with its underlying. The security is created in 2 or 3 steps, and after the first steps the new security has to be “identified” and associated to the datarequest. Unfortunately this is managedby Datahub compiled code, meaning you can’t see nor modify it. During all the creation process, datarequest security creation status has to be updated. I am always pushing for robust state machines, and here I have some caveats about status based on indirect assumptions.. No doubt these 2 points can (will?) be improved.
In the case of derivative, the datarequest derivative status should take into account the underlying creation status, to avoid orphan derivative creation without any alert.
In this second use case, a single datarequest can cover one or multiple securities -if they are needed at the same time-. But the way of use is to instantiate a new datarequest each time you want to query one or multiple securities. This is a difference with the first use case (one datarequest executed multiple times).
领英推荐
3. Third Use Case for DataRequest : Collect and distribute market data (dynamic data)
Marketdata can be quotes and quote linked data (volumes, greeks...), yield curve, volatilities, ... In this use case, you may consolidate multiple marketdata needs from different internal clients:
When the task is launched :
The last 2 use cases (acquisition and diffusion of static and dynamic data) are crucial for master data management. There not doubt the Neoxam DataHub "data request" offer makes a lot of sense.
That said, the variety of use cases, the number of concepts to articulate (security types, multiple feedproc, multiple scopes definition, files names with providers, files names/data flow for internal clients) make the understanding and the use of datarequests really complex :
From my experience of supporting a number of NXDH clients, it would be a challenge for them.
Then, is it worth to implement or to move to datarequest ?
For use case 1, no.
For clients with existing process to collect/distribute static & dynamic data (the use cases 2 & 3), they should have already created processes based on feedproc, and I see no cost-benefit advantage to move to datarequest.
For new clients, datarequests have to be considered. I recommend my Neoxam friends to make this component more easy to use and to understand.
?