Class NormalIborFutureOptionMarginedProductPricer


  • public class NormalIborFutureOptionMarginedProductPricer
    extends Object
    Pricer of options on Ibor future with a normal model on the underlying future price.

    This provides the ability to price an Ibor future option. The option must be based on daily margin.

    Price

    The price of an Ibor future option is based on the price of the underlying future, the volatility and the time to expiry. The price of the at-the-money option tends to zero as expiry approaches.

    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.

    • Method Detail

      • price

        public double price​(ResolvedIborFutureOption futureOption,
                            RatesProvider ratesProvider,
                            NormalIborFutureOptionVolatilities volatilities)
        Calculates the price of the Ibor 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.

        Parameters:
        futureOption - the option product
        ratesProvider - the rates provider
        volatilities - the volatilities
        Returns:
        the price of the product, in decimal form
      • price

        public 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.

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

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

        public double deltaStickyStrike​(ResolvedIborFutureOption futureOption,
                                        RatesProvider ratesProvider,
                                        NormalIborFutureOptionVolatilities volatilities)
        Calculates the delta of the Ibor 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
        ratesProvider - the rates provider
        volatilities - the volatilities
        Returns:
        the price curve sensitivity of the product
      • deltaStickyStrike

        public 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.

        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
        ratesProvider - the rates provider
        volatilities - the volatilities
        futurePrice - the price of the underlying future, in decimal form
        Returns:
        the price curve sensitivity of the product
      • priceSensitivityRatesStickyStrike

        public PointSensitivities priceSensitivityRatesStickyStrike​(ResolvedIborFutureOption futureOption,
                                                                    RatesProvider ratesProvider,
                                                                    NormalIborFutureOptionVolatilities volatilities)
        Calculates the price sensitivity of the Ibor 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
        ratesProvider - the rates provider
        volatilities - the volatilities
        Returns:
        the price curve sensitivity of the product
      • priceSensitivityRatesStickyStrike

        public 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.

        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
        ratesProvider - the rates provider
        volatilities - the volatilities
        futurePrice - the price of the underlying future, in decimal form
        Returns:
        the price curve sensitivity of the product
      • priceSensitivityModelParamsVolatility

        public 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.

        This sensitivity is also called the price normal vega.

        This calculates the underlying future price using the future pricer.

        Parameters:
        futureOption - the option product
        ratesProvider - the rates provider
        volatilities - the volatilities
        Returns:
        the sensitivity
      • priceSensitivityModelParamsVolatility

        public 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.

        This sensitivity is also called the price normal vega.

        Parameters:
        futureOption - the option product
        ratesProvider - the rates provider
        volatilities - the volatilities
        futurePrice - the underlying future price, in decimal form
        Returns:
        the sensitivity