This library is a C# implementation of the following Initial Margin models for non-cleared derivatives transactions:
- Standard Initial Margin Model 2.1 (SIMM™ 2.1) developed by ISDA
- Schedule Initial Margin Model developed by BCBS
Both models can handle Post and Collect regulations through a worst-of approach and Initial Margin values can be calculated by role (Pledgor and Secured). Model mixtures are handled too, which means that a single dataset can define both SIMM™ and Schedule data entities in order to produce two distinct Initial Margin values. On the top of that, the framework is compatible with Common Risk Interchange Format (CRIF™) files.
This library has been created for educational purposes. Users who are interested using the SIMM™ methodology for commercial activities must contact ISDA in order to validate the library output against a unit test and obtain a license.
InitialMargin is...
Easy-to-Deploy: all what it requires is compliant input data, either in the form of aCRIFfile or as a runtime-generated list of data entities;Easy-to-Extend: new initial margin calculation methodologies are easy to integrate into the library by extending the existing base classes;Easy-to-Maintain: periodic updates to Initial Margin models are easy to integrate and require only minor changes to the library algorithms;Stable: the library implements strong data validation routines and a very detailed exception handling framework.
The library is OS-agnostic (it has been developed under .NET Standard 2.0) and platform-agnostic (both x86 and x64 environments are supported). The project targets Visual Studio 2017.