The client decided to create a cloud-based trading platform geared toward the US financial market (banks, financial companies, investment groups). The product was conceived to enable full-cycle OTC trading across multiple asset classes, including US treasury bonds derivatives such as interest rate swaps (IRS), and more.
INSART was asked to develop a risk-exchange trading platform (RXTP), which included the following challenges:
- Design and implement the platform from scratch.
- Develop an algorithm for optimal order matching based on linear programming and multi-objective optimization.
- Integrate the platform as an execution service within the platform of a market-leading technology provider.
Example of fix-for-floating LIBOR-based IRS
Design and implement the platform from scratch
Business value: The OTC market used to work as a P2P exchange in which traders interact with one another at trading desks to exchange derivatives such as US treasury bonds and IRS. The efficiency of the exchanges executed depended on the number of interactions each trader had.
RXTP was conceived to gather orders for buying and selling various types of securities from all traders and match them in the most efficient way.
Details: INSART created a dedicated team to implement the project. The team included the following specialists:
- Project manager;
- Business analyst;
- One to three Java software engineers;
- Data scientist;
- QA engineer.
The above team members participated in every step, from idea generation to platform development, deployment, and maintenance.
During a 30-minute session, traders can submit their orders (desired trades) into the system. After the session closes, the system processes the orders and suggests the most efficient trades to traders.
The system has the following features:
- User dashboard, which contains the current system user’s portfolio, a history of their orders and trades, their credit limit, etc.
- Derivative dashboard, where traders may select required derivatives, manage the portfolio of the selected derivative, and view the history and results for each derivative.
- Trades dashboard, where traders submit their orders, and view and confirm results of the matching algorithm.
- Notification services inform traders about the opening and closing of submission sessions, send results via email and to the trades dashboard, etc.
Result: INSART delivered the system on time and on budget, and in full compliance with the client’s requirements. Our team was actively involved in the development of several useful mechanisms within the system.
RXTP Business Process Flow
Develop an algorithm for optimal order matching
Business value: To make the OTC market efficient, the matching algorithm creates optimal suggestions wherein the maximum number of traders and orders are satisfied. The key to brokerage business is liquidity, and the algorithm has to be optimized to:
- Achieve maximum liquidity the most amount of people get filled;
- Ensure that “large” trades and clients are not rejected at the price of a higher percent match. Weights are assigned to each client based on rules and the algorithm has to give priority to clients with higher weights;
- Enable clients to purchase priority, meaning that the algorithm has to match clients who have paid for priority;
- Exclude certain names based on credit rating (e.g., “I (Merrill Lynch) don’t want to trade with anyone whose credit rating is below AAA, so don’t match”);
- Provide the best cost of trade for the client; for example, direct exchange for treasury is cheaper than the alternate trade of matching treasury future, so the algorithm must try to match treasury first, followed by future.
Details: Processing orders via the matching algorithm had to take no more than five minutes after the submission session has closed. The algorithm had to compare the requests submitted by a number of traders and match them according to their desire to buy, sell, or exchange derivatives. The main criteria were as follows:
- The maximum number of traders should have at least one request satisfied;
- The maximum number of requests should be satisfied.
To deliver a high-quality solution, several strategies were included in the algorithm to provide faster processing and optimization. There are four strategies in the treasury and 15 in the SWAPS algorithm. The swaps algorithm has more strategies because it is more complicated.
If one of the strategies is unable to solve a problem (or cannot solve it well), another strategy is able to do so. All strategies are run simultaneously, and each has a target goal. The value of the target goal is calculated in the same way inside the algorithm. The algorithm compares all values, and the strategy with the highest value is chosen. The algorithm is able to match at least 800 items.
Results: The algorithm developed solves the order-matching problem in a short period of time (within five minutes).
Integrate the platform as an execution service
Business value: When the system was integrated into the market-leading technology provider’s platform, it gained access to the derivatives market and traders. This allowed the client to receive the profit and meet their own business goals.
Details: RXTP is integrated as an execution service and enables a complete trading life-cycle, which consists of the following steps:
- The service opens a submission session, of which all system users (traders) are notified.
- Over the course of 30 minutes, traders may form and submit their orders, wherein they specify which derivatives they want to buy and/or sell, and in what quantity.
- Once the time has elapsed, the service runs the matching algorithm. Within five minutes, the traders receive suggestions regarding their buy/sell orders.
- The service executes all trading orders that correspond to suggestions confirmed by traders.
- The session closes and the service sends reports to the traders regarding their trading orders.
Result: INSART successfully integrated the RXTP into the third-party platform, and was involved in deployment of the application into the Amazon Cloud. When moving the platform to Amazon EC2, the team was responsible for installing and configuring all of its applications.
The following technologies were used for the project:
- Server side: Java/JEE (JBoss, PrimeFaces, Hibernate, etc.).
- Hosting, clustering and performance optimization: Amazon EC2.
- Event System: Esper (an open-source event-series analysis and event-correlation engine).
- Numerical computing environment: Based on R framework (the main algorithm was implemented using the R language, R-scripts were used to transfer data).
- Web server: Nginx, load balancer.
- User interface: JSP, HTML; Treegrid (a component to display and edit data in tables).
- Administration module: C# tool for Excel (operational application). Excel was chosen by the client.
- Integration of third-party Web services: REST API.
- Database: Intersystems Cache DB.
Boris Litvin, President, CEO
“I would like to thank the INSART team members for their service, quality, and dependability. We have been working with the dedicated team for the past several years on a very complex financial project. The team has demonstrated not only technical excellence, but superior communication skills, understanding of the business, and focus on results. The INSART team has naturally blended with our internal team and ensured our long-term success.”