Knoldus provides a reactive architecture to improve the efficiency and extend the business benefits
Partner: Global Financial Institution
Technologies Used : Ansible, Kerberos, Cucumber, AMPS, Jenkins, FIX 4.4, Scala, Akka
Domain : Reactive
About Global Financial institution
A multinational investment bank which operates and manage most of the financial assets and securities like equity, Hedge Fund, Futures, Bonds etc. It provides services in mergers and acquisitions, equity and debt capital markets, lending, trading, risk management, research, and liquidity and payments management. It provides products in Global Markets which covers securities and derivative products in both the primary and secondary markets. It has a global technology team which creates and enhances the platform for diverse trading needs for e.g. Legacy trading platforms as well as STP (Straight Through Processing) based transaction system.
Challenges and Solutions by Knoldus:
1. Growing the business by extending existing platform for different clients
Extending the existing platforms needs a careful eye and an attentive ear to listen to the additional client-specific business requirement and fabricate it into the existing platform such that the other business flow is intact with the changes while the new client can go live without hassle. The architecture and flow of the system must also be improved along the way.
One of the proudest pieces of work done by Knoldus in this engagement has been the work done to facilitate the onboarding of new clients on the system. This has directly added more business to the users of the system and has enabled them to enhance their plans to onboard new clients. The system offers faster processing of trades with minimal user interventions and lowered risks. The system saves a lot of effort and resources by eliminating human intervention.
2. Introducing new trade workflow to reduce the number of transactions in trading and manual work:
In the current system, the mistakes in the transactions were resulting in another duplicate transaction and a lot of manual efforts to mitigate the errors. These redundant transactions were replicated all over the system from front office to back to the settlement. For an example, a Trade Order was Placed with a wrong account has to be canceled and placed again in order to correct the trade details
According to the FIX protocol specification of Trade flows, there is an efficient way to reduce the number of transactions while correcting the mistakes, i.e. replacing the previous order with new details, hence instead of two instructions of Trade "Cancel" and "New" step, Only a single "Replace" Instruction is required. Knoldus team has added this above-mentioned functionality of the system by enhancing it to support the Fix replace flow according to the Fix guidelines. This directly increments the number of things a client can do and makes a good case for banks client's to use this system.
3. Making the system compliant with regulatory requirements (MiFID II):
This year, the banks operating in the European market had to enhance their systems to comply with the Mifid II regulations. The system was no exception and required a good chunk of work to be done. The work was to be done for:
- Transaction Reporting
Knoldus team was involved entirely in the work to be done for both the above mentioned regulatory obligation and was successfully able to make the system compliant to the regulation. It was a regulation with strict deadlines and complex piece of work. The understanding and analysis had to be exhaustive and correct to avoid any deviation from the regulation. The art of software engineering was used by all involved at its best and results were tremendously satisfying.
4. Migrating Application to Common Messaging Platform:
The financial institution uses a list of applications for different flows of Trading e.g. There is a front office to middle office Flow, There is a middle office to Trading Booking Flow and Trade Booking to Settlement Flow. To improve the instruction flow and keeping the message in sync with all application for a better accessibility and traceability of Trade Instruction from Front office to the settlement, the application needed to be on a global messaging infrastructure.
Knoldus migrated the application on the Global messaging platform to meet the above requirement. The solution involved creating a different security infrastructure which was needed by the global messaging platform as well as thoroughly testing the all existing business flows from EMEA to APAC for regression impact.
5. Improving the Security Infrastructure: Financial Institution is very sensitive to the application security and infrastructure involving it. Having access to even a single trading information to an unauthorized entity may lead to scams. The financial institution audit and assess the security risks time to time and create programs to improve the existing platform to avoid unforeseen security risks. There was an instance infrastructural problem which was creating the risk of having some application infrastructure related access to unauthorized entities within the organization. This problem was replicating with every application being built with existing infrastructure.
Knoldus is migrating the application development and deployment infrastructure so that the above-mentioned risks are completely removed and the system is compliant to the existing and proposed security policy.
Knoldus Involvement in SDLC Activities: Communication is very critical while working with a decentralized global team of developers and operations to understand and analyze the flow of business and modeling the same into the end product. The system we work upon has developers from other global teams. It is exciting for us to understand other work cultures too. What helped Knoldus was our understanding of Scrum and correctly following it which ensured we were not stepping on the work of other teams and maintaining our deliverables timely and also addressing risks/problems correctly.
Knoldus has been involved in the following umbrella activities:
1. Adhering to the knoldus way of agile working (KnolWay) to analyze and understand the critical business requirements from users and creating the backlog for the same. In addition to that, The team was also involved in prioritizing the valuable deliverables first out the backlog.
2. Communicating the technical and business risks with users ahead of development so that risks can be minimized.
3. Proposing the new architectural and design changes for the proposed solution to the global teams and discussing them to improve the overall system design.
4. Apart from the development work, Knoldus has been actively involved in end to end testing of newly developed functionality and checking the regression impact.
5. Knoldus has also been involved in user acceptance testing (demo to users) of the product in the UAT environment and subsequently releasing the same on production after taking of the user's sign-off.
The contribution of Knoldus results in the following business benefits:
1. After On-boarding the different client and catering to their diverse need, the Financial institution observed the increased user base of their trading platform from various regions contributing to their core business benefits.
2. Having simplified the Trade flow for FIX Replace, an enormous amount of manual work reduced from client end, hence increased the number of actual trades processing transaction. This also enabled the firm to attract a growing number of users to the platform.
3. Improved the efficiency of the end users by introducing the automation in monitoring and issue tracking system (A centralized workbench for monitoring trade lifecycle).
4. Making the system meet regulatory requirements on time to avoid non-compliance issues (MiFID-II).
It is a middleware software system that corroborates the trading lifecycle and strives to minimize any manual work between the front, middle and back office leading in delays. It is primarily responsible for validation, matching, and linking of the trades and triggering of the booking message to the downstream systems. It is also responsible for sending the confirmation of the trades back to the clients. Another functionality handled by the system is trade enrichment. It is responsible for augmenting the captured trade from the front office to make it suitable for operations at the back and middle office.
The two inputs of the system are
2. Fix Allocation Instructions
1) Orders: The system captures orders (trades) from front office systems. The orders are market specific belonging to either EMEA or APAC regions. Further, the orders are classified into two types based on the business channel - high touch and low touch.
2) Allocation Instructions: The system supports three types of Allocation Instructions - New, Cancel and Replace as per Fix specification guidelines.
The system supports two forms of trades -
1. Pre Allocated trade
2. Post Allocated trade
1) Pre-Allocated trade: In a pre-allocated trade, the order is entirely ready for validation, linking and booking and hence does not require the client to send any Allocation Instruction.
2) Post-Allocated trade: In a post-allocated trade, the client sends in the orders to the front office and then allocates the orders by sending in the Fix Allocation Instruction.
|Cucumber for BDD||To capture the business requirements in a pre-agreed text format stating the input and output of the requirement which is executable with assertions. It was used for automated user acceptance testing in which the executable feature specification itself is a user acceptance test|
|Scala, Scalactic||A highly functional, scalable and concise language to write the business logic|
|Akka Actor Based Event Sourcing Framework||Following principles of Domain-driven design to model the business requirement in a Reactive way. Used Event Sourcing framework to persist events for a reliable system and event versioning for state recovery|
|Ansible, Ansible Tower||For configuration management and automatic deployment|
|Kerberos||For building application and user level security infrastructure.|
|FIX 4.4 (quickfix 4.4)||A protocol for FIX Messages (Order and Allocation Messages)|
|Apache Camel||To build the integration Layer between different application or Services|
|AMPS||A modern pub/sub engine for Event-based System providing high availability of messages and throughput.|
|ITSM BMC Remedy||For Change request and production release management.|
|Active Console||For Application Monitoring|
How Knoldus can help you?
Knoldus is a company with talented Scala developers. We understand more banks are using Scala ecosystem in developing their systems. With our engagement, we have been able to prove our competence in the Banking and Financial sector. We now have a good understanding of the requirements and commitments of this sector and we believe our working culture is a good fit for us to add value to other players in this sector. Our understanding and application of Scrum enable us to meet the time-bounded commitments that are paramount in this domain. Our greatest learning from this engagement has been of BDD. An extensive use of Cucumber feature files and immense interaction with operation users has made us more mature in the domain of finance and has greatly helped the bridging of divergence between requirements and actual deliverables. And more importantly, we are a dedicated team towards our clients and understand our responsibility well.
Get In Touch
If you are looking to build a Reactive Product with Scala, Akka, Play Framework or a Big Data Solution leveraging Spark , Knoldus is here to help. We are a proven, experienced Certified Lightbend Partner, available for partnering to make your product a reality. Get in touch with us here, Follow us @Knolspeak or just send us an email on firstname.lastname@example.org