Using Multidimensional Linear Interpolation to find Economic Capital Rates

In banking, Economic Capital (EC), is an internal measure of capital required to absorb unexpected losses while remaining solvent at a targeted solvency level. It provides a common basis for comparing risk-adjusted profitability and relative economic value of lines of business and asset classes with varying degrees and sources of risk.  EC has various applications that include performance measurement, risk-adjusted pricing, capital allocation, capital adequacy and risk concentration management. EC can be allocated at either a loan, facility or line of business level.

Economic Capital is statistically/quantitatively determined and designed to be sensitive to changes in loan characteristics (risk factors) as a result of both systematic and idiosyncratic factors. Very often EC is calculated through the use of Monte Carlo Simulation – An analytical technique that involves performing a large number of random iterations, called simulations, to generate a statistical distribution of possible outcomes.  In finance, Monte Carlo simulations are used to value and analyze complex instruments, portfolios and investments by simulating the various sources of uncertainty affecting their value.Read More »

Use R to Easily Estimate Migration Matrices with RTransProb (Part 1)

This blog introduces my R package, RTransprob. The RTransprob package contains a set of functions used to automate commonly used methods to estimate migration matrices used in credit risk analysis. This includes methods for estimating migration and default rates based on the duration and cohort methods, bootstrapping default rates and forecasting/stress testing credit exposures migrations, via Econometrics and a couple of Machine Learning algorithms.

Read More »

Turbo charge your R code with RCPP

So, you’ve written code in R which contains somewhat complicated loops. The execution time is not quite as fast as you hoped for. You turn to using the profvis package in RStudio (or Rprof) to profile the R program, in the hopes of finding the places in your code that are causing the bottleneck.  The profiler returns a few areas that you focus on to make more efficient, but unfortunately no matter how many ‘loops’ you jump through, you can’t seem to reduce the execution time.

Next, you spend at least a couple of frustrating hours trying to figure out how to vectorize (think: higher-level programming to improve efficiency) the loops creating the bottleneck, to no avail. And it’s okay to admit it, we’ve all been there.

STOP!!!! The solution may be to rewrite some of your key functions in C++.Read More »

How to quantify Model Risk from Parameter Uncertainty

For a quantitative analyst whose models are frequently scrutinized by Federal Reserve Bank examiners, the ability to quantify model risk is an important part of the model documentation process. Model risk is typically described as “. . . the potential for adverse consequences from decisions based on incorrect or misused model outputs and reports.”

Model Risk quantification can be a tricky concept to grasp.  But when we consider that models are nothing more than abstractions of real life situations, it’s easier to see how there are risks associated with models. Even when models perform exceptionally well in recreating said real life scenario.Read More »