In this post, I won’t cover the different types of market data you can have in the system. Think about one and Murex will have it already either natively or through the user definable market data. Today, we’ll focus on Market data interface and the different means to load that data in!
Market data interface – The UIM
UIM does not stand for Ultimate Iron Man but Universal Input Method aka manual input (sounds less fancy that way). While many people would look down at the manual input, it is actually often relevant. If you’re considering a very small amount of data, that requires sanitization and is limited to a few times through the day, manual input is a good solution. Especially when you can set it up so all you need to do is copy/paste. I don’t say you should always push back on interfaces (well, actually I do) but you should actually consider it in many cases.
Market data interface – MDCS
Let’s dive into more acronyms (nothing to do with Marvel DC comics Series), MDCS stands for Market Data Contribution Service. This interface is mostly used for realtime market data feed.
How does it work? You have a service: RTBS (I’m running out of Superheroes jokes (already!)), export, direct publication which published data to a memory : MDCS (also called cache for aficionados). You can query the content of the cache either through XML request scripts or via the monitor.
The data is structured into multiple pages, with multiple nicknames.
From there, you can push that data either to database via a processing script. You can retrieve it via XML requests (note to all tinkerers: do not use that service as a way of distributing market data to all bank systems, you’ve been forewarned!) or have Murex sessions accessing it via activity feeders. Activity feeders give you the opportunity of choosing which type, page and nickname of market data can the session access.
So as you should have understood now: MDCS is the realtime service in Murex. And it is better used that way. For end of day, you should rather stick with the one after: MDRS.
In case of issue with realtime, you first need to check via monit or xml request scripts if the market data in the cache is properly updated. Which one to use should not even be a question as monit is easy and user friendly to use. If you can’t get the monit password, let the one with the password handle the issue!
If the data in the cache is properly updated. Your issue comes then from the activity feeders. You can restart them if required after trying with a new session (you should get an error message if the session can’t connect to them). If there is no error message, no realtime, check that you have indeed assigned an activity feeder to your session.
That’s the basic debugging of MDCS: check the cache, check the activity feeders and check the user settings.
Market data interface – MDRS
Market Data Repository Service. First of all, some good news! XML request scripts are almost identical to MDCS ones.
MDRS lets you retrieve and update the database directly via XML request scripts. It is effectively more efficient than MDCS-Processing script as you do everything in one go without having a stopover in the cache.
MDRS is actually pretty robust and never had too many problems with it especially if you read properly the documentation AND put the right tags in the right order. The usual trick with MDRS is to first query some market data to get the structure of the XML. And then add your Update command and modify the values as desired.
Again, Murex role is not to be the Market data repository for the whole bank. Murex primary role is to provide pricing, risk, processing services not centralize the bank market data.
Debugging MDRS is usually quite simple as you get an answer file and a log file whenever you kick in the XML script. Just fix as appropriate and you’ll be good to go!
That’s the 3 means of getting data in Murex, note that the services are always improved to cater for newer type of market data and especially when you’re working on new type of market data, you need to ensure that MDRS/MDCS properly support it. Otherwise, the UIM will always work!