User Stories

Robeco Develops Quantitative Stock Selection and Portfolio Optimization Models


Develop, distribute, and maintain quantitative tools for portfolio construction and management


Use MATLAB and MATLAB Compiler SDK to develop algorithms, build quantitative models, and deploy solutions


  • Applications updated faster
  • Black-box solutions eliminated
  • Scalability and flexibility increased

"Unlike companies that rely on off-the-shelf quantitative analysis solutions, we can see our process improving all the time. We have the flexibility to continuously improve our algorithms and models in MATLAB—and that is a big advantage."

Willem Jellema, Robeco
Interest rate paths for the risk analysis of a savings product.

Robeco is one of Europe’s leading asset management firms and a subsidiary of the global financial services company Rabobank. With more than 135 billion Euros under management, Robeco complements its fundamental analysis with quantitative research developed by its Quantitative Strategies group. This group, responsible for the quantitative element of Robeco’s investment process, also solves strategic and tactical investment issues such as portfolio management, strategy modeling, back-testing, and asset and liability management.

Robeco researchers use MATLAB® to develop, distribute, and optimize portfolio construction tools based on sophisticated quantitative models for stock selection, corporate bond selection, asset allocation, and risk management. Currently, 12 billion Euros are being managed quantitatively with the models from Quantitative Strategies.

"Our complex calculations depend on numerous iterations and a large amount of data. This is not something we can do with a spreadsheet," says Willem Jellema, research analyst at Robeco. "With MATLAB, we have a computational platform for easily performing these calculations, developing models, testing strategies, and deploying quantitative tools to our portfolio managers and risk managers."


Robeco needed a proven computational platform for developing quantitative models and algorithms. The scope and complexity of Robeco’s quantitative models were beyond the capabilities of spreadsheets and commercially available alternatives were inflexible. “Spreadsheets are not well suited for iterations,” notes Jellema. “Moreover, standard vendor products are like black boxes, which means that they cannot always be modified.”

In addition, the research team needed to distribute applications based on the models to dozens of portfolio managers across the company. In the past, the company’s software developers would recode algorithms provided by the research team into Microsoft® Visual Basic® applications. As the computations became more complex, this process became more time-consuming and error-prone, slowing the pace of updates and making maintenance difficult.


Robeco researchers used MATLAB to develop algorithms and models for stock selection, credit selection, pricing collateralized debt obligations, and portfolio optimization. To streamline deployment, the group used MATLAB Compiler SDK™ for Microsoft .NET framework to translate models into computational components that are integrated into the software development team’s Visual Basic applications.

The research team started by implementing a stock selection model in MATLAB. This model screens funds and serves as the performance driver for their quantitative long- only funds as well as their market-neutral portfolios. The team also constructed a complete back-test environment for their stock selection model in MATLAB.

Using this environment, researchers performed many back-tests to find the best model, not only in terms of performance, but also in terms of robustness. Robustness is tested by conducting various sensitivity analyses, which can be easily added to the back-test environment in MATLAB. After they developed an effective model for stock selection, the team used Optimization Toolbox™ to develop algorithms for constructing and rebalancing optimal portfolios based on the appropriate risk level.

The team used MATLAB and Optimization Toolbox for historical portfolio simulations to generate portfolios that maximize investment performance given constraints such as sell/buy thresholds, minimum portfolio weights, beta exposure restrictions, and country or region restrictions.

To avoid the time and expense of translating algorithms into Visual Basic code, Robeco’s quantitative analysts used MATLAB Compiler SDK to create DLLs for the software development team that are based on the quantitative models. Software developers then created Visual Basic applications that access the DLLs to compute stock rankings and perform the portfolio optimization routines.

Applying the same approach, Robeco researchers developed and deployed MATLAB models for corporate bond selection, currency allocation, pricing collateralized debt obligations, and country allocation.

Robeco also uses MATLAB to calculate probability distributions for their private equity fund-of-funds and run Monte Carlo simulations for determining regulatory and economic capital and customer behavior of savings accounts.


  • Applications updated faster. “With MATLAB Compiler SDK, we update our applications more frequently than recoding the model in Visual Basic,” Jellema says. “By separating the computational core from the UI development, we implement changes right away. The whole process is easier, faster, and much less error-prone.”

  • Black-box solutions eliminated. “Many of our competitors use prepackaged solutions. They often have no idea how they work in detail, and in most cases they cannot change them. Getting a vendor to make a change can take years and multiple customer requests,” notes Jellema. “Because we built our own solution in MATLAB, we can immediately change, test, and deploy our algorithms whenever we see an opportunity for improvement.”

  • Scalability and flexibility increased. “Spreadsheets work for small data sets and simple intuitive calculations, but for our needs they are not workable,” Jellema explains. “MATLAB handles complex computations and large data sets easily, and allows us to other researchers for new purposes.”