public class NormalIborFutureOptionMarginedProductPricer extends Object
This provides the ability to price an Ibor future option. The option must be based on daily margin.
Strata uses decimal prices for Ibor future options in the trade model, pricers and market data. The decimal price is based on the decimal rate equivalent to the percentage. For example, an option price of 0.2 is related to a futures price of 99.32 that implies an interest rate of 0.68%. Strata represents the price of the future as 0.9932 and thus represents the price of the option as 0.002.
| Modifier and Type | Field and Description |
|---|---|
static NormalIborFutureOptionMarginedProductPricer |
DEFAULT
Default implementation.
|
| Constructor and Description |
|---|
NormalIborFutureOptionMarginedProductPricer(DiscountingIborFutureProductPricer futurePricer)
Creates an instance.
|
| Modifier and Type | Method and Description |
|---|---|
double |
deltaStickyStrike(ResolvedIborFutureOption futureOption,
RatesProvider ratesProvider,
NormalIborFutureOptionVolatilities volatilities)
Calculates the delta of the Ibor future option product.
|
double |
deltaStickyStrike(ResolvedIborFutureOption futureOption,
RatesProvider ratesProvider,
NormalIborFutureOptionVolatilities volatilities,
double futurePrice)
Calculates the delta of the Ibor future option product
based on the price of the underlying future.
|
double |
price(ResolvedIborFutureOption futureOption,
RatesProvider ratesProvider,
NormalIborFutureOptionVolatilities volatilities)
Calculates the price of the Ibor future option product.
|
double |
price(ResolvedIborFutureOption futureOption,
RatesProvider ratesProvider,
NormalIborFutureOptionVolatilities volatilities,
double futurePrice)
Calculates the price of the Ibor future option product
based on the price of the underlying future.
|
IborFutureOptionSensitivity |
priceSensitivityModelParamsVolatility(ResolvedIborFutureOption futureOption,
RatesProvider ratesProvider,
NormalIborFutureOptionVolatilities volatilities)
Calculates the price sensitivity to the normal volatility used for the pricing of the Ibor future option.
|
IborFutureOptionSensitivity |
priceSensitivityModelParamsVolatility(ResolvedIborFutureOption futureOption,
RatesProvider ratesProvider,
NormalIborFutureOptionVolatilities volatilities,
double futurePrice)
Calculates the price sensitivity to the normal volatility used for the pricing of the Ibor future option
based on the price of the underlying future.
|
PointSensitivities |
priceSensitivityRatesStickyStrike(ResolvedIborFutureOption futureOption,
RatesProvider ratesProvider,
NormalIborFutureOptionVolatilities volatilities)
Calculates the price sensitivity of the Ibor future option product based on curves.
|
PointSensitivities |
priceSensitivityRatesStickyStrike(ResolvedIborFutureOption futureOption,
RatesProvider ratesProvider,
NormalIborFutureOptionVolatilities volatilities,
double futurePrice)
Calculates the price sensitivity of the Ibor future option product
based on the price of the underlying future.
|
public static final NormalIborFutureOptionMarginedProductPricer DEFAULT
public NormalIborFutureOptionMarginedProductPricer(DiscountingIborFutureProductPricer futurePricer)
futurePricer - the pricer for IborFutureOptionpublic double price(ResolvedIborFutureOption futureOption, RatesProvider ratesProvider, NormalIborFutureOptionVolatilities volatilities)
The price of the option is the price on the valuation date.
This calculates the underlying future price using the future pricer.
futureOption - the option productratesProvider - the rates providervolatilities - the volatilitiespublic double price(ResolvedIborFutureOption futureOption, RatesProvider ratesProvider, NormalIborFutureOptionVolatilities volatilities, double futurePrice)
The price of the option is the price on the valuation date.
futureOption - the option productratesProvider - the rates providervolatilities - the volatilitiesfuturePrice - the price of the underlying future, in decimal formpublic double deltaStickyStrike(ResolvedIborFutureOption futureOption, RatesProvider ratesProvider, NormalIborFutureOptionVolatilities volatilities)
The delta of the product is the sensitivity of the option price to the future price. The volatility is unchanged for a fixed strike in the sensitivity computation, hence the "StickyStrike" name.
This calculates the underlying future price using the future pricer.
futureOption - the option productratesProvider - the rates providervolatilities - the volatilitiespublic double deltaStickyStrike(ResolvedIborFutureOption futureOption, RatesProvider ratesProvider, NormalIborFutureOptionVolatilities volatilities, double futurePrice)
The delta of the product is the sensitivity of the option price to the future price. The volatility is unchanged for a fixed strike in the sensitivity computation, hence the "StickyStrike" name.
futureOption - the option productratesProvider - the rates providervolatilities - the volatilitiesfuturePrice - the price of the underlying future, in decimal formpublic PointSensitivities priceSensitivityRatesStickyStrike(ResolvedIborFutureOption futureOption, RatesProvider ratesProvider, NormalIborFutureOptionVolatilities volatilities)
The price sensitivity of the product is the sensitivity of the price to the underlying curves. The volatility is unchanged for a fixed strike in the sensitivity computation, hence the "StickyStrike" name.
This calculates the underlying future price using the future pricer.
futureOption - the option productratesProvider - the rates providervolatilities - the volatilitiespublic PointSensitivities priceSensitivityRatesStickyStrike(ResolvedIborFutureOption futureOption, RatesProvider ratesProvider, NormalIborFutureOptionVolatilities volatilities, double futurePrice)
The price sensitivity of the product is the sensitivity of the price to the underlying curves. The volatility is unchanged for a fixed strike in the sensitivity computation, hence the "StickyStrike" name.
futureOption - the option productratesProvider - the rates providervolatilities - the volatilitiesfuturePrice - the price of the underlying future, in decimal formpublic IborFutureOptionSensitivity priceSensitivityModelParamsVolatility(ResolvedIborFutureOption futureOption, RatesProvider ratesProvider, NormalIborFutureOptionVolatilities volatilities)
This sensitivity is also called the price normal vega.
This calculates the underlying future price using the future pricer.
futureOption - the option productratesProvider - the rates providervolatilities - the volatilitiespublic IborFutureOptionSensitivity priceSensitivityModelParamsVolatility(ResolvedIborFutureOption futureOption, RatesProvider ratesProvider, NormalIborFutureOptionVolatilities volatilities, double futurePrice)
This sensitivity is also called the price normal vega.
futureOption - the option productratesProvider - the rates providervolatilities - the volatilitiesfuturePrice - the underlying future price, in decimal formCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.