Bojan Nikolic / BN Algorithms Ltd

[CDS home] | [website home] | [BN Algorithms]

Introduction

The ISDA in collaboration with JP Morgan and MarkIT has recently released as open-source software a model for valuation of Credit Default Swaps (CDS). This model was already widely used in the industry before its formal release to the public, and its is popularity is only likely to increase with this first fully public release.

The implementation and the interface to the model is in the standard ANSI C language without the use of any external library (except for the standard C library). This interface therefore suffers from the usual problems of software implemented in this technology:

  • Difficult and error-prone memory management
  • Difficult error-handling
  • Significant duplication of code
  • Confusing structure
  • Difficult to extend and improve

These shortcomings can be very effectively overcome though the use of modern C++ language. We have therefore designed and implemented a library which forms a layer on top of the ISDA Standard CDS model, and provides a much more modern and less error prone interface to the exact same pricing logic.

About the BNCDS system

BNCDS is an interface, or wrapper, library for the ISDA standard model. BNCDS is written in C++ and currently only callable from the C++ language. Through the proper use of C++, BNCDS resolves many of the issues and potential pitfalls when calling the original C library.

Some of the main improvements that are achieved are:

  • Automatic memory management
  • Stronger typing detects errors at compile-time
  • Error implementation through exceptions allows easier handling of errors within applications
  • Contracts and other data structures are represented as first-class objects, allowing much easier creation, modification and pricing of swaps
  • Easier integration in C++ applications
  • Classes control the internal consistency of data, reducing probability of user error
  • Code is more concise and much easier to understand

Intended target applications

BNCDS is primarily intended for automated pricing of a large number of securities and, especially, for the risk-management of a portfolio of securities. As can be seen later in this documentation, the interface can also be used to quickly and easily make single valuations, but it is for larger-scale application that the full benefits of a an C++ interface become apparent. For simple ad-hoc applications, the spreadsheet interface supplied with the ISDA model can be used.

Where and how can I get BNCDS?

Licenses for BNCDS are available from BN Algorithms Ltd – please get in touch at webs@bnikolic.co.uk. The licenses are provided to whole legal entities only, and include access to the source code. Pricing available on application.

Why is this documentation available publicly?

The primary reason is to make potential customers aware of the BNCDS system and its capabilities in an the most open way. The second reason is that these page act as the open channel of communications between us and all existing customers.

The final reason is try to clarify some common question related to valuation of CDS contract.

Is this the complete documentation for BNCDS?

No – the main body of documentation is only supplied with purchase of licenses. It is created using the doxygen documentation system and contains fully hyperlinked documentation of the ISDA standard model, the BNCDS interface and the example programs.