Message Types

The message types supported are Margin Call CSA and SCSA.

Below are graphs that depict the workflows of the Margin Call messages that are supported in Calypso through the perspective of AcadiaSoft.

» In Calypso terms, workflow actions need to be setup that either use the same name or follow the same properties as the actions supported in AcadiaSoft. The Margin Call messages will either be generated by Calypso or Calypso will receive them.
» Message flows for both directions need to be configured in the Workflow.

 

A basic scenario would be at the beginning of the day, both parties calculate their exposures, collateral value and collateral requirement using the prices from the close of business the previous business day. In Calypso, this can be viewed in the Collateral Manager window.

The contracts need to be loaded and then priced. These calculations can have one of three results:

Margin Call - You are owed collateral and need to send a margin call to the counterparty
Anticipated Call - You owe collateral and you expect to receive a margin call from your counterparty
No Action - The results of your calculations do not exceed the threshold and/or minimum transfer amount required and will not result in a margin call in either direction

 

1. Margin Call Messages

The margin call process is initiated by the party that is owed collateral (the Initiator). That party will send a margin call to the counterparty that owes the collateral (the Receiver). This process assumes that there is an active margin agreement in (AcadiaSoft) MarginSphere. The steps of the process are.

 

Step 1 - The Initiator creates a new margin call. MarginSphere sends the call to the counterparty (Receiver). The call is in a Received state. This status is reflected in Calypso. This is represented by XML files. Calypso will send and receive the respective XML files.

 

Step 2 - The Receiver can fully agree, fully dispute or partially dispute the margin call. If the Receiver agrees with the margin call, they send an agree message to MarginSphere. The call is then in an Agreed state. MarginSphere will be sending XML files that change the status of these messages.

 

Step 3 - If the Receiver fully disputes or partially disputes the margin call, the Receiver is required to provide the following information:

Agree Amount -set to zero for full dispute
Mark to Market - the Receiver's exposure calculation
Collateral Balance - the Receiver's collateral calculation
Initial Margin - the Receiver's independent amount calculation
Reason Code - one or more codes from the MarginSphere reason codes (see table below)

In the response, the business state has changed to Disputed and the version changed to 2. This response also has the dispute reason codes and comments and the Receiver’s calculation for exposure, collateral value and independent amount. Once the Margin Call is disputed, Calypso updates the status and version of the event accordingly.

Dispute is a final state for the margin call unless the Receiver cancels the dispute.

 

Code

Description

9000

Unknown Business Error

9001

Portfolio Discrepancy

9002

Initial Margin / Independent Amount Discrepancy

9003

Collateral Discrepancy

9004

Agreement Discrepancy

9005

Notification Time

9006

Call Amount Discrepancy

9999

Other

 

Step 4 - The receiver can cancel a dispute if it is determined that margin call is OK or that it should be partially agreed to. To cancel a dispute, the Receiver sends in a dispute cancel message. When the dispute is cancelled, the margin call goes through two transitions:

Dispute to Dispute Cancelled
Dispute Cancelled back to Received

Calypso will update the status to either Cancelled or back to Received.

 

» The agreed amount has a value greater than zero, but not more than the total call amount.
» The URL for the partial dispute web service is different from the URL for the full dispute.
» In MarginSphere, a partial dispute results in three margin call objects: 
Parent- the original margin call moves to a state of Partial
Partially agreed child - a new margin call object with a business state of Partial Agreed is created which represents the agreed portion of the call
Partially disputed child - a new margin call object with a business state of Partially Disputed is created which represents the disputed portion of the call
» In Calypso, the original trade (Parent) will have a status of either Terminated or Partially Terminated. The original amount and a new trade (Child) with specific attributes linking it to the parent will be created with a status of Verified and the partially agreed to amount.

 

1.1 CreateMarginCall Message

Information that is imported from Acadia messages:

Cpty MTM
Cpty Amount
Cpty Return Amount (CreateMarginCall message only)
Cpty Delivery Amount (CreateMarginCall message only)
Cpty Settle Balance (for reporting purposes only)
Cpty Unsettled Balance (for reporting purposes only)
Cpty Balance (for reporting purposes only)

 

The table below describes some of the fields of the CreateMarginCall message.

XML Field

Description

Calypso Column

marginAgreementType

Used for ISDA-Group Margin Calls to help specify which CSA within the ISDA Group is being margined. Values are either Regulatory CSA or Legacy CSA within the ISDA Group.

In Calypso, the existing contract level field Agreement Type and the new contract level field Type are referred to.

If Agreement Type = ISDA-Group and Type = Legacy Initial or Legacy Variation, then the marginAgreementType = CSA
If Agreement Type = ISDA-Group and Type = Regulatory IM Pledgor or Regulatory IM Secured or Regulatory VM, the marginAgreementType = Regulatory CSA
If Agreement Type = ISDA-CSA, the marginAgreementType = CSA
If Agreement Type = ISDA-Regulatory CSA, the marginAgreementType = Regulatory CSA

callType

