Class DiscountingOvernightFutureTradePricer
- java.lang.Object
-
- com.opengamma.strata.pricer.index.DiscountingOvernightFutureTradePricer
-
public class DiscountingOvernightFutureTradePricer extends Object
Pricer implementation for Overnight rate future trades.This function provides the ability to price a
ResolvedOvernightFutureTrade
.Price
The price of an Overnight rate future is based on the interest rate of the underlying index. It is defined as(100 - percentRate)
.Strata uses decimal prices for Overnight rate 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 DiscountingOvernightFutureTradePricer
DEFAULT
Default implementation.
-
Constructor Summary
Constructors Constructor Description DiscountingOvernightFutureTradePricer(DiscountingOvernightFutureProductPricer productPricer)
Creates an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
parSpread(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider, double lastSettlementPrice)
Calculates the par spread of the Overnight rate future trade.PointSensitivities
parSpreadSensitivity(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider)
Calculates the par spread sensitivity of the Overnight rate future trade.CurrencyAmount
presentValue(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider, double lastSettlementPrice)
Calculates the present value of the Overnight rate future trade.PointSensitivities
presentValueSensitivity(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider)
Calculates the present value sensitivity of the Overnight rate future trade.double
price(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider)
Calculates the price of the Overnight rate future trade.PointSensitivities
priceSensitivity(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider)
Calculates the price sensitivity of the Overnight rate future product.
-
-
-
Field Detail
-
DEFAULT
public static final DiscountingOvernightFutureTradePricer DEFAULT
Default implementation.
-
-
Constructor Detail
-
DiscountingOvernightFutureTradePricer
public DiscountingOvernightFutureTradePricer(DiscountingOvernightFutureProductPricer productPricer)
Creates an instance.- Parameters:
productPricer
- the pricer forResolvedOvernightFuture
-
-
Method Detail
-
price
public double price(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider)
Calculates the price of the Overnight rate 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 traderatesProvider
- the rates provider- Returns:
- the price of the trade, in decimal form
-
priceSensitivity
public PointSensitivities priceSensitivity(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider)
Calculates the price sensitivity of the Overnight rate future product.The price sensitivity of the product is the sensitivity of the price to the underlying curves.
- Parameters:
trade
- the traderatesProvider
- the rates provider- Returns:
- the price curve sensitivity of the product
-
presentValue
public CurrencyAmount presentValue(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider, double lastSettlementPrice)
Calculates the present value of the Overnight rate 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 traderatesProvider
- the rates providerlastSettlementPrice
- the last settlement price used for margining, in decimal form- Returns:
- the present value
-
presentValueSensitivity
public PointSensitivities presentValueSensitivity(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider)
Calculates the present value sensitivity of the Overnight rate future trade.The present value sensitivity of the trade is the sensitivity of the present value to the underlying curves.
- Parameters:
trade
- the traderatesProvider
- the rates provider- Returns:
- the present value curve sensitivity of the trade
-
parSpread
public double parSpread(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider, double lastSettlementPrice)
Calculates the par spread of the Overnight rate future trade.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 traderatesProvider
- the rates providerlastSettlementPrice
- the last settlement price used for margining, in decimal form- Returns:
- the par spread.
-
parSpreadSensitivity
public PointSensitivities parSpreadSensitivity(ResolvedOvernightFutureTrade trade, RatesProvider ratesProvider)
Calculates the par spread sensitivity of the Overnight rate future trade.The par spread sensitivity of the trade is the sensitivity of the par spread to the underlying curves.
- Parameters:
trade
- the traderatesProvider
- the rates provider- Returns:
- the par spread curve sensitivity of the trade
-
-