A Bullet Payment is a simple unidirectional one-off payment. The reason for the payment is not captured.
A Bullet Payment is represented in Strata using the
BulletPayment class stores details of the product that was agreed.
The trade details are stored in
BulletPayment can be created using a builder as follows:
BulletPayment bp = BulletPayment.builder() .payReceive(PayReceive.PAY) .value(CurrencyAmount.of(GBP, 20_000)) .date(AdjustableDate.of(LocalDate.of(2014, 9, 16), BusinessDayAdjustement.of(FOLLOWING, GBLO))) .build();
TIP: The strata-loader project provides the ability to load a Bullet Payment from FpML and CSV.
strata-measure module provides high-level risk measures for Bullet Payments.
The main entry point is
The following measures are available:
- present value, and associated sensitivity
- single-node bucketed gamma
- currency exposure
- current cash
These measures are also available using the calculation API.
strata-pricer module provides lower-level pricing support for Bullet Payments:
DiscountingPaymentPricer, see Javadoc.
The following table summarizes the fields on
BulletPayment that can be used to control the product.
For more detail on the meaning of each field, see the
|payReceive||Whether the amount is paid or received||Required|
|value||The payment value||Required|
|date||The payment date, adjustable||Required|