About the Client
The client is a technology startup based in Cyprus that unites a world-class team of diverse and established professionals with international experience in fintech, science, engineering, research and business development.
The client discovered that only a few affordable investment solutions for people with low income exist on the market. Specifically, there are no low risk products that provide automated buy and sell signals for major stocks, indices, and futures. Therefore, the client called on Devexperts. The client wanted a secure, tested fintech platform for retail investors to grow their capital. The client created an algorithmic framework that identifies major highs and lows in stocks and indices in real-time and triggers automated trading signals. Their aim was to design a product that provides users the opportunity to subscribe to the robo-advisory algorithms, eliminating the need to choose between loads of suspicious products. Devexperts was also responsible for providing all the information so the client would be ready for pitching investors.
The robo-advisory solution was to:
- Help grow users’ brokerage accounts by an average of 20% a year,
- Fill the market gap between hedge-funds and lower return unhedged investments (ETFs, mutual funds, savings accounts, credit default swaps, etc),
- Offer an intuitive system, providing users access to the best algorithms,
- Tackle the challenge of investment performance volatility and the inevitability of market crashes, which wipe out a significant portion of retail investment portfolios.
After the client explained their idea, Devexperts suggested a solution combining a mix of algorithmic and copy trading with two new interconnected platforms (Platform A and Platform B). Platform A is where trading strategy analysts work, while Platform B is a place where users subscribe to the algorithms and receive value from the robo-advisory.
Platform A workflow
- An analyst codes an algorithm in MATLAB.
- A developer converts the algorithm code from MATLAB to the platform language.
- The developer imports the resulting code to Platform A and conducts backtesting.
- Once the algorithm is ready, it should be deployed to Platform B for execution on a paper money trading platform.
- Once the algorithm is tested there, it is ready to be deployed to an auto trading platform.
Platform B specifics
- The algorithm manager subsystem embedded in Platform A is the entry point for algorithm developers. It is a connector between the two platforms. The subsystem controls all versions of all the algorithm executables.
- The web application where users can create and configure a brokerage account, subscribe to an investment strategy and make profit is the entry point for users.
- The admin panel allows administrators to monitor the system and events such as algorithms performance metrics, users subscriptions/licenses, and user roles and permissions.
Devexperts met with the client and designed the system taking into account all necessary integrations, performance, and further scalability. The client received documentation for the product scope, which contained the following information:
- Product vision,
- System architecture,
- Subsystems description,
- Technical implementation details.
Devexperts provided descriptions for each of the following modules.
- MATLAB: An application built by MathWorks that includes its own programming language and environment to create mathematical algorithms.
- dxFeed: A market data provider showing historic candles used in Platform A for backtesting.
- Platform A Backtesting: A module responsible for backtesting new algorithms using historical data.
- Platform A Deployment: A module responsible for deploying algorithms to Platform B for execution within a paper money trading platform and real brokers through the Platform B Algorithm Manager.
- The platform B onboarding process: Users are supposed to register their accounts themselves. They provide the requested information, agree to the terms and conditions, and link their own brokerage accounts.
- Algoritm manager: A module responsible for managing and running algorithms so they are available for Platform B.
- Algorithm processor: An algorithm core that receives the quotes and produces signals based on the algorithm logic.
- Platform B database: A relational SQL database that stores all business entities required for platform E such as users, subscriptions, payments, documents, events, etc.
- Algorithm storage: A specific table in the Platform B database where all algorithm executables are stored.
- Trading platform: The Order Management System built by Devexperts on the dxTrade Backend.
- Brokers: An auto trading platform.
- Payment gateway: A module responsible for processing payments using direct bill, credit card or PayPal.
- Access management: A module responsible for managing users/roles..
- Algorithm subscribers: A module where users and algorithms are connected.
- Reports: Generates reports based on requested metrics.
- Notifications: A service responsible for notifying customers about events such as no-fills, insufficient funds, rejected orders, a >1,000 USD trade profit, or a <-1,000 USD trade loss.
Devexperts laid everything out in detail so the client could successfully pitch the project to investors and start putting together its development team.