Credit Default Index Swaps (CDX) Best Practices
Overview
This document applies to all releases of Eagle software V11 and all subsequent releases. It covers the details of Eagle Accounting, Data Management, and Performance. Version-dependent functionality is noted with the initial release(s) it became available.
Eagle supports both bilateral and cleared CDXs in V12.1.2 and above, with this document focusing on bilateral contracts. Refer to Cleared Swaps Best Practices for more information on processing cleared CDXs.
There are two options for setting up single-name Credit Default Swaps (CDS). The first is outlined in Credit Default Swaps (CDS) Best Practices . It involves all positions being held long to support positive and negative pricing. The second option is to use CDX functionality, as described in this document. In this workflow, going long or short dictates whether a position is selling or buying protection. Using CDX functionality is our recommendation and makes the workflow consistent between the two types of credit swaps. This is in line with current market conventions for CDS, where positions are typically held long or short and vendors provide par-based prices. The attached spreadsheet shows a pricing/valuation comparison between the two workflows.
On this page
Related content
Example reference data screens, trade screens, and reports are attached:
Entity Setup
Before any trades can be booked, the target entity must be set up appropriately. Refer to Swaps Entity Setup Processing Notes for details.
Reference Data
Storage & Configuration
Eagle models each CDX security master file (SMF) as a single row in Data Management. Positions can be held long (positive units) or short (negative units) in Eagle, which dictates whether the position is selling or buying protection.
Market Data
All CDXs are traded with a fixed interest rate of 1% or 5%. The market standard par-based pricing is supported in Eagle, with gain/loss and cash flows correctly calculated based on selling or buying protection, whether the price is above or below 100, and the direction of price movement.
Factors associated with credit events are loaded as corporate actions. Factors do not have to be loaded prior to the initial open, but creating a corporate action for dated date with a factor of 1.00 will prevent users from having to enter it manually.
Both issuer and security RED Codes are supported in Eagle's data model. Security RED Codes can be added using the Red Code (2517) field if it does not need to be used as a cross reference identifier. There are two options for storing a RED Code as a cross reference identifier:
During security setup
Set Primary Asset ID Type (1432) or Alternate Asset ID Type (5501) =
RED
Set Primary Asset ID (14) or Alternate Asset ID (1795) = the RED Code
After the security has been set up, use Add Security Cross Reference
Set Xreference Security ID Type (1234) =
RED
Set Xreference Security ID (1233) = the RED Code
Issuer RED Codes are incorporated into Eagle's Issuer Relationship architecture. An issuer must first be tagged with a RED code by using Add Issuer Cross Reference and following these steps.
Query for the issuer by Issuer ID (1144) or Issuer Name (1173)
Set Sub Issuer ID Type (10454) =
ISSUERRED
Set Sub Issuer ID (3459) = the Issuer RED Code
These Issuer RED Codes will be returned in Sub Issuer ID on the SMF.
Security Data
CDXs can be set up and maintained using Issue Viewer or Reference Data Center (RDC). The list below contains all fields required to configure a CDX SMF.
Issue Name (961)
Primary Asset ID (14) & Primary Asset ID Type (1432)
Unique Product Identifier (1955) & Unique Swap Identifier (1958)
Processing Security Type (3931) =
SWCDCX (CDX Swap Contract)
Price Multiplier (18) =
0.01
Issue Country (1418)
Asset Currency (85)
Coupon (70) =
1.00
or5.00
Coupon Type (97) =
F (Fixed Rate)
Day Count Basis (471) =
ACT/360
Payment Frequency (472) =
3_M
(Quarterly
)Business Day Convention (1536)
V15 R2 and above =
ADJMBC (Modified Following - Adjusted)
Prior to V15 R2 =
ADJMBC (Modified Business Day - Adjusted)
Coupon Day of Month (10551) =
20
Business Calendar (1480)
Issue Date (68): first trade date of the swap
Dated Date (1183): date accruals start, "Effective Date" in ISDA contracts
First Payment Date (473): enter the actual first payment date, including any adjustment for weekends/holidays based on the Business Day Convention
Refer to Calculate Coupon Dates Processing Notes if the adjusted date is not available
Last Payment Date (474): enter the actual last payment date, including any adjustment for weekends/holidays based on the Business Day Convention
Refer to Calculate Coupon Dates Processing Notes if the adjusted date is not available
Maturity Date (38): date swap expires, "Expiration Date" or "Termination Date" in ISDA contracts
Cleared Security (5027)
No
: CDX will follow standard security workflow with periodic coupons generated and valuation based on price * quantityYes
: CDX will follow cleared security workflow with daily exchange of variation margin based on daily accruals and unrealized gain/loss from day-over-day price movement
Underlying Security (1347): a separate index (Processing Security Type =
INXXXX
) can be created to track the underlying basket of reference entities, with the constituents of the basket linked to the index as underlyings, and the index linked to the CDX as an underlyingAnother option for tracking the underlying relationship is to use Eagle's look-through capabilities driven by Look Thru Value (1808) and Look Thru Ind (1776), but this requires creating a dummy entity that holds positions in all of the constituents; please contact Instrument Engineering for details
Ensure the fields below are not populated. They are not required for CDX and can cause processing inconsistencies if they are populated. They are hidden by default.
Notional Reset Type (4409)
Premium Indicator (3302)
Buy/Sell Indicator (1364)
Pay Receive Indicator (4590)
Trade Processing
Open (event type: BUY or SHORTSELL)
Trades are entered using the Book Trade module once the entity and reference data have been configured. Enter the appropriate entity, security identifier, and trade (35)/settle (37) dates and click Submit to query for the security. Right-click it and select Open > Long Index (Sell Protection) or Short Index (Buy Protection). The former creates positive units and accrues a receivable, while the latter creates negative units and accrues a payable. The list below contains all fields required to book a CDX trade.
Traded Interest/Effective Date (2857): date to which traded interest is calculated; typically Trade Date or TD + 1
This should NOT be set equal to "Effective Date" defined in your ISDA term sheet or trade ticket; "Effective Date" should be mapped to Dated Date on the security setup
CDX sometimes have Trade Date = Settlement Date, where Traded Interest/Effective Date needs to be T+1 to calculate correct traded interest and accruals
Select Values to be Calculated by STAR (7000): set to
Traded Interest
to have it calculated, orCalculate None
to enter it manuallyAccrual Convention Offset Override (1604): can be used to override the entity value of Accrual Convention Offset (12038) if it is set to
Settlement Date + 1
Data Entry Method (10485): select
Enter Price
to supply a clean unit price orEnter Total Settlement Amount
to supply the all-inclusive trade proceeds (both can be positive or negative)Enter Price
: cost (Principal) is equal to Notional Principal Value * (Price - 100) * Price Multiplier, with net cash (Net Amount) equal to Principal + Traded InterestLong Index (Sell Protection)
Price < 100 Receive Fee to Open Cost Basis is negative
Price > 100 Pay Fee to Open Cost Basis is positive
Short Index (Buy Protection): the STAR 2 PACE convention for all securities is to flip the signage on short positions, resulting in the signage shown below; this is the opposite of what you will see in Position Viewer for short positions
Price < 100 Pay Fee to Open Cost Basis is positive
Price > 100 Receive Fee to Open Cost Basis is negative
Enter Total Settlement Amount
: cost (Principal) is equal to Total Settlement Amount - Traded InterestLong Index (Sell Protection)
Positive Total Settlement Amount: creates a cash payable for the net amount (with accrued interest being paid)
Negative Total Settlement Amount: creates a cash receivable for the net amount (with accrued interest being paid)
Short Index (Buy Protection)
Positive Total Settlement Amount: creates a cash receivable for the net amount (with accrued interest being received)
Negative Total Settlement Amount: creates a cash payable for the net amount (with accrued interest being received)
Calculated Price (16743) is calculated as ((Total Settlement Amount - Traded Interest) / Notional Principal Value / Price Multiplier) + 100
Original Face (41): full/original notional value, without the effect of any factors or credit events
Factor (91): current factor on the index, between
1.00000
and0.00001
This is multiplied by Original Face to calculate the notional cost, current notional, and principal of the trade
Notional Principal Value (40) = Original Face * Factor
Price (45): enter if using Enter Price
Total Settlement Amount (4404): enter if using Enter Total Settlement Amount
Principal (165): calculated automatically as described above
Traded Interest (49): interest bought or sold, calculated since Dated Date or last coupon date
Paid for sell protection, received for buy protection
Broker (88)
Counterparty (1144, optional): can be selected from a list of all Issuers that have been tagged as counterparties (refer to Setting Up Legal Entities Best Practices for more information)
Close (event type: SELL or BUYCVR)
The Book Trade module should also be used to process both full and partial terminations. Enter the same information as the open to query for the security. Right-click it and select Close > Long Index (Sell Protection) or Short Index (Buy Protection) depending on whether the existing position was selling or buying protection. All fields on the close are the same as the open, except Lot Selection Method (27). CDXs can be closed using either FIFO
or IDLOT
.
Accrual End Date (4412): defaults to Settlement Date, which results in Traded Interest through Settlement Date - 1 (similar to a bond)
To calculate through Trade Date (typical for CDS), populate with T+1
Data Entry Method
Enter Price:
enter par-based priceClose > Long Index (Sell Protection)
Price < 100 Pay Fee to Close
Price > 100 Receive Fee to Close
Close > Short Index (Buy Protection)
Price < 100 Receive Fee to Close
Price > 100 Pay Fee to Close
Enter Total Settlement Amount
: enter the net Total Settlement Amount of the trade inclusive of traded interestClose > Long Index (Sell Protection)
Positive Total Settlement Amount: creates a cash receivable for the net amount (with accrued interest being received)
Negative Total Settlement Amount: creates a cash payable for the net amount (with accrued interest being received)
Close > Short Index (Buy Protection)
Positive Total Settlement Amount: creates a cash payable for the net amount (with accrued interest being paid)
Negative Total Settlement Amount: creates a cash receivable for the net amount (with accrued interest being paid)
Cancel & Rebook
Faulty CDX transactions can be cancelled and rebooked using the Cancel & Rebook Trade module, which will also replay the full lifecycle of the position. Alternatively, trades can be cancelled using Cancel Trade, with the transaction rebooked using the Book Trade module.
Accounting
Once a CDX trade is booked, it will be picked up in Eagle's global workflow. Daily accruals and periodic coupons are generated as part of the earnings process, Eagle Accounting valuation is calculated when posting unrealized gain/loss, and Data Management valuation is calculated in the STAR to PACE push. These can be scheduled or triggered manually.
Valuation
CDXs are valued using clean par-based prices, entered via Add Issue Price.
Market Value = Current Notional * (Price - 100) * Price Multiplier * Quantity Scale
Current Notional = Original Notional * Factor
Notional will be negative when buying protection (going short)
Notional Market Value = Currency Notional * Price * Price Multiplier * Quantity Scale
Clean prices (excluding accrued interest) must be supplied to avoid double-counting
Pricing
CDX securities can be priced on a daily basis, with unrealized gain/loss calculated based on the day-to-day price movements. The direction of the price movement above or below par and the current cost basis of the position will determine whether there is an unrealized gain or loss on the security.
The Market Value Income of the security will include the effects of period-to-date (PTD) accruals and any traded interest.
The attached spreadsheet walks through an example of how the price you see in Bloomberg translates into the values calculated by Eagle. The attached spreadsheet shows how Eagle Accounting will calculate unrealized gain/loss on a CDX and how the market value will be stored in Data Management. The example is based on a beginning notional of $1,000,000 and a factor of 1.00.
Credit Events
Refer to CDX Credit Event Processing Notes.
Cancel & Rebook
When you process a new “as of” credit event that predates one that has already been processed, the prior credit event must be canceled before triggering the new one; both credit events can then be rerun in the correct order
To correct a credit event that has already been processed it must canceled and reprocessed
Alternately, the status can be changed back to pending and the record manually deleted after running the global process to cancel corporate actions
The corporate action global process can then be rerun for the appropriate Sweep Date; Eagle Accounting rollback/replay will reverse the earlier events and cancel the entries and adjustments
FCM Change (V17 R2)
Periodically a CDX will have its futures commission merchant (FCM, or Clearing Broker in Eagle term) changed. Beginning in V17 R2 this can be accomplished for bilateral CDX using Run Interportfolio Transfer (not available for cleared CDX), with positions transferred at their current market values.
Origin Entity Information
Entity Name (1164) & ID (1163): of original entity holding the position
Recipient Entity Information
Entity Name (1084) & ID (301): of new entity to which the position is being transferred
Accounting Information
Transfer Method (1872): must be Market for CDXs
Trade Date (35): date the position will be transferred
Issue Name (961): of security being transferred
Event Type (55) =
FUNDSPLTMRG
Original Face (41): notional to be transferred (can be full or partial)
Current Factor (91): between 1.00000 and 0.00001
Multiplied by Original Face to calculate the current notional and notional cost of the transfer
Price (319): looked up automatically, but can be overridden
Clearing Broker (1237): can be entered if different than the origin entity
Reporting
STAR to PACE (S2P)
Almost all reports in Eagle Accounting leverage data from Data Management, which is populated by the S2P process. This will be scheduled as part of the daily workflow, but can also be triggered manually as described in the Accounting section.
The S2P process creates one row for each CDX in the POSITION, POSITION_DETAIL, TRADE, and CASH_ACTIVITY tables. The MARKET_VALUE_INCOME column captures the total market value, inclusive of price fluctuations and period-to-date accruals payable or receivable.
Accounting Reports
Eagle has a core set of accounting reports that can be used to review CDX and other security information. These are designed to support the daily operational workflow for business users, allowing Grid Reports to be easily exported to Excel and customized to provide additional details as needed. Advanced Reports are intended to be client-facing and do not provide the same level of customization.
Insurance Reporting
Data Management Reporting
Performance
The performance toolkit calculates market value-based performance for CDXs using data supplied by the S2P process. However, this can be misleading because swaps use notional values and typically start with a market value of zero.
The following chart shows how Eagle will calculate performance on a Sell Protection CDX. The scenario involves an open of 10 million notional @ 103 with a factor of 1.00, a credit event with a 5% index reduction and a recovery rate of 30%, and a partial close of 4 million notional @ 103.5 with a factor of 0.95. MV stands for market value and MVI stands for market value income.
Date | Notes | Factor | Notional | Price | MV | MVI | Pos Flows | Neg Flows | Return |
---|---|---|---|---|---|---|---|---|---|
2023-03-20 | Open | 1 | 10,000,000 | 103.230 | 323,000 | 324,389 | 300,000 |
| 8.13 |
2023-03-21 |
| 1 | 10,000,000 | 103.200 | 320,000 | 322,778 |
|
| (0.50) |
2023-03-22 |
| 1 | 10,000,000 | 103.450 | 345,000 | 349,167 |
|
| 8.18 |
2023-03-23 |
| 1 | 10,000,000 | 103.513 | 351,300 | 356,856 |
|
| 2.20 |
2023-03-24 |
| 1 | 10,000,000 | 103.623 | 362,300 | 369,244 |
|
| 3.47 |
2023-03-27 | Credit Event | 0.95 | 9,500,000 | 103.623 | 344,185 | 354,741 |
| 349,792 | (98.66) |
2023-03-28 |
| 0.95 | 9,500,000 | 103.600 | 342,000 | 353,875 |
|
| (0.24) |
… | … | … | … | … | … | … | … | … | … |
2023-04-05 |
| 0.95 | 9,500,000 | 103.540 | 336,300 | 358,731 |
|
| 0.10 |
2023-04-06 | Partial Close | 0.95 | 5,700,000 | 103.550 | 159,750 | 224,781 |
| (141,972) | 2.24 |
Exposure-based analyses, which can be implemented using Eagle Enrichment, calculate more meaningful returns. The documentation and .egl file for bilateral CDX enrichment are linked below as attachments. Additional details are available in Exposure Reporting Best Practices and Manage Eagle Enrichment. Note: CDX positions require synthetic cash offsets to accurately reflect performance on the fund level. Depending on your version, minor panel changes may be required to allow synthetic cash to be created and linked for these instruments. Please contact Instrument Engineering through your Eagle representative for details.
Automation
CDX security master files (SMFs) and trades can be loaded through the standard Message Center streams. The SMF must be loaded prior to the trade (trades do not spawn SMFs). Refer to the Supported Generic Interfaces V17 for more information.
Sample messages for the standard interfaces are listed below.
Transaction Type | CSV Stream | CSV Sample Files | EagleML Stream | EagleML Sample Files |
---|---|---|---|---|
SMF Setup | eagle_default_in_csv_smf OR | eagle_ml-2-0_default_in_xml_smf_generic | ||
Trades | eagle_default_in_csv_trades OR | eagle_ml-2-0_default_in_xml_acct_trades |
Other Notes
Weighting and number of constituents in the underlying index are not currently stored on the SMF, so the factor must be provided at trade time (for opens, closes, and credit events). It is important to verify it on these events. If a case arises where there are two concurrent credit events against the same index, the Corporate Action Sub Priority fields should be provided on the Credit Event Corporate Actions to ensure that they are processed in the correct order.