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 ofBondFuture
.
-
-
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 Instance Methods Concrete 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.
-
-
-
Field Detail
-
DEFAULT
public static final BlackBondFutureOptionMarginedProductPricer DEFAULT
Default implementation.
-
-
Constructor Detail
-
BlackBondFutureOptionMarginedProductPricer
public BlackBondFutureOptionMarginedProductPricer(DiscountingBondFutureProductPricer futurePricer)
Creates an instance.- Parameters:
futurePricer
- the pricer forResolvedBondFutureOption
-
-
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 productdiscountingProvider
- the discounting providervolatilities
- 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 productdiscountingProvider
- the discounting providervolatilities
- the volatilitiesfuturePrice
- 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 productdiscountingProvider
- the discounting providervolatilities
- 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 productdiscountingProvider
- the discounting providervolatilities
- the volatilitiesfuturePrice
- 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 productdiscountingProvider
- the discounting providervolatilities
- 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 productdiscountingProvider
- the discounting providervolatilities
- the volatilitiesfuturePrice
- 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 productdiscountingProvider
- the discounting providervolatilities
- 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 productdiscountingProvider
- the discounting providervolatilities
- the volatilitiesfuturePrice
- 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 productdiscountingProvider
- the discounting providervolatilities
- 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 productdiscountingProvider
- the discounting providervolatilities
- the volatilitiesfuturePrice
- 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 productdiscountingProvider
- the discounting providervolatilities
- 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 productdiscountingProvider
- the discounting providervolatilities
- the volatilitiesfuturePrice
- the underlying future price- Returns:
- the sensitivity
-
-