Credit Default Swaps (CDS) Best Practices

Overview

Eagle supports end-to-end processing of Credit Default Swaps (CDS) in V10.0 and all subsequent releases. This document covers the details of Eagle Accounting, Data Management, and Performance.

There are two options for setting up CDS in V11.0 and above. The first is outlined in this document, which involves all positions being held long in order to support positive and negative pricing, as some vendors publish par-zero prices for CDS. The second option is to use CDX functionality, where going long or short dictates whether a position is selling or buying protection. This is the best practice and makes the workflow more consistent between the two swap types. It is also preferable for clients that receive par-based CDS prices because the prices do not need to be manipulated. The attached  spreadsheet shows a pricing/valuation comparison between the two workflows. Refer to  for more information on using CDX functionality. To use par-based prices with Eagle's CDS functionality you must rebase the prices to be par-zero as described in the Market Data section.

Eagle supports both bilateral and cleared CDS in V12.1.2 and above. This document focuses on bilateral contracts; refer to  for more information on processing cleared CDS.

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  for details.

Reference Data

Storage & Configuration

Eagle has modeled each CDS security master file (SMF) as a single row in Data Management.

All CDS positions are held long (positive units) in Eagle, with buying or selling protection defined on the security master file (SMF) rather than the trade. All securities and positions need to have this indicator populated SMF, where it will then be automatically pulled into the trade panel.

Market Data

Since the CDS Big Bang in 2009, all new contracts are traded with a fixed interest rate of 1% or 5%. Pricing in Eagle Accounting is done on a par-zero basis (prices around zero rather than 100), so par-based prices will have to be adjusted to generate the appropriate valuations in Eagle. Refer to  for more information on adjusting par-based prices.

Security Data

CDSs can be set up and maintained using Issue Viewer, Security Reference Manager (SRM), or Reference Data Center (RDC). The list below contains all fields required to configure a CDS SMF.

  • Issue Name (961)

  • Primary Asset ID (14) & Type (1432)

  • Unique Product Identifier (1955) & Unique Swap Identifiers (1958)

  • Processing Security Type (3931) = SWCDCO (Credit Default Swaps)

  • Price Multiplier (18): the default of 0.01 will be correct in most cases, but may need to be changed to 1.00 (CDS prices are sometimes supplied having already been multiplied by 0.01)

  • Issue Country (1418)

  • Asset Currency (85)

  • Notional Reset Type (4409) leave NULL

  • Premium Indicator (3302): leave NULL

  • Buy/Sell Indicator (1364): buying or selling protection is an security-level attribute in Eagle, so two separate SMFs must be created in order to buy and sell protection on the same CDS

    • Buy: buy protection, Pay/Receive Indicator (4590) will default to Accrue Payable

    • Sell: sell protection, Pay/Receive Indicator will default to Accrue Receivable

  • Coupon (70): 1.00 or 5.00 (other rates are supported for contracts issued prior to the Big Bang)

  • Coupon Type (97) = F (Fixed Rate)

  • Day Count Basis (471) = ACT/360

  • Payment Frequency (472) = 3_M (Quarterly)

  • Business Day Convention (1536)

    • V15 R2 & 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 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 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: CDS will follow standard security workflow with periodic coupons generated and valuation based on price * quantity

    • Yes: CDS 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

Trade Processing

Open (event type: CDSOPEN)

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 > Open Swap Contract. The list below contains all fields required to book a CDS trade.

  • Traded Interest/Effective Date (2857): date to which traded interest is calculated; typically Trade Date or T+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

    • CDS 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): select Traded Interest to have it calculated, or Calculate None to enter it manually

  • Accrual 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): Enter Price to supply a clean unit price or Enter Total Settlement Amount to supply a value representing all-inclusive trade proceeds (both can be positive or negative)

    • Enter Price: cost (Principal) is calculated as Notional Principal Value * Price * Price Multiplier and Net Amount = Principal + Traded Interest

    • Enter Total Settlement Amount: cost (Principal) is calculated as Total Settlement Amount - Traded Interest and Net Amount = Total Settlement Amount

    • Depending on the type of trade (open or close) and sign of the Price or Total Settlement Amount, Eagle Accounting will post either a premium payment or premium receipt; the chart below outlines this methodology

      • Open + Positive Price/Amount = Premium Payment

      • Open + Negative Price/Amount = Premium Receipt

      • Close + Positive Price/Amount = Premium Receipt

      • Close + Negative Price/Amount = Premium Payment

  • Notional Principal Value (40): contract notional

  • Price (45)

  • Total Settlement Amount (4404, if applicable): enter all-inclusive trade proceeds, including the effect of traded interest

  • Broker (88)

  • Counterparty (1144, optional): the counterparty can be selected from a list of all Issuers that have been tagged as counterparties (see  for more information)

