Risk Management System
for the Forex Market

ЗАДАЧА
The customer — leading company at the Forex market required a flexible, adjustable system of monitoring and evaluation of financial risks based on the streams of information, coming from analytical centers, located in different parts of the Earth.

The system is essential for Forex market analysts, which are spread around the world and need to be able to evaluate information at the world financial markets without delays for reduction of risks related to making of investment decisions.

Byndyusoft was set a task to create a monitoring and risk management service for the Forex market from scratch. For this purpose it was required to collect and process live information streams from internal information (dealing) systems of the company, allocated all over the world, analyze data and display results in such way, that the analyst could track all changes (grid description) on a real-time basis. Visual part included display of total lot change for every currency pair.

In the process of designing of the system architecture, special attention was given to the ability of analytical service to withstand high loads (about 100 000 changes per second), provide protection from unauthorized access and demonstrate high level of  fail-safety, because even a brief failure in system operation could cost up to $10 million.

РЕШЕНИЕ

Arrangement of works

The customer was not ready to clearly state the task description as of the start of works, therefore the team decided to execute the development of service without preparation by taking the following steps:

  • Execute the design of the system on the basis of modular architecture to achieve independence, substitutability and changeability of different parts of the system
  • Fulfill requirements to service (assignment of tasks for development) in small parts, receiving regular comments and notices based on the results of delivery of weekly, and afterwards — of  micro-releases
  • Perform the delivery of new, operable versions (releases) every month

The goal of the team and the customer was to examine the possible solutions and by means of multiple iterations obtain a product, resolving the problems of the customer. It is nearly impossible for analysts to come up with such a project at one blow.

Quality and reliability of the systems were ensured by autotests. Two types of tests were written: modular tests and integration tests. Modular and integration tests covered almost 100% of business-scenarios.

Modular tests were run in the event of any modifications in the code to assure that the logic remains in good working order. Integration tests were run on a daily basis through the CI server — TeamCity to check all the business scenarios from the viewpoint of user interface.

As a result of full automatic checking, new versions started to be delivered every week, and later on — every day. Big releases were produced once a month.


Technical solution

Analytics system obtained and processed data, which were coming through message queues from other internal services of the customer company. This allowed to increase reliability of the system, to implement parallel processing of data for reduction of processing time and to increase response rate of the client.




  1. Changes of lot at electronic stock market make it into RabbitMQ queue, then only changes are transferred. This allows to reduce traffic and improve performance.
  2. For transfer of data Publish — Subscribe template is used, which makes it possible to scale data processing and connect several analytics systems.
  3. Different statistical and financial indicators are calculated in the analytics service in a form, convenient for analysts. Afterwards the data are saved in DB and they update current data slice. Current data slice is stored in Random-access memory, which allows to minimize response time from the Silverlight client.
  4. Silverlight client has a customized and adjustable interface, which enables the analysts to adjust data representation in accordance with market indicators of current interest.
Byndyusoft is very flexible for the needs of the clients and is able to adjust itself for the required processes, which is highly valuable and is a rare thing to see nowadays. When the programmers of Byndyusoft were working on my project, I realized that flexible methods of software development can really reduce the lead times and improve quality.
Roman Neskin, Project Manager at ForexClub, Podgorica
РЕЗУЛЬТАТ

After several prototypes the system was completed and handed over to the customer. Currently it is integrated into the customer’s infrastructure and is in operation as one of internal services of the company.

  1. Byndyusoft was able to meet the deadlines and made it possible to finish integration into the customer’s infrastructure in time.
  2. Thanks to the utmost technological competence Byndyusoft was able to design the system, which meets the client’s requirements relating to response rate, reliability and scalability.
  3. After several prototypes the system was completed and handed over to the customer. Currently it is integrated into the customer’s infrastructure and is in operation as one of internal services of the company.
$ 10,000,000
PROBABLE COST OF ERROR
1 second
MAX DELAY IN DATA PROCESSING
Internet Trading · UX · Web