Clarus Risk Develops Software-as-a-Service Platform for Regulatory Risk Reporting

“With MATLAB and MATLAB Report Generator, we have combined object-oriented development, automated data processing, sophisticated risk models, and highly customized production reports in a single, highly efficient solution.”


Provide asset management companies with a service for complying with regulatory risk requirements


Use MATLAB and MATLAB Report Generator to build a software-as-a service risk reporting platform for asset managers, wealth managers, and fund services


  • Days-long liquidity stress tests completed in minutes
  • Rapid response to market changes enabled
  • Competitive differentiator created
Generating SaaS risk reports with MATLAB at Clarus Risk.

Generating SaaS risk reports with MATLAB at Clarus Risk.

When the European Securities and Markets Authority (ESMA) issued new guidelines for liquidity stress tests of investment funds, many wealth and asset management companies lacked the analytics and reporting capabilities needed for compliance. To help its clients meet this challenge, Clarus Risk enhanced RiskMonitor®, a risk reporting platform available as a managed service and as software-as-a-service (SaaS), to include liquidity stress testing.

Developed in MATLAB®, the platform automates data collection from investment counterparties such as fund administrators, applies asset-class and portfolio risk analytics, and generates risk reports customized for each client.

“Our workflow is extremely efficient because we complete it in a single environment, using MATLAB as a common language,” says Max Hilton, managing director at Clarus. “Automating the collection and standardization of portfolio data lowers our costs, while the ability to produce bespoke reports with hundreds of options for our clients differentiates us from our competitors.”


Many Clarus competitors require portfolio information to be submitted in a predetermined template, placing the burden of organizing and formatting data on the client. The Clarus engineering team wanted to relieve clients and their counterparties of this burden by developing an automated process for handling data files in virtually any format.

Once they had standardized the input data, the Clarus team needed to apply risk analytics, incorporating current market data from financial data providers such as Bloomberg. They then wanted to generate reports customized for each client, as well as reports with content, format, and branding tailored for investors, partners, the board of directors, and other stakeholders.


Clarus engineers used MATLAB to develop the company’s flagship RiskMonitor® platform for risk reporting.

The team used the object-oriented programming capabilities of the MATLAB language to develop object classes for the three main stages of their workflow: reader classes for data import, a risk monitor class for risk calculation and analytics, and report classes for report generation.

The reader classes read data from files in the dozens of unique formats used by asset management companies, banks, and other clients. These classes then normalize date and time formats and extract information from the raw data, including balance sheet details and historical performance. Results are saved in a standardized CSV format, which is then imported into a Microsoft® SQL Server® database using Database Toolbox™.

The risk monitor class first reads the standardized data from the database and uses Financial Instruments Toolbox™ functions to sort the contents of the portfolio into investment securities, cash, and other asset classes.

Next, the risk monitor class uses Datafeed Toolbox™ to retrieve current and historical data from market data vendors. It also calls Financial Toolbox™ functions to estimate value-at-risk (VaR), perform Monte Carlo simulation of correlated asset returns, and calculate asset class–specific risk metrics—for example, greeks for derivatives and duration for fixed-income securities.

The report classes use the results from the risk monitor class to produce risk reports with MATLAB Report Generator™. The reports are categorized by specific risk areas, including compliance, market, liquidity, counterparty, equity, and fixed-income risk.

Report objects are assembled into more than 100 different report types, ranging from a single-page fact sheet to a highly detailed, comprehensive risk analysis in PDF format.


  • Days-long liquidity stress tests completed in minutes. “Some of the firms we work with have struggled to perform principles-based liquidity stress testing in-house,” says Hilton. “With our MATLAB based platform, we can produce a liquidity risk report in a matter of minutes that would take those firms days to create in Excel®.”
  • Rapid response to market changes enabled. “Post-COVID-19 market volatility caused many asset managers to exceed statutory thresholds for VaR,” says Hilton. “With MATLAB, we rapidly introduced a time decay function that helped many of our clients customize their VaR calculations, and we did it much faster than our competitors.”
  • Competitive differentiator created. “When the new ESMA guidelines were released, we were able to quickly add principles-based liquidity risk capabilities to our platform because we had built it using an object-oriented framework in MATLAB,” notes Hilton. “That was a big differentiator for us, along with the flexibility and customizability of our reporting capabilities.”