MiFID Reporting System
Background
The Bank needed an automated solution for meeting reporting obligations for MiFID II
Implementation
The scope of the requirement covered all asset classes and It was decided to leverage Unavista for meeting the requirement.
The system was implemented as a batch system that ran daily and produced a file as per the UnaVista defined format which was uploaded automatically via sftp. The system sources data from the central trade warehouse. For each trade, it ran a set of eligibility rules to check if the trade is eligible for Mifid Reporting. It would then make calls to several services to gather data required for reporting. Another set of rules would be run to verify all the data that is required has been obtained for each trade. It would create an appropriate exception task workflow for users to resolve the errors for the failures. The users had the option to rerun the batch after fixing all the errors generally by getting the appropriate data added into the system. The system would then generate the UnaVista file and upload it to the remote server.The users also were able to monitor the status and stats of each run using the UI. The system used java parallel streams and was able to scale up to the load.
Main Tech Stack : Java 8, Google Guice, GRPC, REST, JPA, Hibernate, Multithreading, XML, XSD, Xpath, FpML, JSON, Mockito, Fitnesse, Maven, Jenkins, Sybase, Solace, MQ, Linux, SVN/Enterprise GitHub, Nexus Repository.
The system was able to perform very well and established a streamlined batch upload into UnaVista to meet the Mifid II reporting obligation for the bank.