Close (event type: SELL)

The Book Trade module should also be used to process both full and partial terminations. Enter the same identifiers as the open to query for the security. Right-click it and select Close > Close Swap Contract. Almost all fields on the close are the same as the open.

  • Lot Selection Method (27): CDSs 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

Cancel & Rebook

Faulty CDS 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 CDS 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, Accounting valuation is calculated when posting unrealized gain/loss, and Data Management valuation is calculated in STAR to PACE. These can be scheduled or triggered manually.

Valuation

CDSs can be valued using clean unit prices, clean market values, or dirty market values.

Clean Prices

Prices are entered using Add Issue Price. The market value formula is:

  • Market Value = Notional * Price * Price Multiplier * Quantity Scale

  • Clean prices (excluding accrued interest) must be supplied to avoid double-counting

    • Eagle Accounting assumes that swaps have the same prices across all accounts, so entity-level price overrides must be used to accommodate different prices

    • If the use of dirty prices is required, the contract should be setup to not accrue (this can be done by entering fixed rate coupons of zero, which also suppresses cash payments)

Clean or Dirty Market Values

Some swaps are priced using clean or dirty market values, more often the latter. Eagle Accounting has a process to “clean up” these market values and convert them to clean unit prices. Refer to  for detailed formulas.

Note: this process can only be used when each CDS is only held in a single fund, which is typical for market value-priced swaps.

Market values are entered using Insert/Update Price Exchange.

  • Price Date (1109)

  • Original Price (893): Clean Market Value or Dirty Market Value

  • Price Type Code (1843): select Clean Market Value or Dirty Market Value based on available data

  • Units (40): enter the Notional Value of the CDS, which must match the notional of the position in Eagle Accounting (the process will error out if there is a mismatch in notional)

Once the market value is entered use Global Process Center > Calculate Clean Unit Price to trigger the calculation. This can be done for a particular swap or all swaps for a specified date, or scheduled as part of the daily workflow. There are two flags that must be set before triggering the process:

  • Reprice Flag (1844): Yes updates the existing clean price for the selected Source, No leaves the existing price in the database

  • Pricing Center Flag (1257): Yes inserts/updates the clean unit price in the price exchange table used by Pricing Center and the price table, No inserts/updates it in the price table only

Credit Events

Credit events on single-name CDS require the entire position to be unwound/sold because they reference a single underlying reference obligation. When a credit event occurs the position should be closed via Book Trade at a trade price equal to the difference between the Recovery Rate and Par. Refer to attached  for a full walkthrough of a real credit event. There is also credit event processing in .

Calculation of Credit Event Settlement

For Recovery Rates quoted in percentages, simply drop the % symbol (70.5% = 70.5).

  • Buy Protection: Notional * (100 - Recovery Rate) + Accrued Interest

  • Sell Protection: Notional * (Recovery Rate - 100) + Accrued Interest

The final accrued/traded interest is due from protection buyer to protection seller to cover the period from previous coupon date to event determination date (inclusive). In situations where a coupon date is after event determination date, but before auction/trade date, the protection seller will need to reimburse interest to the protection buyer.

Booking Credit Event Close

  • Trade Date (35): equal to event determination date

  • Settlement Date (37): equal to auction settlement date

  • Accrual End Date (4412): equal to event determination date + 1

  • Notional Principal Value (40): full notional amount held

  • Price (45)

    • Buy Protection: 100 - Recovery Rate

    • Sell Protection: Recovery Rate - 100

    • Note: if Price Multiplier = 1.00, replace 100 with 1.00 and convert the Recovery Rate to a decimal value (70.5% = 0.705)

  • Traded Interest (49): calculated from previous coupon date to event determination date (inclusive)

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 CDS 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 CDS 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.

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  and the . Note: CDS 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

CDS 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  for more information.

Sample messages for the standard interfaces are listed below.

Transaction Type

CSV Stream

CSV Sample Files

EagleML Stream

Eagle Sample Files

Transaction Type

CSV Stream

CSV Sample Files

EagleML Stream

Eagle Sample Files

SMF Setup

eagle_default_in_csv_smf OR
eagle_default_in_csv_all

 

eagle_ml-2-0_default_in_xml_smf_generic

Trades

eagle_default_in_csv_trades OR
eagle_default_in_csv_all

eagle_ml-2-0_default_in_xml_acct_trades