
WealthTech Insights
Nowadays, robo-advisors have become widespread. These services enable people with relatively low-value investable assets to benefit from online finance and portfolio management. Robo-advisors are automated tools that use a variety of algorithms to allocate assets, such as Modern Portfolio Theory, the Capital Asset Pricing Model , the Black Litterman Model, the Fama–French Model, etc. However, the efficiency of each platform depends on not just the algorithms implemented, but all the system components, including technologies, architecture, development and business processes, etc.
In this post, I want to focus on issues concerning wealth-management platform architecture, and discuss the concepts used when defining the software structure.
To define the best architecture for a robo-advisor platform, you should first specify what requirements the platform needs to meet. Usually, robo-advisors perform the following functions:
As you can see, robo-advisors are complex systems with a variety of functions and services. Thus, when defining the platform architecture for a robo-advisor, you should consider the possibility of expanding its features.
In order to reduce the requirements for robo-advisor architecture into a few words, I would highlight the following capabilities:
To meet these requirements, a multi-tier microservice architecture is the best choice for a fast growing wealth management startup.
The major problem faced by most enterprise software startups when they begin to be successful is their inability to expand software features at a satisfactory pace. This is generally caused by a monolithic architecture: adding new features to such architecture requires testing and redeployment of the entire system again and again. Moreover, such architecture becomes a serious challenge when you need to improve the system’s scalability.
On the contrary, when the software platform has a microservice architecture, adding new functionality means creating additional independent services, and testing and deploying only parts of the platform. In addition, if requirements change, particular microservices may be easily replaced without the need to defer subsequent system development.
One of the most important challenges that robo-advisors face is meeting security requirements. When a multi-tier architecture is used, secure APIs guarantee the confidentiality of the information processed. When a microservices architecture is used, databases are less likely to come under external attack, since access is restricted by the services. In addition, security updates may be deployed more easily and quickly if the software system has a microservice architecture.
Regarding the tiers (layers) required for a robo-advisor platform, the following are obligatory:
Depending on additional features, the robo-advisor platform may contain more tiers, although services providing extra functionality may be included in the analytics and services tier.
Now, let’s have a look at the best technologies for each tier.
The presentation tier should provide a consistent user experience across all channels (mobile, Web, etc.) for platform users—i.e., clients and custodians. Creating applications involves using GUI, Web-based technologies (HTML, JavaScript), and mobile apps. To create the presentation tier, Bootstrap, AngularJS, React, Vue.js and jQuery are most often used.
This tier should also be able to create visual reports and visual analysis. Visual reports use charts and graphics that give platform users visual snapshots of their portfolio performance based on predefined metrics. Visual analysis provides results of statistical and predictive analysis that have been performed in the analytics tier.
The analytics and services tier involves business intelligence and analytics, as well as real-time and/or batch messaging. This is the most complex tier, and includes a number of loosely coupled services that each focus on one business task. Communication between the services is provided via APIs.
Techniques such as data science, predictive analytics, and machine learning are used for supporting and improving business processes. For messaging, Apache Kafka, RabbitMQ, and ActiveMQ are good choices. The Analytics and Services tier is mostly built on Java (e.g., Anaplan, Vestmark, Personal Capital, AdvisorEngine, etc), Scala (Jemstep), Ruby (Wealthsimple, Acorns, Bloom, etc), C++ or C# (SelfWealth, WiseBanyan, etc).
The third-party systems API tier enables the exchange of various types of data with manifold channels. Primarily, REST API with JSON is used. Most information is received from data aggregators, such as Quovo, Yodlee, Morningstar, etc., and is retrieved from global financial institutions. The aggregators offer RESTful APIs as a simple and secure way to access data, which often has JSON or CSV formats, and may be easily integrated into a robo-advisor platform.
The data transformation tier needs to convert the variety of data formats received into a unified format.
Robo-advisors generally deal with a number of data types, such as client account data, transaction data, wire data, trade data, etc. The data tier should be able to deal with Big Data and provide batch, streaming, in-memory, and real-time processing. For this tier, both SQL and NoSQL database types are used. The most popular databases are MySQL (Wealthfront, Motif Investing, Expensify, Voyant, Vanguard, etc), PostgreSQL (Wealthsimple, Acorns, Stash, etc), Cassandra (Anaplan, Deem, etc), MongoDB (Personal Capital, Ginmon, Yomoni, Swanest, Ginmon, etc). The Apache Hadoop and Spark are the best choices for processing large amounts of data in a short time due to their ability to run parallel calculations, retain data for long periods of time, and be horizontally scaled.
To meet the requirements imposed on wealth-management platforms such as robo-advisors, their architecture should be logical, and enable straightforward upgrading and expansion of their functionality. Multi-tier service-oriented architecture ensures maximum security and scalability while providing optimal performance and maintainability. In addition, using microservices architecture has a number of benefits. For example:
As robo-advisors provide an increasing number and variety of services, the microservices architecture becomes the only efficient way to make wealth-management platforms flexible, scalable, and rapidly extendable.