Lesson 06 · 5 min
How Trades End
Terminated, novated, matured, or triggered: every exit is a ClosedState written by one last event.
Stepping out
February 2028. Pershing Square restructures its book and wants out of the swap, now USD 6,000,000 after the October unwind. Bank of America agrees to step in. Legally that is a novation: the old contract dies and a new one binds Bank of America to Goldman on the same terms. The CDM models the legal truth exactly: one event closes the old lifeline with closedState: Novated and opens a new one with a new party and a new identifier. This lesson walks that event, then tours the other ways off the line.
Novation is a split with one closed branch
The event uses the
splitverb: SplitInstruction holds abreakdownof primitive instructions, one per resulting trade. For a novation: one branch closes the original, the other rebinds the role.PartyChange rebinds a role
PartyChangeInstruction names the new
counterpartyfor an existing role and requires a freshtradeId: the stepped-in contract is a different contract, so it cannot reuse the old name.Every exit writes a ClosedState
ClosedState requires the
state(one of seven enum values) and theactivityDateit happened. A closed line stays on the books as history; it just stops moving.Defaults arrive as observations
A credit event is something the world does, not something the parties book. It enters as an
observationcarrying a CreditEvent, and settlement follows as its own events.
The novation, on the wire
{ "intent": "Novation", "eventDate": "2028-02-15", "instruction": [ { "before": "… the swap, USD 6,000,000, Pershing Square facing Goldman …", "primitiveInstruction": { "split": { "breakdown": [ { "partyChange": { "counterparty": { "role": "Party1", "partyReference": "… Bank of America, N.A. …" }, "tradeId": [ { "assignedIdentifier": [ { "identifier": "W22LROWP2IHZNBB6K528WD59ZK31RTQ8", "version": 1 } ], "identifierType": "UniqueTransactionIdentifier" } ] } }, "… and a closing branch for the original …" ] } } } ], "after": [ { "trade": "… the original, Pershing Square still named on it …", "state": { "closedState": { "state": "Novated", "activityDate": "2028-02-15" } } }, { "trade": "… same economics, Bank of America now Party1 …", "state": { "positionState": "Formed" } } ], "eventQualifier": "Novation"}
Every exit has a name
ClosedStateEnum is the complete list of ways off the line, and you have already met most of them:
- Terminated. The unwind machinery run to the end: a quantity change to zero, a final settlement, and
Qualify_Terminationderives the name. - Novated. This lesson's exit. The position lives on, just not with you.
- Exercised and Expired. The swaption's two endings: the fork that spawns a swap, or the quiet close when the right dies worthless.
- Matured. The calendar runs out on the
terminationDatethe trade carried from birth. The FX forward ended this way on its value date. - Cancelled and Allocated. The back-office exits: a booking undone, or a block trade carved up among funds, each slice a new lifeline.
A credit event arrives
The credit swap left a question hanging: the CDS pays if a credit event hits ABC Industrial Corp. Suppose one does: a restructuring is determined in September 2027. The fact enters the model as an observation:
{ "observation": { "observationEvent": { "creditEvent": { "creditEventType": "Restructuring", "eventDeterminationDate": "2027-09-22", "referenceInformation": { "referenceEntity": { "name": "ABC Industrial Corp", "entityIdentifier": [ { "identifier": "549300Q7GH25ZTM4B803" } ] } } } } }}
observationHistory, and Qualify_CreditEventDetermined names the event. CreditEvent's other fields, auctionDate, finalPrice, recoveryPercent, carry the auction that prices the protection payment; the payment itself and the CDS's termination then follow as their own events on the line.01What does a novation leave behind?