public class HullWhiteIborFutureTradePricer extends Object
This function provides the ability to price a IborFutureTrade based on
Hull-White one-factor model with piecewise constant volatility.
Reference: Henrard M., Eurodollar Futures and Options: Convexity Adjustment in HJM One-Factor Model. March 2005. Available at http://ssrn.com/abstract=682343
(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.
| Modifier and Type | Field and Description |
|---|---|
static HullWhiteIborFutureTradePricer |
DEFAULT
Default implementation.
|
| Constructor and Description |
|---|
HullWhiteIborFutureTradePricer(HullWhiteIborFutureProductPricer productPricer)
Creates an instance.
|
public static final HullWhiteIborFutureTradePricer DEFAULT
public HullWhiteIborFutureTradePricer(HullWhiteIborFutureProductPricer productPricer)
productPricer - the pricer for IborFuturepublic double price(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, HullWhiteOneFactorPiecewiseConstantParametersProvider hwProvider)
The price of the trade is the price on the valuation date. The price is calculated using the Hull-White model.
trade - the traderatesProvider - the rates providerhwProvider - the Hull-White model parameter providerpublic PointSensitivities priceSensitivityRates(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, HullWhiteOneFactorPiecewiseConstantParametersProvider hwProvider)
The price sensitivity of the product is the sensitivity of the price to the underlying curves.
trade - the traderatesProvider - the rates providerhwProvider - the Hull-White model parameter providerpublic CurrencyAmount presentValue(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, HullWhiteOneFactorPiecewiseConstantParametersProvider hwProvider, double lastSettlementPrice)
The present value of the product is the value on the valuation date. The current price is calculated using the Hull-White 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.
trade - the traderatesProvider - the rates providerhwProvider - the Hull-White model parameter providerlastSettlementPrice - the last settlement price used for margining, in decimal formpublic PointSensitivities presentValueSensitivityRates(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, HullWhiteOneFactorPiecewiseConstantParametersProvider hwProvider)
The present value sensitivity of the trade is the sensitivity of the present value to the underlying curves.
trade - the traderatesProvider - the rates providerhwProvider - the Hull-White model parameter providerpublic DoubleArray presentValueSensitivityModelParamsHullWhite(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, HullWhiteOneFactorPiecewiseConstantParametersProvider hwProvider)
trade - the trade to priceratesProvider - the rates providerhwProvider - the Hull-White model parameter providerpublic double parSpread(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, HullWhiteOneFactorPiecewiseConstantParametersProvider hwProvider, 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 Hull-White 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.
trade - the traderatesProvider - the rates providerhwProvider - the Hull-White model parameter providerlastSettlementPrice - the last settlement price used for margining, in decimal formpublic PointSensitivities parSpreadSensitivityRates(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, HullWhiteOneFactorPiecewiseConstantParametersProvider hwProvider)
The par spread sensitivity of the trade is the sensitivity of the par spread to the underlying curves.
trade - the traderatesProvider - the rates providerhwProvider - the Hull-White model parameter providerpublic MultiCurrencyAmount currencyExposure(ResolvedIborFutureTrade trade, RatesProvider provider, HullWhiteOneFactorPiecewiseConstantParametersProvider hwProvider, double lastSettlementPrice)
Since the Ibor future is based on a single currency, the trade is exposed to only this currency.
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.
trade - the tradeprovider - the rates providerhwProvider - the Hull-White model parameter providerlastSettlementPrice - the last settlement price used for margining, in decimal formCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.