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.
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 passwordTrading 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-toAlgorithm 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.
Related Projects
All ProjectsFinancial Data Analytical Platform for a Large Investment Management Company
Financial Data Analytical Platform for a Large Investment Management Company
- Fintech
- Enterprise
- ML/AI
- Project Audit and Rescue
AI-based data analytical platform for wealth advisers and fund distributors that analyzes clients’ stock portfolios, transactions, quantitative market data, and uses NLP to process text data such as market news, research, CRM notes to generate personalized investment insights and recommendations.
App for Getting Instant Loans / Online Lending Platform for Small Businesses
App for Getting Instant Loans / Online Lending Platform for Small Businesses
- Fintech
- ML/AI
- Credit Scoring
Digital lending platform with a mobile app client fully automating the loan process from origination, online loan application, KYC, credit scoring, underwriting, payments, reporting, and bad deal management. Featuring a custom AI analytics & scoring engine, virtual credit cards, and integration with major credit reporting agencies and a bank accounts aggregation platform.
Wealth Management Platform
Wealth Management Platform
- Fintech
Wealth management platform connecting investors with a professional wealth-advisory company, allowing investors to answer a questionnaire and receive either a recommended model portfolio or a custom-tailored individual portfolio, that is further monitored, rebalanced and adjusted by a professional wealth-adviser based on the changing market conditions and client’s goals.
AI-Powered Financial Analysis and Recommendation System
AI-Powered Financial Analysis and Recommendation System
- Fintech
- ML/AI
The system uses machine learning techniques to process various content feeds in realtime and boost the productivity of financial analysts and client relationship managers in domains such as wealth management, commercial banking, and fund distribution.
Contact Form
Drop us a line and we’ll get back to you shortly.
For Quick Inquiries
Offices
8, The Green, STE road, Dover, DE 19901
Żurawia 6/12/lok 766, 00-503 Warszawa, Poland