Lesson 05 · 6 min

Exercise: the Swap Steps Out

One event, two outcomes: the swaption closes Exercised and the swap inside becomes a trade of its own.

Expiration day

2027-04-17, the expiration date written into the swaption when it was sold. Rates have climbed past 3.5%, so the right to pay 3.5% fixed is worth real money, and Pershing Square exercises. The options lesson ended on a cliffhanger: a whole swap, folded inside an option's underlier. This is the event that unfolds it. One ExerciseInstruction, and the option's lifeline ends while the swap's begins.

intent: OptionExercisethe swaptionunderlier: the swap, folded insideexerciseafter[0]the option closesclosedState: Exercisedafter[1]replacementTradeIdentifier: a new UTIthe swap, now a tradeinterestRatePayout × 2one event, two after states:a close and a birthQualify_Exercise: intent OptionExercise plus the exercise primitive
Key ideas
  • Exercise announces itself

    Unlike the partial unwind, this event carries intent: OptionExercise, and the qualifier demands it. Different events make different deals with the declared/derived split.

  • The instruction quantifies the exercise

    exerciseQuantity is itself a PrimitiveInstruction holding a quantity change: a full exercise consumes the whole option, a partial exercise consumes some. The verbs compose, even inside each other.

  • The new trade is named in advance

    replacementTradeIdentifier carries the identifier the spawned trade will bear. Physical exercise mints a new lifeline, and lifelines need names.

  • One event, two after states

    after[0]: the swaption, with closedState: Exercised. after[1]: the swap, positionState: Executed, ready for its own birth rites. The list shape of after finally pays off.

The exercise, on the wire

{} businessEvent, physical swaption exercise, trimmed
{  "intent": "OptionExercise",  "eventDate": "2027-04-17",  "instruction": [    {      "before": "… the swaption's TradeState …",      "primitiveInstruction": {        "exercise": {          "exerciseDate": {            "adjustedDate": "2027-04-17"          },          "exerciseQuantity": {            "quantityChange": "… the option quantity, consumed in full …"          },          "replacementTradeIdentifier": [            {              "assignedIdentifier": [                {                  "identifier": "W22LROWP2IHZNBB6K528JH82MV04QPL6",                  "version": 1                }              ],              "identifierType": "UniqueTransactionIdentifier",              "issuer": "W22LROWP2IHZNBB6K528"            }          ]        }      }    }  ],  "after": [    {      "trade": "… the swaption …",      "state": {        "closedState": {          "state": "Exercised",          "activityDate": "2027-04-17"        }      }    },    {      "trade": "… the swap, stepped out of the underlier …",      "state": {        "positionState": "Executed"      }    }  ],  "eventQualifier": "Exercise"}
The swap in after[1] is not invented by the event. It is the product that sat in underlier.underlyingProduct all along, promoted from blueprint to trade.

A close and a birth

Qualify_Exercise wants intent: OptionExercise plus one of three instruction shapes: the exercise verb on its own, a quantity change paired with a transfer for cash settlement, or a quantity change paired with an execution for the physical case spelled out long-hand. Three spellings, one meaning, one derived name. And notice what the exercise reuses: the close is the unwind's machinery, the birth is execution's. There is no special exercise magic, just two familiar moves in a single event.

Try itOpen Qualify_Exercise in the Playground and run the True example. Then clear the intent and watch the same instructions stop qualifying: the one event where the declaration is part of the deal.
◆ Checkpoint

01A physical swaption exercise produces which after states?

1 / 3