Defining Haircut Rules
The Haircut window allows defining haircut rules to apply haircut percentages based on security maturities.
A haircut rule can be associated with a collateral upon trade capture. The haircut amount is added / subtracted to / from the collateral value.
The following trades and processes support haircut rules: repos, security loans, and margin calls.
From the Calypso Navigator, navigate to Configuration > Fees, Haircuts, & Margin Calls > Haircut Rule for defining haircut rules.
1. Sample Haircut Rule
In this sample rule, the market values of the collaterals will be increased or decreased by the following percentages:
• | Maturity ≤ 5Y, Haircut is 3% |
• | Maturity > 5Y and ≤ 10Y, Haircut is 5% |
• | Maturity > 10Y and ≤ 30Y, Haircut is 8% |
• | Maturity >30Y and ≤ 50Y, Haircut is 10% |
• | Collaterals with no expiration, Haircut is 12% |
Note that in this example, the haircut percentage is applied based on the remaining maturity of the collaterals as of the trade date.
2. Sample Haircut Rule Using a Static Data Filter Tree
When defining a haircut rule using a static data filter tree instead of a standard static data filter, the tree is displayed in an exploded view in the Definition panel where each row represents a node of the tree. Initially, every row is displayed in red. You need to click on each row and define its haircut points as described in Definition Panel. Once the haircut points are defined for the node, the row turns white. The haircut rule can only be saved when all of the rows are white.
See Defining Static Data Filters for details on defining a static data filter tree.
3. Static Data Filter Attributes
You can enable filtering based on the pledger (processing org or counterparty, depending on the direction).
Add "LegalEntity" to the domain sdFilterCriterion.Factory to create the Legal Entity static data filter attributes.
4. Creating a Haircut Rule
4.1 Total Haircut Calculation
Click New to create a new haircut rule, and enter a name in the Name field. Enter a description in the Description field as needed.
Select a Total Haircut Calculation type:
• | ADDITION: Total Haircut = Definition Haircut + Cross Currency Haircut + Wrong Way Risk Haircut + Additional Haircut_1 + Additional Haircut_2... |
• | MULTIPLICATION: Total Haircut = 1 - (1- Definition Haircut) * (1 - Cross Currency Haircut) * (1 - Wrong Way Risk Haircut) * (1 - Additional Haircut_1) * (1 - Additional Haircut_2)... |
• | HIGHEST: The system looks across all the panels of the haircut rule and applies the one which corresponds to the highest haircut value. |
• | LOWEST: The system looks across all the panels of the haircut rule applies the one which corresponds to the lowest value. |
• | AVERAGE: The system looks across all the panels of the haircut rule and calculates an average haircut. |
Note: If more than one 'Additional Haircut' is defined, each is considered individually.
Enter a description in the Total Haircut Calculation Description field as needed.
Example 1:
Example 2:
4.2 Total Floor Haircut
The Total Floor Haircut applies to the total haircut and is the haircut used if the total haircut is lower than this floor. It is a non-mandatory, editable field that can contain values between 0 and 100 %.
Example 3:
Total Floor Haircut is 8%
4.3 Valuation Haircut Subtype
Choose a Valuation Haircut Subtype:
– | STANDARD: Only one haircut applies regardless of how many static data filters are accepted. (Default behavior) |
– | HIGHEST: The system looks for all accepted static data filters and applies the one which corresponds to the highest haircut value. |
– | LOWEST: The system looks for all accepted static data filters and applies the one which corresponds to the lowest value. |
– | AVERAGE: The system looks for all accepted static data filters and calculates an average haircut. |
– | ADDITION: The system looks for the accepted static data filters and adds the related haircuts. |
For example: German bonds 5%, Pharmaceutical bonds 10%
If the Valuation Haircut Subtype is ADDITION and a German bond issued by a pharmaceutical firm is being processed, a 15% haircut is required, not 5% or 10% depending on which rule is applied first (which would be the result if the rules were listed in the Definition tab and not in Additional Haircuts).
Ⓘ [NOTE: The order is important in the Definition panel as only ONE definition haircut will apply when using STANDARD Valuation Haircut Subtype. - The first applicable rule / filter in the list will be used]
4.4 Tenor Maturity Date Inclusive
Select the Tenor Maturity Date Inclusive checkbox to make the lower limit of the haircut tenor inclusive and the upper limit tenor exclusive. Otherwise, if un-checked, the lower limit tenor is exclusive and the upper limit tenor is inclusive.
5. Panel Descriptions
Enter haircuts on the various panels as needed. Each panel is described below.
Click Save when you are done.
Note: If the Authorization mode is enabled, an authorized user must approve your entry.
5.1 Definition Panel
The Definition panel allows defining base haircut rules to apply haircut percentages based on security maturities.
» | Click ![]() |
» | To define a rule using a static data filter, select "Haircut rule" from the Rule Type drop down, then click ... next to the Filter field. Select a filter as needed. The securities filter is a static data filter to filter the collaterals to which the rule applies (bonds, equities, or currencies). For a haircut rule that applies to a cash collateral, in the static data filter used in the haircut rule, select a product currency and designate the Product Type as Cash. |
In the Haircut Points area, add a tenor by entering an integer and selecting D, W, M, or Y, then click . You can select OPEN to define a haircut for collaterals with no expiration.
The tenor is added to the table below. Enter a haircut percentage.
You can check "Original Maturity" to apply the haircut percentage based on the original maturity of the collateral. Otherwise, it is applied based on the remaining maturity as of the trade date.
» | To use a quote set, select "Haircut from quote" from the Rule Type drop down. A definition using a quote set rule handles a security (it can't handle cash) if the quote set has a quote on that day for that security in the CLOSE column. |
If a haircut from quote is either defined at the legal agreement or the margin call contract level, the applicable haircut quote is picked up to value the inventory of type “Balance * Haircut”.
The haircut quotes must be defined with the quote type “Haircut”.
5.2 Cross Currency Panel
The Cross Currency panel allows defining haircut add-on amounts to be applied based on currency pairs.
» | Click ![]() |
– | Liability Currency: The currency of the contract. |
– | Collateral Currency: The currency of the collateral. You can select a currency here or select ANY, SAME, or CROSS. If SAME is selected, the Liability and Collateral currencies must be the same for the haircut add-on to be applied. If CROSS is selected, the Collateral Currency must be different from the Liability Currency for the haircut add-on to be applied. |
If ANY is selected for both the Liability Currency and the Collateral Currency, the haircut is applied anywhere the Liability and Collateral currency are different.
– | Collateral Type: The type of collateral, either Cash, Security, or ANY. |
– | Filter: Click ... next to the Filter field and select a filter as needed. |
» | The currency pair is added to the table below. Enter a haircut add-on. |
Ⓘ [NOTE: The order is important in the Cross Currency panel as only ONE cross currency haircut will apply - The first applicable filter in the list will be used]
5.3 Wrong Way Risk Panel
The Wrong Way Risk panel allows applying an additional haircut in the case of wrong way risk. This type of risk occurs when the legal entity pledges as collateral a security issued by itself or by a closely related party. Wrong way risk can also arise if the legal entity country is the same as the country of issuance of the security.
Note that wrong way risk haircut is only applicable when receiving collateral.
» | Click ![]() |
» | Select "Haircut rule" from the Rule Type drop down, then click ... next to the Filter field. Select a filter as needed. The static data filters added in this panel must have at least one Wrong Way Risk attribute. |
See Wrong Way Risk Setup for details on Wrong Way Risk attributes.
» | Add a tenor by entering an integer and selecting D, W, M, or Y, then click ![]() |
The tenor is added to the table below. Enter a haircut percentage.
You can check "Original Maturity" to apply the haircut percentage based on the original maturity of the collateral. Otherwise, it is applied based on the remaining maturity as of the trade date.
Ⓘ [NOTE: The order is important in the Wrong Way Risk panel as only ONE wrong way risk haircut will apply - The first applicable filter in the list will be used]
Before you can create a wrong way risk haircut rule, some configuration is required.
» | Add "WrongWayRisk" to the domain sdFilterCriterion.Factory to create the wrong way risk static data filter attributes. |
» | Create wrong way risk static data filters. These static data filter attributes return true or false. |
– | Wrong Way Risk.Issuer: Compares the counterparty of the trade to the issuer of the security. |
– | Wrong Way Risk.Industry: Compares the legal entity attribute INDUSTRY of the counterparty and the product issuer. |
– | Wrong Way Risk.Country: Compares the counterparty country (on the Legal Entity window) to the country of issuance of the security (on the product definition window). |
– | Wrong Way Risk.Group: Checks whether the counterparty of the trade and the issuer of the security are part of the same Wrong Way Risk Group. These groups are described in the next step. |
» | Create Wrong Way Risk Groups to group together legal entities that have a close link. |
Add a menu item for the Wrong Way Risk Group window (menu action refdata.WrongWayRiskGroupWindow
).
Click to add a new group. You will be prompted to enter a name.
Select the legal entities to be grouped together, then click Save All.
If the Authorization mode is enabled on your system, you can enforce authorization for Wrong Way Risk Groups by adding "WrongWayRiskGroup" to the domain classAuthMode.
In order to view audits related to Wrong Way Risk Groups, add "WrongWayRiskGroup" to the domain classAuditMode.
5.4 Additional Haircuts Panel
The Additional Haircuts panel allows defining additional haircuts based on other haircut rules. The restriction is that these haircut rules can only have the base haircut rule defined on the Definition panel - They cannot have haircut rules defined on the Cross Currency, Wrong Way Risk, or Additional Haircuts panels.
As opposed to the other panels, more than one additional haircut can be applied.
» | Click ![]() |
5.5 Attributes Panel
The Attributes panel allows adding custom haircut rule attributes.
» | Select SetUp > Domain to add haircut rule attributes. Or you can add them directly in the Domain Values window using the HaircutRuleAttributes domain. |
» | Select SetUp > Favorites to add haircut rule attributes to your list of favorites. Or you can add them directly in the Domain Values window using the HaircutRuleAttributes.favorites domain. |
» | Click ![]() |
» | Enter values for the haircut rule attributes as needed. By default, the values are free text fields. You can create a drop down menu of choices by creating a domain for each haircut rule attribute as needed in the form HaircutRuleAttributes.<attribute name> with the possible values. |
6. Modifying a Haircut Rule
» | Click ![]() |
» | Click Save to save your changes. |
7. Deleting a Haircut Rule
» | Click ![]() |
» | Select a rule definition, and click ![]() |
8. Simulating a Haircut Rule
» | Click ![]() |
» | Click Simulate to test the haircut rule. (Menu action reporting.ReportWindow$HaircutRuleSimulate .) |
9. Haircut Menu
The menu items of the Haircut menu are described below.
Menu Items |
Description |
---|---|
Load |
To load an existing rule. You will be prompted to select a rule name. |
Pending Authorization |
To display any haircut pending authorization. This only applies if the Authorization mode is enabled. |
New |
To create a new rule. |
Save |
To save the rule currently loaded, or to save a new rule. |
Save As New |
To save the rule currently loaded as a new rule. You will be prompted to enter a rule name. |
Delete |
To delete a given haircut rule for all securities filters. |
Simulate |
To test the haircut rule. |