Skip to content

obsidiansystems/daml-syndicated-loan

Repository files navigation

Syndicated Lending in DAML

Project Description

This is application has been built by Obsidian Systems as an example of how DAML can be used to model syndicated lending.

A syndicated loan is a loan that is issued by multiple parties, called participants, via an intermediary, called an agent or arranger, to a borrower. Within that basic structure there are many, many possible variations.

Syndicated Loan Summary

Phases

There are three principal phases to a syndicated transaction. The first is the pre-mandate phase during which the details of the proposed transaction are pitched, discussed and finalised. This pre-mandate phase is rarely shorter than one month and can be as long as one year depending on factors such as transaction complexity, market conditions and borrower sentiment. The second phase is the post-mandate phase during which the syndication itself takes place, and the facility agreements along with associated documentation are negotiated. It is concluded by the signing of the agreements and associated documentation, and sometimes a closing ceremony. This phase is usually completed in a period of six to eight weeks. The third and final phase is the post-signing phase, which lasts for the life of the facility itself and is rarely shorter than six months (in the case of a bridge loan for example) or longer than five years for standard syndicated transactions, although syndicated transactions on some aircraft and project financings have been contracted for a period of up to 18 years.

-- Syndicated Lending: Practice and Documentation

Parties

A basic syndicated loan involves the following primary parties:

  • a single borrower who requests a loan from an agent;
  • an agent (also called an arranger) who collects the borrowers information, underwrites the loan, and then proposes it (without the borrower's personal information) to a group of participant lenders;
  • participants, who review the agent's proposals and offer loans for set sums and interest rates to satisfy part of the loan request.

Workflows

This application models loan origination and servicing.

Lending and Servicing Workflow

Future Directions

This example can be extended in a number of ways, including:

  • Adding agent fees
  • Modeling covenants and loan modifications/acceleration on covenant breach
  • Modeling interest rate modifications (either due to variable rate or as a consequence of contractual terms)
  • More complex disbursements, e.g. triggered by drawing requests and/or conditions (like in a construction loan)
  • Loans in which the identities of the lenders remain private, e.g. for crowdfunding
  • Actions which lenders can perform by voting
  • Multi-tranche loans

References

Announcement or *tombstone* of a syndicated loan

Building the Project

If you're a Nix user, you can use nix-shell to enter a shell with all the required dependencies. Otherwise, install the daml sdk by following the directions here.

Once you have the sdk, you can run:

  • daml studio to open the project and run the scripts
  • daml test to run the test scripts
  • daml build to compile dar packages for deployment