It is quite common in the Caplin Integration Team to write Proof of Concepts (POC) where we usually write adapter code that we integrate with new systems.
For my DevWeek project I was doing a POC where I was integrating Reuters Money Market functionality within our existing RETToolkit API which is our FX trading product.
I needed a better understanding of the money market in general, and of the Reuters Money Market offering in detail. I read up on it on the usual financial websites, but I was also able to rely on our great sales team at Caplin that helped me with any questions related to financial products.
Preparation
Reuters upgraded our test environment to their latest ET 2.3 version and additionally configured it for Money Market, which allows us to receive price feeds for some currencies and their tenors, and trade on them.
After Reuters enabled the system for Money Market I still needed to read through the Reuters Admin guide and configure some currencies and give our test users permissions for Money Market trading in the Reuters Admin applet.
To adapt our RETToolkit API code, I had to use the latest Reuters libraries, but they are already used in our product. As a result, no upgrading was necessary, but I needed to import the Reuters test project into my IDE so I can run some example programs to understand how to use the libraries for Money Market as well as to check that the Reuters Admin configuration works.
Using the example code, I started testing by subscribing to price feeds and by receiving prices. Then I tested the creation of trades and executed them. Later, I tried to receive information about historic trades. Most of it worked out-of-the-box or with a minimal set of changes, and I got a good idea how I can integrate it into our product. Overall, I gained an understanding of the general concepts behind the Reuters Money Market API.
Within Caplin we already have a money market front-end implementation that goes together with a money market mock adapter which we already use for demonstration purposes.
Integration work
With all the preparation done, I was ready to address the actual task.
My main goal for the DevWeek was to figure out what is needed to integrate Money Market with Reuters and what are the costs to do so. I wanted to demonstrate integrating Money Market into the RETToolkit API, run it against FX Sales, retrieve data from Reuters and show this data in the frontend.
First I needed to add permissions to the adapter, which uses the RETToolkit API, so the user who logs into Caplin FX Sales is allowed to see the money market feature and is allowed to trade. The user also needed permissions for the currencies and tenors he is allowed to trade on.
I had to read the currencies from Reuters that are configured for money market along with their tenor dates to be able to show them in the money market tile. But these were hard coded in the frontend for the demo, so I just proved that I was able to read them from Reuters and made a note for changes needed to integrate this with the frontend.
The next step was to subscribe to some prices from the frontend. This part was relatively easy as I received a standard subscription subject for money market and our RETToolkit API made it easy to parse all the data from the subject. Then I had to put this data into a subscription for Reuters which is using classes for Money Market that are similar to the ones for FX Trading, so I was already familiar on how to use them. I was now able to show prices on the FX Sales frontend.
As the time ran out and trading, historic data and blotter was more complex to integrate into the RETToolkit API, I tested the rest of the functionality with the Reuters example project which allowed me to get familiar with Money Market classes of the Reuters library, test if the configuration worked and what features are available so I got enough of an understanding to discuss within the Integration team the changes needed and be able to put some costs against the different implementation steps.
Result
Most of the difficulties I had was related to setup the Reuters configuration to allow us to receive prices for the Money Market currencies. Then I discovered that we require changes to the FX Integration API to better provide currencies, tenors and settlement data to the frontend. After all I discussed my finding within a team of developers and product owners.