Class BlackBondFutureOptionMarginedProductPricer


  • public final class BlackBondFutureOptionMarginedProductPricer
    extends java.lang.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.
    • 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