search
Clear

Automated Stock Trading Platform

An automated real-time trading system that allows administrators to configure trading strategies based on various technical indicators, and investors to invest their money in the selected strategy.

Industries
Technologies/Platforms

About the client

Our client is an investment management company that provides services to both individual and institutional investors. The company operates globally and has offices in the UK, the USA, the United Arab Emirates, Mauritius and the Cayman Islands. It was founded by a professional investor specializing in technical analysis who decided to start his own business after 15 years of working for Tier 1 banks such as the Royal Bank of Scotland and HSBC.

Client's request

After years of manual trading, our client decided to start a business and develop his own platform where he could build unique trading strategies. His idea was to automate trading and strategies management and simplify investor involvement. With a proven track record in algo trading software development and a solid grasp of the ins and outs of the fintech domain, Itexus was entrusted with the implementation of the project.

Engagement model

Time & Materials

Solution

Automated stock trading and investment platform

Effort and duration

Ongoing since August 2020

Project team

1 Business Analyst, 1 Project Manager, 1 Project Coordinator, 1 Team Lead, 6 Full Stack Developers, 2 QA Engineers

Tech stack

Target audience

The platform is designed for different client segments – from individual investors and traders looking to diversify their portfolios or generate additional returns by investing in an algorithmic trading strategy, to institutional investors such as hedge funds, venture capital funds, large investment firms, etc. looking to invest part of their portfolio in an active trading vehicle that has low or negative correlation to the rest of their portfolios.

Project challenges

Integration with multiple brokers

Our client wanted to take advantage of as many trading opportunities as possible and be able to trade on different exchanges using different broker integrations. The system should allow the selection of a specific broker so that the administrator can configure the strategies according to their investment plan.

Considering the specifics of the solution architecture and a possible increase in the number of supported brokers, the broker aggregator Blackwell Global was selected for implementation. This is a subsystem that acts as an intermediary between the brokers and the platform, providing access to different brokers via APIs. The rest of the system does not depend on the brokers’ APIs, as it does not communicate directly with the brokers.

Solution overview

The solution is an algorithmic trading system based on a complex, multi-level analysis of prices and the behavior of their derived characteristics. The system allows the administrator to set up trading strategies with different market instruments and backtest them with data obtained from different financial markets and time frames.

The trading strategies continuously analyze the behavior of the indicators and initiate the execution of orders once the predetermined conditions are met. In addition, the system allows fine-tuning parameters and displaying calculations and events on charts in real-time mode. The solution consists of three subsystems.

1. Admin subsystem

This subsystem allows admins to set up trading strategies and track price movements on the chart displaying market data, as well as configure order execution policy.

The data received from the data provider is displayed on the charts in real time, and the calculation and analysis of all indicators are done on the fly.

algorithmic trading system

When configuring a trading strategy, the admin sets parameters for RSI, stochastic conditions, candlestick patterns and many other indicators.

The trade management module allows the admin to set multiple parameters to configure the order execution policy:

  • entry price 
  • how many orders should be sent (multiple trade execution)
  • trade size
  • exit price (stop-loss management or profit target)

The admin can backtest the configured strategy using historical data and refine it if needed. Otherwise, the admin can initiate algo trading with the pre-configured strategy. In this case, the platform performs technical analysis based on the received market data and counted indicators and determines triggers. If the predefined conditions for triggers are met, the strategy is executed and the platform places an order.

2. Client subsystem

The second subsystem is intended for users and allows them to register, top up accounts via the PelicanPay API, withdraw funds, monitor balances and portfolios, and view trade history. Statistics and reports are available to clients in charts and tables.

algorithmic trading system

3. Corporate subsystem

This part of the system allows admin to manage the users, check the statistics on trades, make money transfers between the accounts of the system, as well as manage all the accounts.

algorithmic trading system

Solution main features

Admin subsystem

  • Configure trading strategies (set RSI, stochastic, and other conditions)
  • Access real-time and historical market data
  • Backtest and adjust preset strategies
  • Manage trade execution policy
  • View trade history, statistics, and reports
  • Manage system’s users, accounts, etc.

Client subsystem

  • Create an account
  • Top up account
  • Withdraw money from the system
  • View trade history, statistics, and reports

Technical solution highlights

Technically, the system consists of several microservices that use event-based communication (message bus). Microservices are asynchronous Python applications that implement a data processing pipeline, i.e. the result of the work of one microservice is input data for another (or multiple microservices). Python Socket.IO is used for real-time updates.

From the perspective of UI, it is a React application that uses MobX as state management on the front end.

  • We chose the Python language and Django framework for backend development and JavaScript, HTML5, React JS for the frontend part.
  • The AWS infrastructure that our team chose to run the platform in the cloud reduces the time it takes for the web application to load in the end user’s browser and provides additional monitoring and data protection tools.
  • To meet the security requirements of the broker and payment gateway, we implemented role-based access controls, multi-factor authentication, encryption, and other security measures.
  • In general, the architecture of the platform is defined by high performance requirements. Since trading opportunities can appear and disappear in a fraction of a second, the system must process massive volumes of data simultaneously to react to market events in real-time.

Third-party integrations

third-party integrations diagram

  • PelicanPay is a payment provider that helps to process transactions in fiat money including money transfers between different accounts, delayed payments and recurring payments.
  • Blackwell Global is a brokerage company from which the system receives financial data (real-time prices of different assets). Then, this data is analyzed by the system to find the specific sequence of conditions. After the conditions are found, the system executes buy/sell orders through the Blackwell Global account.

Development process

We delivered the project following the agile development process with frequent deliveries, full transparency, and close collaboration with our client. Every two weeks we delivered and demonstrated results and reported on costs. Frequent demonstrations and feedback collection sessions allowed us to conduct early reviews of all materials and initial software versions and make timely adjustments to functionality.

Initially, the client provided only a few design sketches, so we had to hold a series of workshops to define and approve the technical solution architecture, break down product functionality into sprints, prioritize features, and define detailed requirements.

After that, we moved on to the development phase, following the product roadmap. Fourteen months after the start of the project, the MVP version with its core functionality was up and running. Now Itexus engineers are developing and implementing additional features.

Results & future plans

Within a year, Itexus’ cross-functional team of experts delivered an MVP version of an automated, high-performing, and secure trading solution that met all of our client’s requirements. The platform is up and running. In the meantime, we maintain and support the existing solution and work on the advanced features of the platform as well as mobile versions of the application.

Looking for a talent pool to fill the software development gap for your project? Itexus engineers are ready to tackle your idea, let’s discuss it.

Contact Form

Drop us a line and we’ll get back to you shortly.

For Quick Inquiries

Offices

United States

8, The Green, STE road, Dover, DE 19901

Australia

Level 20,109 Pitt Street, Sydney, NSW, 2000

Name
Company name
Phone number
Text
x