A swaption is a financial instrument that provides an option based on the future value of an interest rate swap. The option is European, exercised only on the exercise date.
A physical delivery swaption is such that an actual interest rate swap is entered into if the option is exercised. On the other hand, a cash settled swaption settles cash amount computed based on the future value if the option is exercised.
A swaption is represented in Strata using the
Swaption class stores details of the product that was agreed.
The trade details are stored in
Swaption can be created using a builder as follows:
Swaption swaption = Swaption.builder() .expiryDate(AdjustableDate.of(LocalDate.of(2014, 6, 14), BusinessDayAdjustment.of(FOLLOWING, USNY))) .expiryTime(LocalTime.of(10, 0)) .expiryZone(ZoneId.of("Z")) .longShort(LongShort.LONG) .swaptionSettlement(PhysicalSettlement.DEFAULT) .underlying(SWAP) .build();
where the expiry date is specified in terms of
AdjustableDate with a suitable
SWAP represents the underlying swap product.
The swaption settlement type is
CashSettlement, and further detail of cash settled swaptions is defined by
These correspond to the ISDA 2006 definitions.
TIP: The strata-loader project provides the ability to load a Swaption from FpML and CSV.
strata-measure module provides high-level risk measures for swaptions.
This is based on the lognormal (Black) model, normal (Bachelier) model and SABR model.
The main entry point is
The following measures are available:
- present value, and associated sensitivity
- currency exposure
- current cash
- implied volatility
These measures are also available using the calculation API.
strata-pricer module provides pricing support for swaptions.
For Black and Normal methods, the Greeks can be computed:
- present value delta
- present value gamma
- present value theta
- present value sensitivity to volatility, i.e., present value vega
For the SABR method the pricer supports
- SABR parameter sensitivity
The following table summarizes the fields on
Swaption that can be used to control the product.
For more detail on the meaning of each field, see the Javadoc;
|longShort||Whether the swaption is long or short||Required|
|swaptionSettlement||The settlement method||Required|
|expiryDate||The expiry date, adjustable||Required|
|expiryTime||The expiry time||Required|
|expiryZone||The time-zone of the expiry time||Required|
|underlying||The underlying swap||Required|