Intro
The Business
Forex Investments Ltd. was established in 2012 and since the beginning is focused on creating intelligent tools supporting investors in various environments like the stock market, forex and crypto exchanges. The most complex tool in a customer's portfolio is Arbitrage Fluid. The tool for associated traders, allows for order-books analysis and rapid order creation on several exchanges at once profiting from the asset's price differences.
Situation at the beginning, before the cooperation started.
As mentioned the tool was already there, with battle-tested algorithms and dozens of satisfied users. However, the trading market is a dynamic environment that needs continuous effort to catch up. The customer decided that the tool has a set of proven ideas implemented however needs a more scalable and robust architecture that will ensure ease of integration with new exchanges. Along with a new architectural foundation, even better performance was a key deliverable.
Project Scope
The Project required dividing the scope into 3 milestones and delivering them smoothly not to disturb the running solution.
Project milestones
- The common data model for all exchanges
- Support decision-making with visualization of key parameters
- Automation blocks for trading strategies
The Data
Each exchange provides its own way to handle the data programmatically. The differences occur on all levels from the communication layer, through the data model, and finally, events triggering new data chunks. We analyzed how things work for the biggest players and created a new common ground for them. Having it implemented we just needed to implement a smart adapter for each exchange and then treat all data no matter its origin in the same.
Automated blocks
The second step was to provide best in class support for educated decisions. This consisted of series of visualization components. We realizied customer specific UI needs to support investing strategies. The final milestone is about making trading decisions in autamatic and configurable way. As a time of writing it is still ongoing but after first phase of ent-to-end test customer is super satisfied.
Automation blocks & visalization
We provided both complex UI for configuration of investing automation and panels to observe the results of these decisions, and pause or fine-tune in case the current setup is not optimal.
"Guys@3DEV have great knowledge of market apis as well as good understanding of fundamentals of trading key factors. They also have experience in developing fast, real-time data-based decision making software."
24/7 monitoring trading performance
Since the project is critical in its nature and can trade large funds we decided to enable automation monitoring in mobile and anomaly detection with notification. Any customer's trader can now check the status after working hours or work in an on-call mode and readjust things any time.
Tech & Stack
UI/UX
The user facing part was designed in figma, and implemeted in react with redux for state management
Customer facing dapp
On serverside we decided to have super scalable and cheap at idle serverless solution powered by node.js and AWS lambda
Backend
Smart Contracts have been developed on top of OpenZeppelin ERC-721 in Solidity. Multiple customer features per customer wish have been developed and unit tested with help of Hardhat
Reactive patterns
The core of the project has been implemented with the use of the reactive programming paradigm. With help of rx.js customers received maintainable and extendable events processing and internal events bus as the engine of whole decisions for automation and visualization.