A Web App for Trading Highly Volatile Instruments

A trading application designed for internal use within the client's company. The app features low-latency inbound market data and a slippage-free outbound order system, allowing for trading of highly volatile instruments such as Dow Jones, DAX, FTSE, NASDAQ, and other indexes.

Industries
Technologies / Platforms

About the client

The client is a wealth management company headquartered in Switzerland. It was founded by a group of professionals with over 20 years of experience in the industry and their own trading strategies.

Engagement model

Fixed price

Solution

Backend application with web-based admin interface

Effort and duration

4 months

Client request

The client approached Itexus to develop an application that would automate their trading strategies. They were searching for a reliable development team with a strong grasp of algorithmic trading, expertise in low-level code optimization, and knowledge of hardware. Our technical skills combined with comprehensive knowledge of the financial industry made us the preferred tech partner for the client.

Project team

1 Project Manager, 1 Business Analyst, 1 Lead Developer, 2 Full-Stack Developers, 1 DevOps, 2 QA Engineers

Tech stack / Platforms

Target audience

The trading app that we have developed is intended for internal use only. It is designed to be used by wealth managers working within our client’s company and provides them with a range of features that help them to manage their clients’ investments more effectively.

Project challenges

As the client’s strategies rely heavily on high-frequency trading, we encountered several challenges that required attention.

Performance

For high-frequency trading, every microsecond counts, so we focused on optimizing the application’s performance. To enable lightning-fast data transfer, we chose to use a discrete network card for the hardware, which is known for its ability to handle network packets with exceptional speed.

Tight deadline

Our development team had a very tight deadline. Given the urgency of the project, we were required to roll out the MVP in no longer than four months. Our team persevered and worked tirelessly to ensure timely delivery without compromising the code quality and app’s performance.

Infrastructure

Since the application’s performance is highly dependent on latency, it is essential to minimize the distance between the server and the source (liquidity provider/broker API) and to locate the server close to the source API. In these circumstances, deployment is more complex than when working with a cloud, as the physical server may require a DevOps engineer to configure it in person.

Solution overview

The web app allows trading highly volatile instruments (e.g., Dow Jones, DAX, FTSE, NASDAQ, and other indexes) and features low latency inbound market data and a slippage-free outbound order system. The strategy laid in the basis of the app relies on using a sequence of preset numbers, placed in one direction of the market movement at a fixed pace from the trigger price. After each order is executed, a stop loss, hedge, or take profit is automatically placed a preset distance away from the execution price. The next order is activated only if the previous order was executed at a price that starts from the execution price.

The app comprises a client application and an admin panel.

  • The client application offers an interface for end-users to view information from the liquidity provider and initiate the auto-trading process based on previously calibrated parameters.

  • The admin panel serves as a centralized control panel, allowing administrators to monitor, control, and configure the app.

Client app functionality

  • Authentication

  • Account management:
    1. Link trading account
    2. Change password

  • Trading screen:
    1. Trading window management
    2. Calibrator
    3. Max loss order
    4. Account overview
    5. Open positions
    6. Netting positions
    7. Daily turnover
    8. Order book
    9. Trade log
    10. Turnover from-to

  • Algorithm implementation:
    1. Sequence order
    2. Hedge function

Admin panel functionality

  • User management

  • Risk management

  • Trading configuration

  • Analytics & reports generation

Technical solution highlight

Based on the specific business needs (e.g., quick response reactions to events and the necessity to minimize the Front-End and Back-end request/response time), we recommended considering the use of WebSockets instead of HTTP requests. WebSockets can be particularly useful in scenarios where real-time data exchange is required, as they offer lower latency and reduced overhead compared to HTTP requests. In addition, WebSockets support full-duplex communication, allowing both the server and client to send data at any time without waiting for a request from the other side. This way, when the server-side notices a change in price, it promptly sends a message to each client. In turn, the client side receives a message about the new price. Using WebSockets allowed us to improve the overall responsiveness of the system and enhance the user experience.

Back-End for Front-end

Python 3 was chosen as the primary framework for implementing back-end functionality. Python is a high-level, general-purpose programming language that offers multiple paradigms, including object-oriented, structural, and functional programming, for software development. It works on cross-platform operating systems and can be used to develop a wide range of applications, including those for image processing, text processing, web development, and enterprise-level use, such as scientific, numeric, and data from the network.

Front-End / React Application

ReactJS was chosen for implementing front-end functionality due to its versatility. Its architecture goes beyond just rendering HTML in the browser, and it allows you to easily break down the application into reusable, smaller components that can be used across the project. This makes React a good choice for building complex, high-performance, scalable web applications that are easy to maintain.

To meet the requirement of low latency, the system was implemented using a client-server architecture. The high-level vision of the system and description of latencies are illustrated in the following diagram:

Project approach

We used Agile methodology to implement this project, working closely with the client and ensuring full transparency through frequent deliveries. This approach allowed us to incorporate feedback from the client into our work and deliver a product that fully met their needs. Regular meetings were held with the client to discuss progress and gather feedback, enabling us to quickly address any issues and keep the project on track. The methodology also provided flexibility to adjust the scope and introduce new features along the way, as new ideas appear after the project started.

We began by defining the MVP functionality – the most essential features that would form the foundation of the product. We then decomposed these features into smaller, more manageable tasks, with the goal of making each task clear and specific. Next, we prioritized these tasks, ensuring that the most important ones were tackled first. Finally, we split these tasks into sprints – shorter periods of focused work designed to help us make progress toward our goals. By taking this approach, we were able to break down a complex task into smaller, more manageable pieces, and make steady progress towards our ultimate goal.

Results and future plans

Within four months, the Itexus cross-functional team successfully delivered the MVP. This included all required functionality, along with user acceptance testing. The next release is focused on wrapping the React application into a desktop application to improve usability, and to enable the possibility of setting up shortcuts. Future plans for the project may include additional third-party integrations, as well as further optimization for low latency.

Are you interested in building a custom trading tool from scratch? Whether you have a clear idea or are still exploring your options, our team of experts can guide you from start to finish. Contact us for a free consultation.

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