## Class BlackBondFutureOptionMarginedProductPricer

• java.lang.Object
• com.opengamma.strata.pricer.bond.BlackBondFutureOptionMarginedProductPricer

• public final class BlackBondFutureOptionMarginedProductPricer
extends Object
Pricer of options on bond future with a log-normal model on the underlying future price.

#### Price

Strata uses decimal prices for bond futures options in the trade model, pricers and market data. This is coherent with the pricing of BondFuture.
• ### Field Summary

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

Constructors
Constructor Description
BlackBondFutureOptionMarginedProductPricer​(DiscountingBondFutureProductPricer futurePricer)
Creates an instance.
• ### Method Summary

All Methods
Modifier and Type Method Description
double deltaStickyStrike​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities)
Calculates the delta of the bond future option product.
double deltaStickyStrike​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities, double futurePrice)
Calculates the delta of the bond future option product based on the price of the underlying future.
double gammaStickyStrike​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities)
Calculates the gamma of the bond future option product.
double gammaStickyStrike​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities, double futurePrice)
Calculates the gamma of the bond future option product based on the price of the underlying future.
double price​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities)
Calculates the price of the bond future option product.
double price​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities, double futurePrice)
Calculates the price of the bond future option product based on the price of the underlying future.
BondFutureOptionSensitivity priceSensitivityModelParamsVolatility​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities)
Calculates the price sensitivity to the Black volatility used for the pricing of the bond future option.
BondFutureOptionSensitivity priceSensitivityModelParamsVolatility​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities, double futurePrice)
Calculates the price sensitivity to the Black volatility used for the pricing of the bond future option based on the price of the underlying future.
PointSensitivities priceSensitivityRatesStickyStrike​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities)
Calculates the price sensitivity of the bond future option product based on curves.
PointSensitivities priceSensitivityRatesStickyStrike​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities, double futurePrice)
Calculates the price sensitivity of the bond future option product based on the price of the underlying future.
double theta​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities)
Calculates the theta of the bond future option product.
double theta​(ResolvedBondFutureOption futureOption, LegalEntityDiscountingProvider discountingProvider, BlackBondFutureVolatilities volatilities, double futurePrice)
Calculates the theta of the bond future option product based on the price of the underlying future.
• ### Methods inherited from class java.lang.Object

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

• #### DEFAULT

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

• #### BlackBondFutureOptionMarginedProductPricer

public BlackBondFutureOptionMarginedProductPricer​(DiscountingBondFutureProductPricer futurePricer)
Creates an instance.
Parameters:
futurePricer - the pricer for ResolvedBondFutureOption
• ### Method Detail

• #### price

public double price​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities)
Calculates the price of the bond future option product.

The price of the option is the price on the valuation date.

This calculates the underlying future price using the future pricer.

Strata uses decimal prices for bond futures. This is coherent with the pricing of BondFuture. For example, a price of 1.32% is represented in Strata by 0.0132.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
Returns:
the price of the product, in decimal form
• #### price

public double price​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities,
double futurePrice)
Calculates the price of the bond future option product based on the price of the underlying future.

The price of the option is the price on the valuation date.

Strata uses decimal prices for bond futures. This is coherent with the pricing of BondFuture. For example, a price of 1.32% is represented in Strata by 0.0132.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
futurePrice - the price of the underlying future
Returns:
the price of the product, in decimal form
• #### deltaStickyStrike

public double deltaStickyStrike​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities)
Calculates the delta of the bond future option product.

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.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
Returns:
the price curve sensitivity of the product
• #### deltaStickyStrike

public double deltaStickyStrike​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities,
double futurePrice)
Calculates the delta of the bond future option product based on the price of the underlying future.

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.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
futurePrice - the price of the underlying future
Returns:
the price curve sensitivity of the product
• #### gammaStickyStrike

public double gammaStickyStrike​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities)
Calculates the gamma of the bond future option product.

The gamma of the product is the sensitivity of the option delta 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.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
Returns:
the price curve sensitivity of the product
• #### gammaStickyStrike

public double gammaStickyStrike​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities,
double futurePrice)
Calculates the gamma of the bond future option product based on the price of the underlying future.

The gamma of the product is the sensitivity of the option delta to the future price. The volatility is unchanged for a fixed strike in the sensitivity computation, hence the "StickyStrike" name.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
futurePrice - the price of the underlying future
Returns:
the price curve sensitivity of the product
• #### theta

public double theta​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities)
Calculates the theta of the bond future option product.

The theta of the product is the minus of the option price sensitivity to the time to expiry. 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.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
Returns:
the price curve sensitivity of the product
• #### theta

public double theta​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities,
double futurePrice)
Calculates the theta of the bond future option product based on the price of the underlying future.

The theta of the product is minus of the option price sensitivity to the time to expiry. The volatility is unchanged for a fixed strike in the sensitivity computation, hence the "StickyStrike" name.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
futurePrice - the price of the underlying future
Returns:
the price curve sensitivity of the product
• #### priceSensitivityRatesStickyStrike

public PointSensitivities priceSensitivityRatesStickyStrike​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities)
Calculates the price sensitivity of the bond future option product based on curves.

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.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
Returns:
the price curve sensitivity of the product
• #### priceSensitivityRatesStickyStrike

public PointSensitivities priceSensitivityRatesStickyStrike​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities,
double futurePrice)
Calculates the price sensitivity of the bond future option product based on the price of the underlying future.

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.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
futurePrice - the price of the underlying future
Returns:
the price curve sensitivity of the product
• #### priceSensitivityModelParamsVolatility

public BondFutureOptionSensitivity priceSensitivityModelParamsVolatility​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities)
Calculates the price sensitivity to the Black volatility used for the pricing of the bond future option.

This calculates the underlying future price using the future pricer.

Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
Returns:
the sensitivity
• #### priceSensitivityModelParamsVolatility

public BondFutureOptionSensitivity priceSensitivityModelParamsVolatility​(ResolvedBondFutureOption futureOption,
LegalEntityDiscountingProvider discountingProvider,
BlackBondFutureVolatilities volatilities,
double futurePrice)
Calculates the price sensitivity to the Black volatility used for the pricing of the bond future option based on the price of the underlying future.
Parameters:
futureOption - the option product
discountingProvider - the discounting provider
volatilities - the volatilities
futurePrice - the underlying future price
Returns:
the sensitivity