• java.lang.Object

• public class DiscountingIborFutureTradePricer
extends Object
Pricer implementation for Ibor future trades.

This function provides the ability to price a ResolvedIborFutureTrade.

#### Price

The price of an Ibor future is based on the interest rate of the underlying index. It is defined as (100 - percentRate).

Strata uses decimal prices for Ibor futures in the trade model, pricers and market data. The decimal price is based on the decimal rate equivalent to the percentage. For example, a price of 99.32 implies an interest rate of 0.68% which is represented in Strata by 0.9932.

• ### Field Summary

Fields
Modifier and Type Field Description
static DiscountingIborFutureTradePricer DEFAULT
Default implementation.
• ### Constructor Summary

Constructors
Constructor Description
DiscountingIborFutureTradePricer​(DiscountingIborFutureProductPricer productPricer)
Creates an instance.
• ### Method Summary

All Methods
Modifier and Type Method Description
double parSpread​(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, double lastSettlementPrice)
PointSensitivities parSpreadSensitivity​(ResolvedIborFutureTrade trade, RatesProvider ratesProvider)
CurrencyAmount presentValue​(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, double lastSettlementPrice)
Calculates the present value of the Ibor future trade.
PointSensitivities presentValueSensitivity​(ResolvedIborFutureTrade trade, RatesProvider ratesProvider)
Calculates the present value sensitivity of the Ibor future trade.
double price​(ResolvedIborFutureTrade trade, RatesProvider ratesProvider)
Calculates the price of the Ibor future trade.
PointSensitivities priceSensitivity​(ResolvedIborFutureTrade trade, RatesProvider ratesProvider)
Calculates the price sensitivity of the Ibor future product.
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Field Detail

• #### DEFAULT

public static final DiscountingIborFutureTradePricer DEFAULT
Default implementation.
• ### Constructor Detail

public DiscountingIborFutureTradePricer​(DiscountingIborFutureProductPricer productPricer)
Creates an instance.
Parameters:
productPricer - the pricer for ResolvedIborFuture
• ### Method Detail

• #### price

public double price​(ResolvedIborFutureTrade trade,
RatesProvider ratesProvider)
Calculates the price of the Ibor future trade.

The price of the trade is the price on the valuation date. The price is calculated using the discounting model.

Parameters:
trade - the trade
ratesProvider - the rates provider
Returns:
the price of the trade, in decimal form
• #### priceSensitivity

public PointSensitivities priceSensitivity​(ResolvedIborFutureTrade trade,
RatesProvider ratesProvider)
Calculates the price sensitivity of the Ibor future product.

The price sensitivity of the product is the sensitivity of the price to the underlying curves.

Parameters:
trade - the trade
ratesProvider - the rates provider
Returns:
the price curve sensitivity of the product
• #### presentValue

public CurrencyAmount presentValue​(ResolvedIborFutureTrade trade,
RatesProvider ratesProvider,
double lastSettlementPrice)
Calculates the present value of the Ibor future trade.

The present value of the product is the value on the valuation date. The current price is calculated using the discounting model.

This method calculates based on the difference between the model price and the last settlement price, or the trade price if traded on the valuation date.

Parameters:
trade - the trade
ratesProvider - the rates provider
lastSettlementPrice - the last settlement price used for margining, in decimal form
Returns:
the present value
• #### presentValueSensitivity

public PointSensitivities presentValueSensitivity​(ResolvedIborFutureTrade trade,
RatesProvider ratesProvider)
Calculates the present value sensitivity of the Ibor future trade.

The present value sensitivity of the trade is the sensitivity of the present value to the underlying curves.

Parameters:
trade - the trade
ratesProvider - the rates provider
Returns:
the present value curve sensitivity of the trade

public double parSpread​(ResolvedIborFutureTrade trade,
RatesProvider ratesProvider,
double lastSettlementPrice)

The par spread is defined in the following way. When the reference price (or market quote) is increased by the par spread, the present value of the trade is zero. The current price is calculated using the discounting model.

This method calculates based on the difference between the model price and the last settlement price, or the trade price if traded on the valuation date.

Parameters:
trade - the trade
ratesProvider - the rates provider
lastSettlementPrice - the last settlement price used for margining, in decimal form
Returns:
public PointSensitivities parSpreadSensitivity​(ResolvedIborFutureTrade trade,
RatesProvider ratesProvider)
trade - the trade
ratesProvider - the rates provider