LCR Implementation

Overview


Lquidity Coverage Ratio


The liquidity coverage ratio measures the value of a banks liquid assets divided by its projected cash outflows for the next 30 days. It assumes there are no cash inflows or asset growth in any other way. Its purpose is only to determine whether the bank has liquid assets that it could raise cash with in enough quantity to cover what it projects it cash outflows will be. Generally this is a conservative measure, as most banks will have other cash inflows during the month. However, this formula determines how many months the bank could stay liquid assuming no inflows given its current position.

{% Liquidy\:Coverage\:Ratio = \sum liquid\: asset\: values / \sum net\: cash\: outflows %}


Calculating the liquidity coverage ratio is pretty straightforward. If you have data listing the values of your assets, and a list of the projected cashflows for the next month, the code for calculating lcr looks something like the following.


let today = new Date();
let numerator = $list(assets)
			.filter(p=>p.liquid)			
			.map(p=>p.value)
			.sum();

let denominator = $list(cashFlows)
			.filter(p=>p.date < $date(today).addDays(30).date)
			.map(p=>p.value)
			.sum();

let lcr = numerator/denominator;
					


Of course, the difficulty here is calculating the projected cashflows. There are several tools that can accomplish this. There is a set of davinci libraries that can do this,and can be found here.

Accumulated Cash Flows






let today = new Date();
let numerator = $list(assets)
  .filter(p=>p.liquid)			
  .map(p=>p.value)
  .sum();

let denominator = $list(cashFlows)
  .filter(p=>p.date < $date(today).addDays(30).date)
  .map(p=>p.value)
  .sum();

let lcr = numerator/denominator;
					

Contents