Specifies the type of the margin call. Call Type defines whether the call is netted or segregated (variation or initial)

Possible values: Netted, Initial or Variation

If the Call Type is defined at the contract or exposure group level, the value defined there is used for the message. If the Call Type field is empty:

  • If Type = Regulatory IM Pledgor, Regulatory IM Secured, Regulatory IM NR, the callType = Initial
  • If Type = Regulatory VM or Legacy Variation, callType = Variation

The field cannot be left blank if Call Type= Netted

Margin Agreement Short Name

The margin agreement short name. From this value, MarginSphere can derive the Legal Entity, Organization and Counterparty information required to create a new margin call.

In Margin Call Contract, Additional Information panel > ACADIA_MASTER_IDENTIFIER if at the contract level

In Margin Call Contract, Exposure Group > Acadia Details panel > Identifier if at Exposure Group level

role

For ISDA-Group

For IM: mandatory

Possible values pledgor or secured

If Calypso type = IM pledgor, imRole = pledgor

If Calypso type = IM secured, imRole = secured

For VM, not mandatory if using the lowest call driver reference

 

 

2. Expected Call Messages

AcadiaSoft Marginsphere supports Sole Calculation Valuation Agent margin events between counterparties using the Margin API Expected Margin Call xsd with notification flag. When a notification is sent via MarginSphere, the counterparty can automatically create a Margin Call from that notification.

A notification field is available in Agreements. One party must be defined as the Sole Calculation Agent on agreements where notifications are used. The party sending the notifications should be designated as the Sole Calculation Agent.

In Calypso, there is a field in the Acadia Details window (contained in the Details panel of the Margin Call contract), called Sole Valuation Agency. The domain name for this field is Collateral.AcadiaSoleValAgentType. The domain values should be PO and None. Refer to Acadia SVA for more details.

If PO is selected, a notification is automatically sent to the counterparty if the Global Required Margin is less than 0.

 

The details of the notification that is sent when the PO is chosen are described below.

 

XML Field

Description

Calypso Column

marginAgreement AmpId

Specifies the AMP Id of the associated margin agreement. Either AMP Id or Agreement Short Name must be provided.

Margin Call Contract > Details > Acadia Details > ACADIA_AMPID

marginAgreementShortName

Either the margin agreement short name. From this value, AMP can derive the Legal Entity, Organization and Counterparty information required to create a new margin call. Either AMP Id or Agreement Shortname must be provided.

Found in mrgcall_config table description column, it can also be an attribute on the Margin Call Contract

callType

Specifies the MarginSphere defined type the margin call. Call type defines whether the call is netted, non-netted or segregated

Values: Netted, Initial, Variation

 

valuationDate

The date on which the value on the asset is made. Typically, this is based on the valuations and prices at the end of the day for the previous business day (T-1)

Found in the margin_call_entries table, trade_date column

currency

The currency of the margin call

Values: ISO currency code

Found in margin_call_entries table, contract_currency column

totalCallAmount

Value of the collateral required to satisfy the margin call

Absolute value

Collateral Manager > Results > Global Required Margin

exposure

The total collateral requirement amount, which is the net of the independent amount plus the mark to market exposure

From the caller’s perspective

Collateral Manager > Results > Net Exposure

collateralValue

Collateral value, net of haircut, for the collateral already in custody by the party making the call

From the caller’s perspective

Found in the margin_call_entries table, total_collateral_value column

 

threshold

Amount of unsecured exposure a counterparty is prepared to accept before calling for collateral

Found in the mrgcall_config table, po_thres_amt and le_thres_amt

deliverAmount

Specifies the amount to be delivered new by the party being called; rounded based on the delivery method set on the Margin Call contract.

Absolute value

Collateral Manager > Results > New Margin

returnAmount

Specifies the amount to be returned by the party being called; rounded based on the return rounded method set on the Margin Call contract

Absolute value

Collateral Manager > Results > Return Margin

pendingCollateral

The collateral value, net of haircut, for the collateral that has been pledged but has not yet settled

From the caller’s perspective

Found in margin_call_entries and excess_collateral tables

counterpartyMarkToMarket

Mark to market value of the trades under the agreement, negation of Variation Exposure

From the Sole Calculation Agent perspective

Collateral Manager > Results > Net Balance

counterpartyCollateralBalance

Collateral value, net of haircut, for the collateral held or posted

From the Sole Calculation Agent perspective

Collateral Manager > Results > Total Prev Margin

counterpartyInitialMargin

Independent amount required

From the Sole Calculation Agent perspective

Collateral Manager > Results > IA

notification

Boolean value that determines whether to make this message an Expected Call or Notification

Set to True

 

noAction

If true, indicates that a margin call is not expected on the valuation date and if one is received, it should be disputed

True if Global Required Margin is > 0

False if Global Required Margin is < 0

 

Signs are reversed for the Exposure, Total Collateral and Pending Collateral fields as they appear from the caller’s (counterparty) perspective. Therefore, if the PO calculates a negative exposure, on the expected margin message, it should appear as positive.