Verified Expert in Engineering
Predrag is a software architect and engineer specializing in C++ for 20+ years. He started his career as an astrophysicist, working on groundbreaking experiments with optical and radio detectors; signal processing; and data management, analysis, and simulations. Leveraging those skills, Predrag transitioned to the financial sector as a lead developer for KRM, the market's most advanced financial risk analysis engine, used by some of the largest financial institutions to manage risk exposures.
Visual Studio, C++, SQL
The most amazing...
...feature I've implemented is a customizable bitmap classifier of financial records for Basel III regulatory reporting, using only a few clock cycles per record.
Senior Director of Software Architecture
- Led the team in redesigning Kamakura Risk Manager (KRM), the company's flagship solution, to fully transition to a cloud, on-demand, dynamically scalable data processing service while maintaining the product's existing competitive advantages.
- Designed and implemented SSO processing architecture and led the team that transformed of the legacy solution into a multi-tier data processing system in secure computing environments.
- Worked with clients to developed custom financial data processing algorithms.
- Designed and integrated calculations for new regulatory requirements in the financial industry into the existing risk management solution framework.
- Designed an API for an existing solution to allow for client-driven proprietary system enhancements.
Senior Development Engineer
- Developed and maintained the analytical engine of KRM, the open-platform financial risk management system.
- Modeled macroeconomic risk factors and valuations of all types of financial instruments.
- Implemented calculations of regulatory, accounting standards-based, risk-metric, and client-specific results.
- Designed and implemented various advanced mathematical models associated with financial risk calculations.
- Integrated the company's products with various third-party financial risk and data processing APIs.
- Designed and implemented the company's source code control protocol and backup and recovery system.
- Devised and introduced license delivery, enforcement, and intellectual property security for the company's software.
- Developed the graphical display for high-frequency, low-power, analog-to-digital converter modules designed, built, and operated by the physics department at the University of Hawaii under a NASA-funded grant.
- Implemented on-the-fly calibration conversions from digital readouts to voltage levels.
- Oversaw the training and integration into field use.
University of Hawaiʻi at Mānoa
- Implemented a system for receiving, safely storing, and pre-processing the highest-priority signal data from a NASA-operated, long-duration balloon flight.
- Served as the head developer, leading the team in charge of processing a live telemetry data feed and displaying the status online for monitoring, command, and control of the NASA-operated balloon flight.
- Developed a graphical interface for 3D visualization of dual-polarity antenna cluster signals with the ability to zoom into time and frequency domains of the individual channels.
- Introduced software for automatic calibration of high-frequency antennas and managed the team in charge of antenna calibration.
University of California, Berkeley
- Developed Monte Carlo-based photon-field tracking software for signal simulation and calibration of a large, optically inhomogeneous neutrino telescope funded by the National Science Foundation (NSF).
- Collaborated on developing a client-server model for on-demand delivery of the resulting photon-field tables for use in a distributed cluster computing environment.
- Used neutral networks and other machine learning techniques to reduce the data volume of the photon-field table while retaining all the relevant timing and intensity information.
Kamakura Risk Managerhttps://www.kamakuraco.com/solutions/kamakura-risk-manager/
• Addressed technology debt by redesigning the modeling library to use object-oriented design to model financial instruments.
• Implemented financial modeling and valuation for vanilla and exotic financial products.
• Designed a system for high-performance multithreaded computation and input/output.
• Expanded capabilities of Monte Carlo-based simulations of macroeconomic risk factors and instrument valuations.
• Enhanced the custom scripting interface for user-defined econometric variables.
Asset Forecast Optimization Algorithmhttps://www.kamakuraco.com/solutions/kamakura-risk-manager/net-income-simulation/
I formed and led a team to implement an asset reinvestment optimization algorithm in an income forecasting simulation (KRM). This required: 1) implementing an algorithm in C++ to forecast selling and buying of assets following the reinvestment rules and constraints and 2) defining new data structures in an SQL database to configure such rules and constraints and store intermediate results of algorithmic decisions. The results of asset forecasts were integrated into the client’s Power BI framework.
By automating the execution of asset reinvestment rules in existing income forecasts, the client accelerated its processing of what-if scenarios and simplified the configurations needed to drive income forecasts. They could test and analyze the effects of new and modified reinvestment rules more quickly and precisely to select the best-performing assets for their trading strategy.
Optimized Parsing of Recursive Scripts
A large Central European bank (managing €275 billion in assets) migrated from a legacy risk system to KRM, using this scripting interface to replicate interest rate forecasting logic used by its legacy solution for validation in KRM. The client’s scripts used recursive logic for rates over a 10+-year horizon. When placed in production, several hundred of these scripts took more than an hour to parse and prepare for calculation.
Using Visual Studio profiling tools, I optimized a C++ script parsing algorithm to use more efficient STL-based memory objects, significantly improving the parsing performance. With the new algorithm, original scripts took only seconds to be parsed and prepared for calculation.
The bank was able to complete several production runs in the same time it took the original code to prepare for a single run. This allowed for quicker calculation comparison and validation, which led to a faster UAT process and acceptance of the new system.
3D Animated Data Display
Animations and static 3D views of the data helped to guide data analysis and provided easily understood visuals. This allowed the project to popularize and communicate its mission and results among scientific peers, funding agencies (resulting in a multimillion-dollar allocation in the Congressional budget), and the wider community interested in scientific discovery (https://www.nature.com/articles/nature.2013.13026).
Conversion of LIBOR-based Contracts to Risk-free Rateshttps://assets.bbhub.io/professional/sites/10/Factsheet-IBOR-Fallbacks_V4_Dec2021.pdf
To support these contracts, the ISDA published rules to calculate LIBOR-like rates from RFRs. The rules satisfy original LIBOR logic and availability of RFRs for future calculations, but they are complex because defining how to construct a replacement benchmark rate must account for global differences in business days and holidays.
An Australian bank with 900 billion AUD in AUM and long-term LIBOR contracts required the ISDA rules for the LIBOR replacement rate when forecasting its long-term balance sheet positions. I implemented a C++-based algorithm that executes the rules, enables efficient recalculation of rates under simulated market shocks to RFRs, and allows for currency-specific rate differences. Despite more complex logic, simulations performed with the new algorithm have minimal speed degradation compared to original LIBOR-rate-based simulations. The client uses it in nightly production runs without workflow modifications.
Dynamically Forecasted Regulatory Ratioshttps://www.bis.org/publ/bcbs238.htm
In forecasts, banks must account for reinvesting maturing assets by simulating and categorizing new records on their balance sheets to include in LCR/NSFR values. Large banks have hundreds of millions of simulated asset records, so it’s untenable to categorize them across 40+ dimensions via legacy SQL-based workflows.
A major SE Asian bank ($90+ billion in AUM) had process bottlenecks and configuration limitations, thus calculating only current LCR/NSFR values. I used C++ algorithms to replace the SQL-based workflow for these calculations. By keeping the existing SQL categorization setup, the client didn’t have to modify its inputs and seamlessly used the new, faster routines. Thus, millions of simulated records were instantaneously categorized and aggregated, allowing the client to efficiently calculate and predict both current and future LCR/NSFR values and adjust funding and asset selection models to meet mandated limits.
CECL Modeling for Non-standard Loanshttps://www.kamakuraco.com/insurance/cecl-ifrs9
Agricultural loans are atypical in structure and the variability and lumpiness in their payoffs. This lender has detailed models for future loan payoffs and default probabilities. CECL requires loan cash flows to be adjusted and expected losses calculated based on default probabilities in a very specific way that isn’t compatible with time-dependent forecasting methods.
To cover the incongruence between the regulatory requirement and modeling methodology, I implemented a new algorithm in the KRM net income simulation, which calculates CECL-adjusted cash flows and expected losses for any type and future timing of loan payoffs without time-consuming recalculation of loan amortization schedules. This allowed the client to use a single production run, greatly reducing the cost of server time and complexity of workflow to forecast both future income based on its models and CECL-based provisions for annual filings.
Standard Template Library (STL), Windows API, wxWidgets, ODBC, Sockets, POSIX, FFTW
Visual Studio, Subversion (SVN), Microsoft Visual C++, GCC, MATLAB, LaTeX, Microsoft Excel, Excel 2010, Excel 2016, wxPython, Bloomberg, Mathematica, Makefile, RabbitMQ, Git, GDB, Valgrind, Gprof, MinGW
Object-oriented Design (OOD), Object-oriented Programming (OOP), Asynchronous Programming, Agile, Data Science, Database Design, REST
Banking & Finance
Monte Carlo Simulations, Financial Modeling, Markov Chain Monte Carlo (MCMC) Algorithms, Cash Flow Analysis, Waterfall Delivery, Physics, Mathematics, Quantitative Modeling, Multithreading, Non-blocking I/O, Low Latency, Data Architecture, Optimization, Algorithms, Monte Carlo, Finance, Mathematical Modeling, X11, Unix Shell Scripting, Kerberos, Finance APIs, Distributed Systems, CECL, Scripting, Data Modeling, Mathematical Finance, Basel III, Basel II, Liquidity Coverage Ratio (LCR), Net Stable Funding Ratio (NSFR), ISDA SIMM, Architecture, Asynchronous I/O, Solution Architecture, Derivative Pricing, Derivatives, Interest Rate Swaps, Cross-currency Swaps, Swaps, Classification, Interpreter Design, 3D, 3D Geometric Analysis, Fourier Analysis, 3D Visualization, 2D Visualization, Data Visualization, Visualization, Data Processing, Unix Clustering, Linux Kernel, HTTP, User Experience (UX), LDAP, Linear Regression, IFRS 9, TCP/IP, Encryption, Neural Networks, Doxygen, Basel IV, Cryptography, APIs, Animation, Encapsulated Postscript Vector Graphics (EPS), Signal Filtering, Digital Filters, Antenna Design, Signal Processing, Networking, Authentication, Single Sign-on (SSO)
Linux, Unix, Windows, Oracle, Azure
Microsoft SQL Server, Databases, Database Architecture, Azure Active Directory, Sybase, IBM Db2, PostgreSQL, Oracle PL/SQL
PhD in Astrophysics
University of California - Berkeley, California, USA
Master's Degree in Physics
University of California - Berkeley, California, USA
Bachelor's Degree in Physics
Tennessee Technological University - Cookeville, Tennessee, USA