Class IborFutureOptionSecurity.Builder

    • Method Detail

      • info

        public IborFutureOptionSecurity.Builder info​(SecurityInfo info)
        Sets the standard security information.

        This includes the security identifier.

        Parameters:
        info - the new value, not null
        Returns:
        this, for chaining, not null
      • currency

        public IborFutureOptionSecurity.Builder currency​(Currency currency)
        Sets the currency that the option is traded in.
        Parameters:
        currency - the new value, not null
        Returns:
        this, for chaining, not null
      • putCall

        public IborFutureOptionSecurity.Builder putCall​(PutCall putCall)
        Sets whether the option is put or call.

        A call gives the owner the right, but not obligation, to buy the underlying at an agreed price in the future. A put gives a similar option to sell.

        Parameters:
        putCall - the new value
        Returns:
        this, for chaining, not null
      • strikePrice

        public IborFutureOptionSecurity.Builder strikePrice​(double strikePrice)
        Sets the strike price, in decimal form.

        This is the price at which the option applies and refers to the price of the underlying future. The rate implied by the strike can take negative values.

        Strata uses decimal prices for Ibor futures in the trade model, pricers and market data. The decimal price is based on the decimal rate equivalent to the percentage. For example, a price of 99.32 implies an interest rate of 0.68% which is represented in Strata by 0.9932.

        Parameters:
        strikePrice - the new value
        Returns:
        this, for chaining, not null
      • expiryDate

        public IborFutureOptionSecurity.Builder expiryDate​(LocalDate expiryDate)
        Sets the expiry date of the option.

        The expiry date is related to the expiry time and time-zone. The date must not be after last trade date of the underlying future.

        Parameters:
        expiryDate - the new value, not null
        Returns:
        this, for chaining, not null
      • expiryTime

        public IborFutureOptionSecurity.Builder expiryTime​(LocalTime expiryTime)
        Sets the expiry time of the option.

        The expiry time is related to the expiry date and time-zone.

        Parameters:
        expiryTime - the new value, not null
        Returns:
        this, for chaining, not null
      • expiryZone

        public IborFutureOptionSecurity.Builder expiryZone​(ZoneId expiryZone)
        Sets the time-zone of the expiry time.

        The expiry time-zone is related to the expiry date and time.

        Parameters:
        expiryZone - the new value, not null
        Returns:
        this, for chaining, not null
      • premiumStyle

        public IborFutureOptionSecurity.Builder premiumStyle​(FutureOptionPremiumStyle premiumStyle)
        Sets the style of the option premium.

        The two options are daily margining and upfront premium.

        Parameters:
        premiumStyle - the new value, not null
        Returns:
        this, for chaining, not null
      • rounding

        public IborFutureOptionSecurity.Builder rounding​(Rounding rounding)
        Sets the definition of how to round the option price, defaulted to no rounding.

        The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form.

        Parameters:
        rounding - the new value, not null
        Returns:
        this, for chaining, not null
      • underlyingFutureId

        public IborFutureOptionSecurity.Builder underlyingFutureId​(SecurityId underlyingFutureId)
        Sets the identifier of the underlying future.
        Parameters:
        underlyingFutureId - the new value, not null
        Returns:
        this, for chaining, not null