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 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.

The system allows traders to test and launch their strategies in several different modes. The strategy lifecycle consists of 3 stages: Backtesting, Paper Trading and Live Trading.

Backtesting
The backtesting mode helps to test the strategy «back in time» using historical market data. This is the first check performed to understand how the strategy performs in general. Each time a backtest is performed, a trade report is generated that shows how profitable the strategy was in a specific time range. Each time the strategy goes through backtesting, traders can adjust it to make it more profitable.

Paper Trading
After the strategy has successfully passed the backtesting, traders try to launch it in demo mode (the so-called paper trading), which is much closer to real market conditions. Paper trading is performed with market updates in real time, so the only things that is simulated here is money. Order management is also very close to the conditions of the real exchange trading.

Live Trading
After the strategy has shown decent performance in the two previous stages, it moves directly to live trading, which is performed in real time and with real money. Sometimes the conditions on the real market can be very tough and the order execution logic can be too complicated, which is why only the best strategies reach this stage. The strategy which successfully passed the backtesting and paper trading and was able to earn enough money on the real market has a significant value for the trader.

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

Poland

Żurawia 6/12/lok 766, 00-503 Warszawa, Poland

Name
Company name
Phone number
Text
x