Blog Posts — February 23, 2022

How to scale portfolio construction on the cloud

Portfolio customization: Have you ever heard of it? If you’re a wealth manager, the answer is probably ‘yes’. But trying to keep up with investor demand to incorporate individual preferences across hundreds, if not thousands, of portfolios cost-efficiently, is a tall order requiring the right underlying technology and support across your organization.

In recent years, we’ve seen an increasing number of clients looking to transition their portfolio construction technology from on-prem servers to cloud-hosted providers to offload hardware costs and take advantage of the scalability of the cloud. But a word of caution: Having access to expanded capacity doesn’t guarantee that systems and processes will run faster and more efficiently (and as we noted in a recent post, cloud-native can be less cost-efficient if not deployed properly). Building a solution that can manage many accounts with customized rules can be challenging as there are many parts of the process.

In this blog post, we demonstrate how wealth managers can deploy the Axioma Portfolio Optimizer on the cloud for portfolio customization at scale while potentially reducing the total cost of ownership.

Batch optimization at the individual account level

One of the most common use cases for wealth and asset managers is optimizing hundreds of thousands of separately managed accounts (SMAs) in a nightly or weekly batch1. These accounts follow a series of common objectives such as harvesting losses, managing cash flows, or tracking a model portfolio while controlling for trading costs. The restrictions (or constraints) to the optimization often include guidelines at the account level on the investment type or the buy universe.

Figure 1: Deploying the Axioma Portfolio Optimizer on the cloud

Step 1: Input data  

  • Account data: This can be sourced from REST APIs, network drives, SQL databases, or cloud storage systems that are set up to supply the necessary account holdings and transactions. For taxable accounts, trades within the last 30 days need to be available to avoid wash sales and prevent buying any security recently sold for a loss.
  • Optimization requirements: These are defined by the client or the portfolio managers. Typically, the common objective is to track an index or model the portfolio in a tax-efficient manner. In addition, a client will have preferences or investment guidelines defined as constraints. For example, this could be a specific investment universe, sector allocation, minimum holdings / trading limits, or tilts to ESG scores.
  • Other data: This is supplemental data like a risk model, ESG scores, or fundamental information (i.e., dividend yield, market cap, industry and country membership). The optimizer requires this as an input, but this data is not specific to the account. Often, the base data is the easiest of the inputs and requires connecting to a network drive or database to extract the necessary information.

Step 2: Deployment on the cloud

Prior to arrival of cloud computing, it would have taken months and required a collaboration between different teams to acquire budget, buy hardware, develop code, deploy and to monitor applications within an organization. With the move towards the cloud and “containerization”, many of these pieces can be split out into separate components. The Axioma Portfolio Optimizer API fits into this environment, resulting in faster time to deployment and an infrastructure that can scale horizontally to handle increased workload.

In addition, the optimizer API is accessible from a variety of programming languages including Java, C++, Python, MATLAB, R, and Web Service. The optimizer API can easily be deployed and scaled to handle large workloads. In the batch SMA use case, each client portfolio will grab input data, run an optimization, and output the results to downstream systems before shutting down. Implement a job scheduler in front of this and you can easily optimize thousands of accounts on a set frequency.

Step 3: Review optimization outputs

Once the optimizer is finished running, you can view its findings from all SMAs including:

Final portfolio and trade list which gets sent to a compliance system to verify the trades are within guidelines before traders can execute via their OMS or EMS.

Analytics such as:

  • Losses harvested or net tax gains incurred
  • Alignment to model portfolio
  • Tracking error
  • Turnover
  • ESG exposures

Now that you have a better sense of the basic workflow for building a system for large scale portfolio construction, you may realize that each step isn’t as complicated as you may have thought. However, the devil really is in the details. Whether you’re sticking to on-prem or deploying on the cloud, having the right technology that can fit into your infrastructure and provide the flexibility you need to manage all your clients’ individual preferences is critical. Increasing efficiency while reducing the total cost of ownership – which could be done through the Axioma Portfolio Optimizer – allows you to provide an even greater return to your clients. If you’re interested in learning more or have any questions, feel free to get in touch with us.


[1] Note that the trading frequency is not always the same as when running a batch job. You may want to generate sample trade lists on a weekly frequency, but only execute them monthly or during large swings in the market to take advantage of tax loss opportunities.