“Our solution required a Windows client and Linux server software. We used MATLAB to rapidly develop both by taking advantage of distributed computing, a MEX-file interface to access our financial data, and fast, built-in functions for optimization, regression, and more.”
Julian Zenglein, Commerzbank
Synthesized from raw financial data, derived data is integral to the bank regulatory submissions and market valuations required by regulators, customers, shareholders, and executives. At Commerzbank, these mission-critical reports incorporate regulatory capital calculations and key risk measures, including value at risk and profit and loss distributions.
Commerzbank’s Group Market Risk Management Team must develop and validate calculations that provide analysts in middle, front, and back offices with reliable derived data. The derived data—which includes curves, such as credit spreads and CDS spreads; implied inflation and interest rates; transition matrices; implied volatility surfaces; and a range of correlations and volatilities—relies on advanced financial algorithms that ensure consistency across asset classes, markets, and time.
To support this requirement, Commerzbank built Market Data Distribution Service (MDDS). MDDS is the primary system at Commerzbank for high-quality validated reference and historical data for risk management, including a MATLAB® based calculation of derived market data.
“With MATLAB, we used the knowledge and expertise in our own department to rapidly build and refine the calculation functionalities of MDDS,” says Julian Zenglein, quantitative analyst at Commerzbank.
Commerzbank needed to access data from its Asset Control data management system, which housed both internal data and market data supplied by financial data vendors such as Bloomberg and Thomson Reuters. Data would be accessed through a Linux® server, but used on Microsoft® Windows®–based clients.
Bank analysts wanted a graphical application to help them configure and manage the computation of derived data, such as setting the starting point for a regression, viewing sample plots of results, and generating a complete, consistent market data set. They also needed to load and aggregate financial data from multiple points in their database to perform optimizations and analysis—for example, to apply regressions and solve linear and nonlinear minimization problems with constraints.
The analysts wanted to accelerate the development of MDDS and make the system easy to support and maintain by building it themselves rather than relying on IT development resources and release cycles. At the same time, MDDS needed to be robust, modular, and transparent, and it had to meet Commerzbank’s rigorous IT standards.
Commerzbank used MATLAB to build the MDDS algorithms and integrate them within a heterogeneous IT environment that included Windows clients, a Linux server, and Commerzbank database servers.
Working with MathWorks consultants, Commerzbank business analysts developed a proof-of-concept implementation of the cross-platform architecture for MDDS.
They created a MATLAB executable file (MEX-file) wrapper to connect to Asset Control, enabling the team to run MATLAB code on the Linux server and read raw market data from, and write calculations to, the Asset Control server.
With Financial Toolbox™, they generated cash flows for fixed-income securities and computed European put and call option prices using a Black-Scholes model.
Using Parallel Computing Toolbox™ and MATLAB Distributed Computing Server™, they accelerated the simultaneous retrieval of multiple financial data segments from within their database, and performed batched calculations in multiple currencies.
With MATLAB Compiler™, the team created a standalone Windows version of the MATLAB client, which can be run on multiple computers royalty-free.
MDDS is in production, and the team continues to add new features as the bank’s business needs evolve. The system is integrated into the bank’s software testing procedures, enabling critical IT standards to be maintained.
Compute a variety of derived market data from raw market data
Use MATLAB to read data from a data management system in a Windows and Linux architecture, perform analyses and optimizations, visualize results, and deploy mission-critical calculations