Serialized Form

  • index

    IborIndex index
    The Ibor index.

    The data must valid in terms of this Ibor index.

  • valuationDateTime

    ZonedDateTime valuationDateTime
    The valuation date-time.

    The volatilities are calibrated for this date-time.

  • Class com.opengamma.strata.pricer.capfloor.NormalIborCapletFloorletExpiryStrikeVolatilities extends Object implements Serializable

    serialVersionUID:
    1L
  • Class com.opengamma.strata.pricer.capfloor.SabrIborCapletFloorletVolatilityBootstrapDefinition extends Object implements Serializable

    serialVersionUID:
    1L
  • Class com.opengamma.strata.pricer.capfloor.SabrIborCapletFloorletVolatilityCalibrationDefinition extends Object implements Serializable

    serialVersionUID:
    1L
  • Class com.opengamma.strata.pricer.capfloor.SabrParametersIborCapletFloorletVolatilities extends Object implements Serializable

    serialVersionUID:
    1L
  • Class com.opengamma.strata.pricer.capfloor.ShiftedBlackIborCapletFloorletExpiryStrikeVolatilities extends Object implements Serializable

    serialVersionUID:
    1L
  • Class com.opengamma.strata.pricer.capfloor.SurfaceIborCapletFloorletVolatilityBootstrapDefinition extends Object implements Serializable

    serialVersionUID:
    1L
  • Package com.opengamma.strata.pricer.common

    • Class com.opengamma.strata.pricer.common.GenericVolatilitySurfacePeriodParameterMetadata extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • label

          String label
          The label that describes the node.
        • period

          Period period
          The period of the surface node.

          This is the period to expiry that the node on the surface is defined as. There is not necessarily a direct relationship with a date from an underlying instrument.

        • strike

          Strike strike
          The strike of the surface node.

          This is the strike that the node on the surface is defined as.

    • Class com.opengamma.strata.pricer.common.GenericVolatilitySurfaceYearFractionParameterMetadata extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • label

          String label
          The label that describes the node.
        • strike

          Strike strike
          The strike of the surface node.

          This is the strike that the node on the surface is defined as.

        • yearFraction

          double yearFraction
          The year fraction of the surface node.

          This is the time to expiry that the node on the surface is defined as. There is not necessarily a direct relationship with a date from an underlying instrument.

  • Package com.opengamma.strata.pricer.credit

  • Package com.opengamma.strata.pricer.fx

    • Class com.opengamma.strata.pricer.fx.DiscountFxForwardRates extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • baseCurrencyDiscountFactors

          DiscountFactors baseCurrencyDiscountFactors
          The discount factors for the base currency of the currency pair.
        • counterCurrencyDiscountFactors

          DiscountFactors counterCurrencyDiscountFactors
          The discount factors for the counter currency of the currency pair.
        • currencyPair

          CurrencyPair currencyPair
          The currency pair that the rates are for.
        • fxRateProvider

          FxRateProvider fxRateProvider
          The provider of FX rates.
    • Class com.opengamma.strata.pricer.fx.ForwardFxIndexRates extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • fixings

          LocalDateDoubleTimeSeries fixings
          The time-series of fixings, defaulted to an empty time-series. This includes the known historical fixings and may be empty.
        • fxForwardRates

          FxForwardRates fxForwardRates
          The underlying FX forward rates.
        • index

          FxIndex index
          The index that the rates are for.
    • Class com.opengamma.strata.pricer.fx.FxForwardSensitivity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • currency

          Currency currency
          The currency of the sensitivity.
        • currencyPair

          CurrencyPair currencyPair
          The currency pair for which the sensitivity is computed.
        • referenceCurrency

          Currency referenceCurrency
          The reference currency.

          This is the base currency of the FX conversion that occurs using the currency pair. The reference currency must be one of the two currencies of the currency pair.

        • referenceDate

          LocalDate referenceDate
          The date to query the rate for.
        • sensitivity

          double sensitivity
          The value of the sensitivity. This is the amount that is converted from the base currency to the counter currency.
    • Class com.opengamma.strata.pricer.fx.FxIndexSensitivity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • currency

          Currency currency
          The currency of the sensitivity.
        • observation

          FxIndexObservation observation
          The FX rate observation.

          This includes the index and fixing date.

        • referenceCurrency

          Currency referenceCurrency
          The reference currency.

          This is the base currency of the FX conversion that occurs using the index. The reference currency must be one of the two currencies of the index.

        • sensitivity

          double sensitivity
          The value of the sensitivity.
  • Package com.opengamma.strata.pricer.fxopt

  • Package com.opengamma.strata.pricer.impl.rate.model

  • Package com.opengamma.strata.pricer.impl.tree

    • Class com.opengamma.strata.pricer.impl.tree.ConstantContinuousSingleBarrierKnockoutFunction extends com.opengamma.strata.pricer.impl.tree.SingleBarrierKnockoutFunction implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • barrierLevel

          double barrierLevel
          The constant barrier level.
        • barrierType

          BarrierType barrierType
          The barrier type.
        • numberOfSteps

          int numberOfSteps
          The number of time steps.
        • rebate

          DoubleArray rebate
          The rebate.

          The rebate amounts for individual time layer. The size must be equal to numberOfSteps + 1

        • sign

          double sign
          The sign.

          The sign is +1 for call and -1 for put.

        • strike

          double strike
          The strike value.
        • timeToExpiry

          double timeToExpiry
          The time to expiry.
    • Class com.opengamma.strata.pricer.impl.tree.EuropeanVanillaOptionFunction extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • numberOfSteps

          int numberOfSteps
          The number of time steps.
        • sign

          double sign
          The sign.

          The sign is +1 for call and -1 for put.

        • strike

          double strike
          The strike value.
        • timeToExpiry

          double timeToExpiry
          The time to expiry.
  • Package com.opengamma.strata.pricer.impl.volatility.smile

  • Package com.opengamma.strata.pricer.index

  • Package com.opengamma.strata.pricer.model

    • Class com.opengamma.strata.pricer.model.HullWhiteOneFactorPiecewiseConstantParameters extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • meanReversion

          double meanReversion
          The mean reversion speed parameter.
        • volatility

          DoubleArray volatility
          The volatility parameters.

          The volatility is constant between the volatility times, i.e., volatility value at t is volatility.get(i) for any t between volatilityTime.get(i) and volatilityTime.get(i+1).

        • volatilityTime

          DoubleArray volatilityTime
          The times separating the constant volatility periods.

          The time should be sorted by increasing order. The first time is 0 and the last time is 1000 (represents infinity). These extra times are added in HullWhiteOneFactorPiecewiseConstantParameters.of(double, DoubleArray, DoubleArray).

    • Class com.opengamma.strata.pricer.model.HullWhiteOneFactorPiecewiseConstantParametersProvider extends Object implements Serializable

      serialVersionUID:
      1L
    • Class com.opengamma.strata.pricer.model.SabrInterestRateParameters extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • alphaSurface

          Surface alphaSurface
          The alpha (volatility level) surface.

          The first dimension is the expiry and the second the tenor.

        • betaSurface

          Surface betaSurface
          The beta (elasticity) surface.

          The first dimension is the expiry and the second the tenor.

        • nuSurface

          Surface nuSurface
          The nu (volatility of volatility) surface.

          The first dimension is the expiry and the second the tenor.

        • rhoSurface

          Surface rhoSurface
          The rho (correlation) surface.

          The first dimension is the expiry and the second the tenor.

        • sabrVolatilityFormula

          SabrVolatilityFormula sabrVolatilityFormula
          The SABR volatility formula.
        • shiftSurface

          Surface shiftSurface
          The shift parameter of shifted SABR model.

          The first dimension is the expiry and the second the tenor. The shift is set to be 0 unless specified.

    • Class com.opengamma.strata.pricer.model.SabrParameters extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • alphaCurve

          Curve alphaCurve
          The alpha (volatility level) curve.

          The x value of the curve is the expiry.

        • betaCurve

          Curve betaCurve
          The beta (elasticity) curve.

          The x value of the curve is the expiry.

        • nuCurve

          Curve nuCurve
          The nu (volatility of volatility) curve.

          The x value of the curve is the expiry.

        • rhoCurve

          Curve rhoCurve
          The rho (correlation) curve.

          The x value of the curve is the expiry.

        • sabrVolatilityFormula

          SabrVolatilityFormula sabrVolatilityFormula
          The SABR volatility formula.
        • shiftCurve

          Curve shiftCurve
          The shift parameter of shifted SABR model.

          The x value of the curve is the expiry. The shift is set to be 0 unless specified.

  • Package com.opengamma.strata.pricer.option

    • Class com.opengamma.strata.pricer.option.RawOptionData extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • data

          DoubleMatrix data
          The data. The values can be model parameters (like Black or normal volatilities) or direct option prices. The first (outer) dimension is the expiry, the second dimension is the strike. A 'NaN' value indicates that the data is not available.
        • dataType

          ValueType dataType
          The type of the raw data.
        • error

          DoubleMatrix error
          The measurement error of the option data.

          These will be used if the option data is calibrated by a least square method. data and error must have the same number of elements.

        • expiries

          ImmutableList<Period> expiries
          The expiry values.
        • shift

          Double shift
          The shift for which the raw data is valid. Used only if the dataType is 'BlackVolatility'.
        • strikes

          DoubleArray strikes
          The strike values. Can be directly strike or moneyness (simple or log)
        • strikeType

          ValueType strikeType
          The value type of the strike-like dimension.
    • Class com.opengamma.strata.pricer.option.TenorRawOptionData extends Object implements Serializable

      serialVersionUID:
      1L
  • Package com.opengamma.strata.pricer.rate

  • Package com.opengamma.strata.pricer.swaption

  • Package com.opengamma.strata.product

    • Class com.opengamma.strata.product.AttributeType extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

    • Class com.opengamma.strata.product.GenericSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

    • Class com.opengamma.strata.product.GenericSecurityPosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • security

          GenericSecurity security
          The underlying security.
        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.GenericSecurityTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • price

          double price
          The price that was traded, in decimal form.

          This is the price agreed when the trade occurred.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

        • security

          GenericSecurity security
          The security that was traded.
    • Class com.opengamma.strata.product.LegalEntityId extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • standardId

          StandardId standardId
          The identifier, expressed as a standard two-part identifier.
    • Class com.opengamma.strata.product.PortfolioItemSummary extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • currencies

          ImmutableSet<Currency> currencies
          The currencies of the item.

          This should include the primary currencies the item is based on, not just the payment currencies.

        • description

          String description
          The description of the item.
        • id

          StandardId id
          The identifier of the item, optional.
        • portfolioItemType

          PortfolioItemType portfolioItemType
          The type of the item.
        • productType

          ProductType productType
          The type of the product.
    • Class com.opengamma.strata.product.PositionInfo extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • attributes

          ImmutableMap<AttributeType<?>,​Object> attributes
          The position attributes.

          Position attributes provide the ability to associate arbitrary information in a key-value map.

        • id

          StandardId id
          The primary identifier for the position, optional.

          The identifier is used to identify the position. It will typically be an identifier in an external data system.

          A position may have multiple active identifiers. Any identifier may be chosen here. Certain uses of the identifier, such as storage in a database, require that the identifier does not change over time, and this should be considered best practice.

    • Class com.opengamma.strata.product.ProductType extends TypedString<ProductType> implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • description

          String description
          The description.
    • Class com.opengamma.strata.product.SecurityId extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • standardId

          StandardId standardId
          The identifier, expressed as a standard two-part identifier.
    • Class com.opengamma.strata.product.SecurityInfo extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • attributes

          ImmutableMap<AttributeType<?>,​Object> attributes
          The security attributes.

          Security attributes provide the ability to associate arbitrary information in a key-value map.

        • id

          SecurityId id
          The security identifier.

          This identifier uniquely identifies the security within the system. It is the key used to lookup the security in ReferenceData.

          A real-world security will typically have multiple identifiers. The only restriction placed on the identifier is that it is sufficiently unique for the reference data lookup. As such, it is acceptable to use an identifier from a well-known global or vendor symbology.

        • priceInfo

          SecurityPriceInfo priceInfo
          The information about the security price.

          This provides information about the security price. This can be used to convert the price into a monetary value.

    • Class com.opengamma.strata.product.SecurityPosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • securityId

          SecurityId securityId
          The identifier of the underlying security.

          This identifier uniquely identifies the security within the system.

        • shortQuantity

          double shortQuantity
          The quantity that was traded.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.SecurityPriceInfo extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • contractSize

          double contractSize
          The size of each contract.

          Contract size is the quantity of the underlying present in each derivative contract. For example, an equity option typically consists of 100 shares.

        • tickSize

          double tickSize
          The size of each tick.

          Tick size is the minimum movement in the price of the security. For example, the price might move up or down in units of 0.01 It must be a positive decimal number.

        • tickValue

          CurrencyAmount tickValue
          The monetary value of one tick.

          Tick value is the monetary value of the minimum movement in the price of the security. When the price changes by one tick, this amount is gained or lost.

    • Class com.opengamma.strata.product.SecurityTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • price

          double price
          The price agreed when the trade occurred.

          This is the price agreed when the trade occurred.

        • quantity

          double quantity
          The quantity that was traded.

          This will be positive if buying and negative if selling.

        • securityId

          SecurityId securityId
          The identifier of the security that was traded.

          This identifier uniquely identifies the security within the system.

    • Class com.opengamma.strata.product.SimpleLegalEntity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • country

          Country country
          The country that the legal entity is based in.
        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.
        • name

          String name
          The legal entity name.
    • Class com.opengamma.strata.product.TradedPrice extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • price

          double price
          The price at which the trade was agreed.

          See the security type for more details on the meaning of the price.

        • tradeDate

          LocalDate tradeDate
          The trade date.

          The date that the trade occurred.

    • Class com.opengamma.strata.product.TradeInfo extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • attributes

          ImmutableMap<AttributeType<?>,​Object> attributes
          The trade attributes.

          Trade attributes provide the ability to associate arbitrary information in a key-value map.

        • counterparty

          StandardId counterparty
          The counterparty identifier, optional.

          An identifier used to specify the counterparty of the trade.

        • id

          StandardId id
          The primary identifier for the trade, optional.

          The identifier is used to identify the trade. It will typically be an identifier in an external data system.

          A trade may have multiple active identifiers. Any identifier may be chosen here. Certain uses of the identifier, such as storage in a database, require that the identifier does not change over time, and this should be considered best practice.

        • settlementDate

          LocalDate settlementDate
          The settlement date, optional.
        • tradeDate

          LocalDate tradeDate
          The trade date, optional.
        • tradeTime

          LocalTime tradeTime
          The trade time, optional.
        • zone

          ZoneId zone
          The trade time-zone, optional.
  • Package com.opengamma.strata.product.bond

    • Class com.opengamma.strata.product.bond.Bill extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • dayCount

          DayCount dayCount
          The day count convention applicable.

          The conversion from dates to a numerical value is made based on this day count.

        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.

          This identifier is used for the legal entity that issues the bill.

        • notional

          AdjustablePayment notional
          The adjustable notional payment of the bill notional, the amount must be positive.
        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          It is usually one business day for US and UK bills and two days for Euroland government bills.

        • yieldConvention

          BillYieldConvention yieldConvention
          Yield convention.

          The convention defines how to convert from yield to price and inversely.

    • Class com.opengamma.strata.product.bond.BillPosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • product

          Bill product
          The bill that was traded.

          The product captures the contracted financial details.

        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.bond.BillSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • dayCount

          DayCount dayCount
          The day count convention applicable.

          The conversion from dates to a numerical value is made based on this day count.

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.

          This identifier is used for the legal entity that issues the bill.

        • notional

          AdjustablePayment notional
          The adjustable notional payment of the bill notional, the amount must be positive.
        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          It is usually one business day for US and UK bills and two days for Euroland government bills.

        • yieldConvention

          BillYieldConvention yieldConvention
          Yield convention.

          The convention defines how to convert from yield to price and inversely.

    • Class com.opengamma.strata.product.bond.BillTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • price

          double price
          The price at which the bill was traded, in decimal form.
        • product

          Bill product
          The bill that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This will be positive if buying and negative if selling.

    • Class com.opengamma.strata.product.bond.BondFuture extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • conversionFactors

          ImmutableList<Double> conversionFactors
          The conversion factor for each bond in the basket.

          The price of each underlying security in the basket is rescaled by the conversion factor. This must not be empty, and its size must be the same as the size of deliveryBasket.

          All of the underlying bonds must have the same notional and currency.

        • deliveryBasket

          ImmutableList<FixedCouponBond> deliveryBasket
          The basket of deliverable bonds.

          The underling which will be delivered in the future time is chosen from a basket of underling securities. This must not be empty.

          All of the underlying bonds must have the same notional and currency.

        • firstDeliveryDate

          LocalDate firstDeliveryDate
          The first delivery date.

          The first date on which the underlying is delivered.

          If not specified, the date will be computed from firstNoticeDate by using settlementDateOffset in the first element of the delivery basket when the future is resolved.

        • firstNoticeDate

          LocalDate firstNoticeDate
          The first notice date.

          The first date on which the delivery of the underlying is authorized.

        • lastDeliveryDate

          LocalDate lastDeliveryDate
          The last delivery date.

          The last date on which the underlying is delivered.

          If not specified, the date will be computed from lastNoticeDate by using settlementDateOffset in the first element of the delivery basket when the future is resolved.

        • lastNoticeDate

          LocalDate lastNoticeDate
          The last notice date.

          The last date on which the delivery of the underlying is authorized.

        • lastTradeDate

          LocalDate lastTradeDate
          The last trading date.

          The future security is traded until this date.

        • rounding

          Rounding rounding
          The definition of how to round the futures 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. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

    • Class com.opengamma.strata.product.bond.BondFutureOption extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • expiryDate

          LocalDate expiryDate
          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.

        • expiryTime

          LocalTime expiryTime
          The expiry time of the option.

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

        • expiryZone

          ZoneId expiryZone
          The time-zone of the expiry time.

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

        • premiumStyle

          FutureOptionPremiumStyle premiumStyle
          The style of the option premium.

          The two options are daily margining and upfront premium.

        • putCall

          PutCall putCall
          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.

        • rounding

          Rounding rounding
          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. For example, the common market price of 99.7125 is represented as 0.997125 which has 6 decimal places.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • strikePrice

          double strikePrice
          The strike price, represented in decimal form.

          This is the price at which the option applies and refers to the price of the underlying future. This must be represented in decimal form, (1.0 - decimalRate). As such, the common market price of 99.3 for a 0.7% rate must be input as 0.993. The rate implied by the strike can take negative values.

        • underlyingFuture

          BondFuture underlyingFuture
          The underlying future.
    • Class com.opengamma.strata.product.bond.BondFutureOptionPosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • product

          BondFutureOption product
          The option that was traded.

          The product captures the contracted financial details.

        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.bond.BondFutureOptionSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • currency

          Currency currency
          The currency that the future is traded in.
        • expiryDate

          LocalDate expiryDate
          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.

        • expiryTime

          LocalTime expiryTime
          The expiry time of the option.

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

        • expiryZone

          ZoneId expiryZone
          The time-zone of the expiry time.

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

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • premiumStyle

          FutureOptionPremiumStyle premiumStyle
          The style of the option premium.

          The two options are daily margining and upfront premium.

        • putCall

          PutCall putCall
          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.

        • rounding

          Rounding rounding
          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. For example, the common market price of 99.7125 is represented as 0.997125 which has 6 decimal places.

        • strikePrice

          double strikePrice
          The strike price, represented in decimal form.

          This is the price at which the option applies and refers to the price of the underlying future. This must be represented in decimal form, (1.0 - decimalRate). As such, the common market price of 99.3 for a 0.7% rate must be input as 0.993. The rate implied by the strike can take negative values.

        • underlyingFutureId

          SecurityId underlyingFutureId
          The identifier of the underlying future.
    • Class com.opengamma.strata.product.bond.BondFutureOptionTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade. The trade date is required when calling BondFutureOptionTrade.resolve(ReferenceData).

        • price

          double price
          The price that was traded, in decimal form.

          This is the price agreed when the trade occurred.

        • product

          BondFutureOption product
          The option that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

    • Class com.opengamma.strata.product.bond.BondFuturePosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • product

          BondFuture product
          The future that was traded.

          The product captures the contracted financial details.

        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.bond.BondFutureSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • conversionFactors

          ImmutableList<Double> conversionFactors
          The conversion factor for each bond in the basket.

          The price of each underlying security in the basket is rescaled by the conversion factor. This must not be empty, and its size must be the same as the size of deliveryBasketIds.

          All of the underlying bonds must have the same notional and currency.

        • currency

          Currency currency
          The currency that the future is traded in.
        • deliveryBasketIds

          ImmutableList<SecurityId> deliveryBasketIds
          The basket of deliverable bonds.

          The underlying which will be delivered in the future time is chosen from a basket of underling securities. This must not be empty.

          All of the underlying bonds must have the same notional and currency.

        • firstDeliveryDate

          LocalDate firstDeliveryDate
          The first delivery date.

          The first date on which the underlying is delivered.

          If not specified, the date will be computed from firstNoticeDate by using settlementDateOffset in the first element of the delivery basket when the future is resolved.

        • firstNoticeDate

          LocalDate firstNoticeDate
          The first notice date.

          The first date on which the delivery of the underlying is authorized.

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • lastDeliveryDate

          LocalDate lastDeliveryDate
          The last delivery date.

          The last date on which the underlying is delivered.

          If not specified, the date will be computed from lastNoticeDate by using settlementDateOffset in the first element of the delivery basket when the future is resolved.

        • lastNoticeDate

          LocalDate lastNoticeDate
          The last notice date.

          The last date on which the delivery of the underlying is authorized.

        • lastTradeDate

          LocalDate lastTradeDate
          The last trading date.

          The future security is traded until this date.

        • rounding

          Rounding rounding
          The definition of how to round the futures 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. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

    • Class com.opengamma.strata.product.bond.BondFutureTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade. The trade date is required when calling BondFutureTrade.resolve(ReferenceData).

        • price

          double price
          The price that was traded, in decimal form.

          This is the price agreed when the trade occurred.

        • product

          BondFuture product
          The future that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

    • Class com.opengamma.strata.product.bond.CapitalIndexedBond extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualSchedule

          PeriodicSchedule accrualSchedule
          The accrual schedule.

          This is used to define the accrual periods. These are used directly or indirectly to determine other dates in the product.

        • currency

          Currency currency
          The currency that the bond is traded in.
        • dayCount

          DayCount dayCount
          The day count convention applicable.

          The conversion from dates to a numerical value is made based on this day count. For the inflation-indexed bond, the day count convention is used to compute accrued interest.

          Note that the year fraction of a coupon payment is computed based on the unadjusted dates in the schedule.

        • exCouponPeriod

          DaysAdjustment exCouponPeriod
          Ex-coupon period.

          Some bonds trade ex-coupons before the coupon payment. The coupon is paid not to the owner of the bond on the payment date but to the owner of the bond on the detachment date. The difference between the two is the ex-coupon period (measured in days).

          Because the detachment date is not after the coupon date, the number of days stored in this field should be zero or negative.

        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.

          This identifier is used for the legal entity that issues the bond.

        • notional

          double notional
          The notional amount, must be positive.

          The notional expressed here must be positive. The currency of the notional is specified by currency.

        • rateCalculation

          InflationRateCalculation rateCalculation
          The inflation rate calculation.

          The reference index is interpolated index or monthly index. Real coupons are represented by gearing in the calculation. The price index value at the start of the bond is represented by firstIndexValue in the calculation.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          This is used to compute clean price. The clean price is the relative price to be paid at the standard settlement date in exchange for the bond.

        • yieldConvention

          CapitalIndexedBondYieldConvention yieldConvention
          Yield convention.

          The convention defines how to convert from yield to price and inversely.

    • Class com.opengamma.strata.product.bond.CapitalIndexedBondPaymentPeriod extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • currency

          Currency currency
          The primary currency of the payment period.

          The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency.

        • detachmentDate

          LocalDate detachmentDate
          The detachment date.

          Some bonds trade ex-coupon before the coupon payment. The coupon is paid not to the owner of the bond on the payment date but to the owner of the bond on the detachment date.

          When building, this will default to the end date if not specified.

        • endDate

          LocalDate endDate
          The end date of the payment period.

          This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • notional

          double notional
          The notional amount, must be non-zero.

          The notional amount applicable during the period. The currency of the notional is specified by currency.

        • rateComputation

          RateComputation rateComputation
          The rate to be computed.

          The value of the period is based on this rate. This must be an inflation rate observation, specifically InflationEndInterpolatedRateComputation or InflationEndMonthRateComputation.

        • realCoupon

          double realCoupon
          The rate of real coupon.

          The real coupon is the rate before taking the inflation into account. For example, a real coupon of c for semi-annual payments is c/2.

        • startDate

          LocalDate startDate
          The start date of the payment period.

          This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • unadjustedEndDate

          LocalDate unadjustedEndDate
          The unadjusted end date.

          The end date before any business day adjustment is applied.

          When building, this will default to the end date if not specified.

        • unadjustedStartDate

          LocalDate unadjustedStartDate
          The unadjusted start date.

          The start date before any business day adjustment is applied.

          When building, this will default to the start date if not specified.

    • Class com.opengamma.strata.product.bond.CapitalIndexedBondPosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • product

          CapitalIndexedBond product
          The bond that was traded.

          The product captures the contracted financial details.

        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.bond.CapitalIndexedBondSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualSchedule

          PeriodicSchedule accrualSchedule
          The accrual schedule.

          This is used to define the accrual periods. These are used directly or indirectly to determine other dates in the product.

        • currency

          Currency currency
          The currency that the bond is traded in.
        • dayCount

          DayCount dayCount
          The day count convention applicable.

          The conversion from dates to a numerical value is made based on this day count. For the inflation-indexed bond, the day count convention is used to compute accrued interest.

          Note that the year fraction of a coupon payment is computed based on the unadjusted dates in the schedule.

        • exCouponPeriod

          DaysAdjustment exCouponPeriod
          Ex-coupon period.

          Some bonds trade ex-coupons before the coupon payment. The coupon is paid not to the owner of the bond on the payment date but to the owner of the bond on the detachment date. The difference between the two is the ex-coupon period (measured in days).

          Because the detachment date is not after the coupon date, the number of days stored in this field should be zero or negative.

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.

          This identifier is used for the legal entity that issues the bond.

        • notional

          double notional
          The notional amount, must be positive.

          The notional expressed here must be positive. The currency of the notional is specified by currency.

        • rateCalculation

          InflationRateCalculation rateCalculation
          The inflation rate calculation.

          The reference index is interpolated index or monthly index. Real coupons are represented by gearing in the calculation. The price index value at the start of the bond is represented by firstIndexValue in the calculation.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          This is used to compute clean price. The clean price is the relative price to be paid at the standard settlement date in exchange for the bond.

        • yieldConvention

          CapitalIndexedBondYieldConvention yieldConvention
          Yield convention.

          The convention defines how to convert from yield to price and inversely.

    • Class com.opengamma.strata.product.bond.CapitalIndexedBondTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade. Either the trade or settlement date is required when calling CapitalIndexedBondTrade.resolve(ReferenceData).

        • price

          double price
          The clean price at which the bond was traded.

          The "clean" price excludes any accrued interest.

          Strata uses decimal prices for bonds in the trade model, pricers and market data. For example, a price of 99.32% is represented in Strata by 0.9932.

        • product

          CapitalIndexedBond product
          The bond that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This will be positive if buying and negative if selling.

    • Class com.opengamma.strata.product.bond.FixedCouponBond extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualSchedule

          PeriodicSchedule accrualSchedule
          The accrual schedule.

          This is used to define the accrual periods. These are used directly or indirectly to determine other dates in the product.

        • currency

          Currency currency
          The currency that the bond is traded in.
        • dayCount

          DayCount dayCount
          The day count convention applicable.

          The conversion from dates to a numerical value is made based on this day count. For the fixed bond, the day count convention is used to compute accrued interest.

          Note that the year fraction of a coupon payment is computed based on the unadjusted dates in the schedule.

        • exCouponPeriod

          DaysAdjustment exCouponPeriod
          Ex-coupon period.

          Some bonds trade ex-coupons before the coupon payment. The coupon is paid not to the owner of the bond on the payment date but to the owner of the bond on the detachment date. The difference between the two is the ex-coupon period (measured in days).

          Because the detachment date is not after the coupon date, the number of days stored in this field should be zero or negative.

        • fixedRate

          double fixedRate
          The fixed coupon rate.

          The periodic payments are based on this fixed coupon rate.

        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.

          This identifier is used for the legal entity that issues the bond.

        • notional

          double notional
          The notional amount, must be positive.

          The notional expressed here must be positive. The currency of the notional is specified by currency.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          This is used to compute clean price. The clean price is the relative price to be paid at the standard settlement date in exchange for the bond.

          It is usually one business day for US treasuries and UK Gilts and three days for Euroland government bonds.

        • yieldConvention

          FixedCouponBondYieldConvention yieldConvention
          Yield convention.

          The convention defines how to convert from yield to price and inversely.

    • Class com.opengamma.strata.product.bond.FixedCouponBondPaymentPeriod extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • currency

          Currency currency
          The primary currency of the payment period.

          The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency.

        • detachmentDate

          LocalDate detachmentDate
          The detachment date.

          Some bonds trade ex-coupon before the coupon payment. The coupon is paid not to the owner of the bond on the payment date but to the owner of the bond on the detachment date.

          When building, this will default to the end date if not specified.

        • endDate

          LocalDate endDate
          The end date of the payment period.

          This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • fixedRate

          double fixedRate
          The fixed coupon rate.

          The single payment is based on this fixed coupon rate.

        • notional

          double notional
          The notional amount, must be positive.

          The notional amount applicable during the period. The currency of the notional is specified by currency.

        • startDate

          LocalDate startDate
          The start date of the payment period.

          This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • unadjustedEndDate

          LocalDate unadjustedEndDate
          The unadjusted end date.

          The end date before any business day adjustment is applied.

          When building, this will default to the end date if not specified.

        • unadjustedStartDate

          LocalDate unadjustedStartDate
          The unadjusted start date.

          The start date before any business day adjustment is applied.

          When building, this will default to the start date if not specified.

        • yearFraction

          double yearFraction
          The year fraction that the accrual period represents.

          The year fraction of a bond period is based on the unadjusted dates.

          The value is usually calculated using a DayCount. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.

    • Class com.opengamma.strata.product.bond.FixedCouponBondPosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • product

          FixedCouponBond product
          The bond that was traded.

          The product captures the contracted financial details.

        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.bond.FixedCouponBondSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualSchedule

          PeriodicSchedule accrualSchedule
          The accrual schedule.

          This is used to define the accrual periods. These are used directly or indirectly to determine other dates in the product.

        • currency

          Currency currency
          The currency that the bond is traded in.
        • dayCount

          DayCount dayCount
          The day count convention applicable.

          The conversion from dates to a numerical value is made based on this day count. For the fixed bond, the day count convention is used to compute accrued interest.

          Note that the year fraction of a coupon payment is computed based on the unadjusted dates in the schedule.

        • exCouponPeriod

          DaysAdjustment exCouponPeriod
          Ex-coupon period.

          Some bonds trade ex-coupons before the coupon payment. The coupon is paid not to the owner of the bond on the payment date but to the owner of the bond on the detachment date. The difference between the two is the ex-coupon period (measured in days).

          Because the detachment date is not after the coupon date, the number of days stored in this field should be zero or negative.

        • fixedRate

          double fixedRate
          The fixed coupon rate.

          The periodic payments are based on this fixed coupon rate.

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.

          This identifier is used for the legal entity that issues the bond.

        • notional

          double notional
          The notional amount, must be positive.

          The notional expressed here must be positive. The currency of the notional is specified by currency.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          This is used to compute clean price. The clean price is the relative price to be paid at the standard settlement date in exchange for the bond.

          It is usually one business day for US treasuries and UK Gilts and three days for Euroland government bonds.

        • yieldConvention

          FixedCouponBondYieldConvention yieldConvention
          Yield convention.

          The convention defines how to convert from yield to price and inversely.

    • Class com.opengamma.strata.product.bond.FixedCouponBondTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade. Either the trade or settlement date is required when calling FixedCouponBondTrade.resolve(ReferenceData).

        • price

          double price
          The clean price at which the bond was traded, in decimal form.

          The "clean" price excludes any accrued interest.

          Strata uses decimal prices for bonds in the trade model, pricers and market data. For example, a price of 99.32% is represented in Strata by 0.9932.

        • product

          FixedCouponBond product
          The bond that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This will be positive if buying and negative if selling.

    • Class com.opengamma.strata.product.bond.KnownAmountBondPaymentPeriod extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endDate

          LocalDate endDate
          The end date of the payment period.

          This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • payment

          Payment payment
          The payment.

          This includes the payment date and amount. If the schedule adjusts for business days, then the date is the adjusted date.

        • startDate

          LocalDate startDate
          The start date of the payment period.

          This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • unadjustedEndDate

          LocalDate unadjustedEndDate
          The unadjusted end date.

          The end date before any business day adjustment is applied.

          When building, this will default to the end date if not specified.

        • unadjustedStartDate

          LocalDate unadjustedStartDate
          The unadjusted start date.

          The start date before any business day adjustment is applied.

          When building, this will default to the start date if not specified.

    • Class com.opengamma.strata.product.bond.ResolvedBill extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • dayCount

          DayCount dayCount
          The day count convention applicable.

          The conversion from dates to a numerical value is made based on this day count.

        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.

          This identifier is used for the legal entity that issues the bill.

        • notional

          Payment notional
          The notional payment of the bill notional, the amount must be positive.
        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          It is usually one business day for US and UK bills and two days for Euroland government bills.

        • yieldConvention

          BillYieldConvention yieldConvention
          Yield convention.

          The convention defines how to convert from yield to price and inversely.

    • Class com.opengamma.strata.product.bond.ResolvedBillTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PortfolioItemInfo info
          The additional information, defaulted to an empty instance.

          This allows additional information to be attached.

        • product

          ResolvedBill product
          The resolved bill product.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity, indicating the number of bond contracts in the trade.

          This will be positive if buying and negative if selling.

        • settlement

          Payment settlement
          The settlement details of the bill trade.

          When this class is used to represent a position, this property will be empty.

    • Class com.opengamma.strata.product.bond.ResolvedBondFuture extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • conversionFactors

          ImmutableList<Double> conversionFactors
          The conversion factor for each bond in the basket.

          The price of each underlying security in the basket is rescaled by the conversion factor. This must not be empty, and its size must be the same as the size of deliveryBasket.

          All of the underlying bonds must have the same notional and currency.

        • deliveryBasket

          ImmutableList<ResolvedFixedCouponBond> deliveryBasket
          The basket of deliverable bonds.

          The underling which will be delivered in the future time is chosen from a basket of underling securities. This must not be empty.

          All of the underlying bonds must have the same notional and currency.

        • firstDeliveryDate

          LocalDate firstDeliveryDate
          The first delivery date.

          The first date on which the underlying is delivered.

        • firstNoticeDate

          LocalDate firstNoticeDate
          The first notice date.

          The first date on which the delivery of the underlying is authorized.

        • lastDeliveryDate

          LocalDate lastDeliveryDate
          The last delivery date.

          The last date on which the underlying is delivered.

        • lastNoticeDate

          LocalDate lastNoticeDate
          The last notice date.

          The last date on which the delivery of the underlying is authorized.

        • lastTradeDate

          LocalDate lastTradeDate
          The last trading date.

          The future security is traded until this date.

        • rounding

          Rounding rounding
          The definition of how to round the futures 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. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

    • Class com.opengamma.strata.product.bond.ResolvedBondFutureOption extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • expiry

          ZonedDateTime expiry
          The expiry of the option.

          The date must not be after last trade date of the underlying future.

        • premiumStyle

          FutureOptionPremiumStyle premiumStyle
          The style of the option premium.

          The two options are daily margining and upfront premium.

        • putCall

          PutCall putCall
          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.

        • rounding

          Rounding rounding
          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. For example, the common market price of 99.7125 is represented as 0.997125 which has 6 decimal places.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • strikePrice

          double strikePrice
          The strike price, represented in decimal form.

          This is the price at which the option applies and refers to the price of the underlying future. This must be represented in decimal form.

        • underlyingFuture

          ResolvedBondFuture underlyingFuture
          The underlying future.
    • Class com.opengamma.strata.product.bond.ResolvedBondFutureOptionTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PortfolioItemInfo info
          The additional information, defaulted to an empty instance.

          This allows additional information to be attached.

        • product

          ResolvedBondFutureOption product
          The option that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

        • tradedPrice

          TradedPrice tradedPrice
          The price that was traded, together with the trade date, optional.

          This is the price agreed when the trade occurred, in decimal form. Strata uses decimal prices for bond futures options in the trade model, pricers and market data. This is coherent with the pricing of BondFuture.

          This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.

    • Class com.opengamma.strata.product.bond.ResolvedBondFutureTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PortfolioItemInfo info
          The additional information, defaulted to an empty instance.

          This allows additional information to be attached.

        • product

          ResolvedBondFuture product
          The future that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

        • tradedPrice

          TradedPrice tradedPrice
          The price that was traded, together with the trade date, optional.

          This is the price agreed when the trade occurred, in decimal form. Strata uses decimal prices for bond futures in the trade model, pricers and market data. This is coherent with the pricing of FixedCouponBond. The bond futures delivery is a bond for an amount computed from the bond future price, a conversion factor and the accrued interest.

          This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.

    • Class com.opengamma.strata.product.bond.ResolvedCapitalIndexedBond extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • dayCount

          DayCount dayCount
          The day count convention applicable.

          The conversion from dates to a numerical value is made based on this day count. For the inflation-indexed bond, the day count convention is used to compute accrued interest.

        • frequency

          Frequency frequency
          The frequency of the bond payments.

          This must match the frequency used to generate the payment schedule.

        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.

          This identifier is used for the legal entity that issues the bond.

        • nominalPayment

          CapitalIndexedBondPaymentPeriod nominalPayment
          The nominal payment of the product.

          The payment date of the nominal payment agrees with the final coupon payment date of the periodic payments.

        • periodicPayments

          ImmutableList<CapitalIndexedBondPaymentPeriod> periodicPayments
          The periodic payments of the product.

          Each payment period represents part of the life-time of the product. The start date and end date of the leg are determined from the first and last period. As such, the periods should be sorted.

        • rateCalculation

          InflationRateCalculation rateCalculation
          The inflation rate calculation.

          The reference index is interpolated index or monthly index. Real coupons are represented by gearing in the calculation. The price index value at the start of the bond is represented by firstIndexValue in the calculation.

        • rollConvention

          RollConvention rollConvention
          The roll convention of the bond payments.

          This must match the convention used to generate the payment schedule.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          This is used to compute clean price. The clean price is the relative price to be paid at the standard settlement date in exchange for the bond.

        • yieldConvention

          CapitalIndexedBondYieldConvention yieldConvention
          Yield convention.

          The convention defines how to convert from yield to price and inversely.

    • Class com.opengamma.strata.product.bond.ResolvedCapitalIndexedBondSettlement extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • payment

          BondPaymentPeriod payment
          The payment of the settlement.

          The payment sign should be compatible with the product notional and trade quantity, thus the payment is negative for positive quantity and positive for negative quantity.

          This is effectively a fixed amount payment once the inflation rate is fixed.

        • price

          double price
          The clean price at which the bond was traded.

          The "clean" price excludes any accrued interest.

          Strata uses decimal prices for bonds in the trade model, pricers and market data. For example, a price of 99.32% is represented in Strata by 0.9932.

        • settlementDate

          LocalDate settlementDate
          The settlement date.
    • Class com.opengamma.strata.product.bond.ResolvedCapitalIndexedBondTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PortfolioItemInfo info
          The additional information, defaulted to an empty instance.

          This allows additional information to be attached.

        • product

          ResolvedCapitalIndexedBond product
          The resolved capital indexed bond product.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity, indicating the number of bond contracts in the trade.

          This will be positive if buying and negative if selling.

        • settlement

          ResolvedCapitalIndexedBondSettlement settlement
          The settlement details of the bond trade.

          When this class is used to represent a position, this property will be empty.

    • Class com.opengamma.strata.product.bond.ResolvedFixedCouponBond extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • dayCount

          DayCount dayCount
          The day count convention applicable.

          The conversion from dates to a numerical value is made based on this day count. For the fixed bond, the day count convention is used to compute accrued interest.

          Note that the year fraction of a coupon payment is computed based on the unadjusted dates in the schedule.

        • fixedRate

          double fixedRate
          The fixed coupon rate.

          The periodic payments are based on this fixed coupon rate.

        • frequency

          Frequency frequency
          The frequency of the bond payments.

          This must match the frequency used to generate the payment schedule.

        • legalEntityId

          LegalEntityId legalEntityId
          The legal entity identifier.

          This identifier is used for the legal entity that issues the bond.

        • nominalPayment

          Payment nominalPayment
          The nominal payment of the product.

          The payment date of the nominal payment agrees with the final coupon payment date of the periodic payments.

        • periodicPayments

          ImmutableList<FixedCouponBondPaymentPeriod> periodicPayments
          The periodic payments of the product.

          Each payment period represents part of the life-time of the product. The start date and end date of the leg are determined from the first and last period. As such, the periods should be sorted.

        • rollConvention

          RollConvention rollConvention
          The roll convention of the bond payments.

          This must match the convention used to generate the payment schedule.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          This is used to compute clean price. The clean price is the relative price to be paid at the standard settlement date in exchange for the bond.

          It is usually one business day for US treasuries and UK Gilts and three days for Euroland government bonds.

        • yieldConvention

          FixedCouponBondYieldConvention yieldConvention
          Yield convention.

          The convention defines how to convert from yield to price and inversely.

    • Class com.opengamma.strata.product.bond.ResolvedFixedCouponBondSettlement extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • price

          double price
          The clean price at which the bond was traded.

          The "clean" price excludes any accrued interest.

          Strata uses decimal prices for bonds in the trade model, pricers and market data. For example, a price of 99.32% is represented in Strata by 0.9932.

        • settlementDate

          LocalDate settlementDate
          The settlement date.
    • Class com.opengamma.strata.product.bond.ResolvedFixedCouponBondTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PortfolioItemInfo info
          The additional information, defaulted to an empty instance.

          This allows additional information to be attached.

        • product

          ResolvedFixedCouponBond product
          The resolved fixed coupon bond product.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity, indicating the number of bond contracts in the trade.

          This will be positive if buying and negative if selling.

        • settlement

          ResolvedFixedCouponBondSettlement settlement
          The settlement details of the bond trade.

          When this class is used to represent a position, this property will be empty.

  • Package com.opengamma.strata.product.capfloor

    • Class com.opengamma.strata.product.capfloor.IborCapFloor extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • capFloorLeg

          IborCapFloorLeg capFloorLeg
          The Ibor cap/floor leg of the product.

          This is associated with periodic payments based on Ibor rate. The payments are Ibor caplets or Ibor floorlets.

        • payLeg

          SwapLeg payLeg
          The optional pay leg of the product.

          These periodic payments are not made for typical cap/floor products. Instead the premium is paid upfront.

    • Class com.opengamma.strata.product.capfloor.IborCapFloorLeg extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • calculation

          IborRateCalculation calculation
          The interest rate accrual calculation.

          The interest rate accrual is based on Ibor index.

        • capSchedule

          ValueSchedule capSchedule
          The cap schedule, optional.

          This defines the strike value of a cap as an initial value and a list of adjustments. Thus individual caplets may have different strike values. The cap rate is only allowed to change at payment period boundaries.

          If the product is not a cap, the cap schedule will be absent.

        • currency

          Currency currency
          The currency of the leg associated with the notional.

          This is the currency of the leg and the currency that payoff calculation is made in. The amounts of the notional are expressed in terms of this currency.

        • floorSchedule

          ValueSchedule floorSchedule
          The floor schedule, optional.

          This defines the strike value of a floor as an initial value and a list of adjustments. Thus individual floorlets may have different strike values. The floor rate is only allowed to change at payment period boundaries.

          If the product is not a floor, the floor schedule will be absent.

        • notional

          ValueSchedule notional
          The notional amount, must be non-negative.

          The notional amount applicable during the period. The currency of the notional is specified by currency.

        • paymentDateOffset

          DaysAdjustment paymentDateOffset
          The offset of payment from the base calculation period date, defaulted to 'None'.

          The offset is applied to the adjusted end date of each payment period. Offset can be based on calendar days or business days.

        • paymentSchedule

          PeriodicSchedule paymentSchedule
          The periodic payment schedule.

          This is used to define the periodic payment periods. These are used directly or indirectly to determine other dates in the leg.

        • payReceive

          PayReceive payReceive
          Whether the leg is pay or receive.

          A value of 'Pay' implies that the resulting amount is paid to the counterparty. A value of 'Receive' implies that the resulting amount is received from the counterparty.

    • Class com.opengamma.strata.product.capfloor.IborCapFloorTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • premium

          AdjustablePayment premium
          The optional premium of the product.

          For most Ibor cap/floor products, a premium is paid upfront. This typically occurs instead of periodic payments based on fixed or Ibor rates over the lifetime of the product.

          The premium sign must be compatible with the product Pay/Receive flag.

        • product

          IborCapFloor product
          The cap/floor product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.capfloor.IborCapletFloorletPeriod extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • caplet

          Double caplet
          The optional caplet strike.

          This defines the strike value of a caplet.

          If the period is not a caplet, this field will be absent.

        • currency

          Currency currency
          The primary currency of the payment period.

          The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency.

        • endDate

          LocalDate endDate
          The end date of the payment period.

          This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • floorlet

          Double floorlet
          The optional floorlet strike.

          This defines the strike value of a floorlet.

          If the period is not a floorlet, this field will be absent.

        • iborRate

          IborRateComputation iborRate
          The rate to be observed.

          The value of the period is based on this Ibor rate. For example, it might be a well known market index such as 'GBP-LIBOR-3M'.

        • notional

          double notional
          The notional amount, positive if receiving, negative if paying.

          The notional amount applicable during the period. The currency of the notional is specified by currency.

        • paymentDate

          LocalDate paymentDate
          The date that payment occurs.

          If the schedule adjusts for business days, then this is the adjusted date.

        • startDate

          LocalDate startDate
          The start date of the payment period.

          This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • unadjustedEndDate

          LocalDate unadjustedEndDate
          The unadjusted end date.

          The end date before any business day adjustment is applied.

          When building, this will default to the end date if not specified.

        • unadjustedStartDate

          LocalDate unadjustedStartDate
          The unadjusted start date.

          The start date before any business day adjustment is applied.

          When building, this will default to the start date if not specified.

        • yearFraction

          double yearFraction
          The year fraction that the accrual period represents.

          The value is usually calculated using a DayCount which may be different to that of the index. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.

    • Class com.opengamma.strata.product.capfloor.ResolvedIborCapFloor extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • capFloorLeg

          ResolvedIborCapFloorLeg capFloorLeg
          The Ibor cap/floor leg of the product.

          This is associated with periodic payments based on Ibor rate. The payments are Ibor caplets or Ibor floorlets.

        • payLeg

          ResolvedSwapLeg payLeg
          The optional pay leg of the product.

          These periodic payments are not made for typical cap/floor products. Instead the premium is paid upfront.

    • Class com.opengamma.strata.product.capfloor.ResolvedIborCapFloorLeg extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • capletFloorletPeriods

          ImmutableList<IborCapletFloorletPeriod> capletFloorletPeriods
          The periodic payments based on the successive observed values of an Ibor index.

          Each payment period represents part of the life-time of the leg. In most cases, the periods do not overlap. However, since each payment period is essentially independent the data model allows overlapping periods.

        • payReceive

          PayReceive payReceive
          Whether the leg is pay or receive.

          A value of 'Pay' implies that the resulting amount is paid to the counterparty. A value of 'Receive' implies that the resulting amount is received from the counterparty.

          The value of this flag should match the signs of the payment period notionals.

    • Class com.opengamma.strata.product.capfloor.ResolvedIborCapFloorTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • premium

          Payment premium
          The optional premium of the product.

          For most Ibor cap/floor products, a premium is paid upfront. This typically occurs instead of periodic payments based on fixed or Ibor rates over the lifetime of the product.

          The premium sign must be compatible with the product Pay/Receive flag.

        • product

          ResolvedIborCapFloor product
          The resolved Ibor cap/floor product.

          The product captures the contracted financial details of the trade.

  • Package com.opengamma.strata.product.cms

    • Class com.opengamma.strata.product.cms.Cms extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • cmsLeg

          CmsLeg cmsLeg
          The CMS leg of the product.

          This is associated with periodic payments based on swap rate. The payments are CMS coupons, CMS caplets or CMS floors.

        • payLeg

          SwapLeg payLeg
          The optional pay leg of the product.

          Typically this is associated with periodic fixed or Ibor rate payments without compounding or notional exchange.

          These periodic payments are not made over the lifetime of the product for certain CMS products. Instead the premium is paid upfront.

    • Class com.opengamma.strata.product.cms.CmsLeg extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • capSchedule

          ValueSchedule capSchedule
          The cap schedule, optional.

          This defines the strike value of a cap as an initial value and a list of adjustments. Thus individual caplets may have different strike values. The cap rate is only allowed to change at payment period boundaries.

          If the product is not a cap, the cap schedule will be absent.

        • currency

          Currency currency
          The currency of the leg associated with the notional.

          This is the currency of the leg and the currency that swap rate calculation is made in. The amounts of the notional are expressed in terms of this currency.

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert dates to a numerical value.

          When building, this will default to the day count of the swap convention in the swap index if not specified.

        • fixingDateOffset

          DaysAdjustment fixingDateOffset
          The offset of the fixing date from each adjusted reset date.

          The offset is applied to the base date specified by fixingRelativeTo. The offset is typically a negative number of business days.

          When building, this will default to the fixing offset of the swap convention in the swap index if not specified.

        • fixingRelativeTo

          FixingRelativeTo fixingRelativeTo
          The base date that each fixing is made relative to, defaulted to 'PeriodStart'.

          The fixing date is relative to either the start or end of each period.

        • floorSchedule

          ValueSchedule floorSchedule
          The floor schedule, optional.

          This defines the strike value of a floor as an initial value and a list of adjustments. Thus individual floorlets may have different strike values. The floor rate is only allowed to change at payment period boundaries.

          If the product is not a floor, the floor schedule will be absent.

        • index

          SwapIndex index
          The swap index.

          The swap rate to be paid is the observed value of this index.

        • notional

          ValueSchedule notional
          The notional amount, must be non-negative.

          The notional amount applicable during the period. The currency of the notional is specified by currency.

        • paymentDateOffset

          DaysAdjustment paymentDateOffset
          The offset of payment from the base calculation period date.

          The offset is applied to the adjusted end date of each payment period. Offset can be based on calendar days or business days.

          When building, this will default to the payment offset of the swap convention in the swap index if not specified.

        • paymentSchedule

          PeriodicSchedule paymentSchedule
          The periodic payment schedule.

          This is used to define the periodic payment periods. These are used directly or indirectly to determine other dates in the leg.

        • payReceive

          PayReceive payReceive
          Whether the leg is pay or receive.

          A value of 'Pay' implies that the resulting amount is paid to the counterparty. A value of 'Receive' implies that the resulting amount is received from the counterparty. Note that negative swap rates can result in a payment in the opposite direction to that implied by this indicator.

    • Class com.opengamma.strata.product.cms.CmsPeriod extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • caplet

          Double caplet
          The optional caplet strike.

          This defines the strike value of a caplet.

          If the period is not a caplet, this field will be absent.

        • currency

          Currency currency
          The primary currency of the payment period.

          The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency.

        • dayCount

          DayCount dayCount
          The day count of the period.
        • endDate

          LocalDate endDate
          The end date of the payment period.

          This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • fixingDate

          LocalDate fixingDate
          The date of the index fixing.

          This is an adjusted date with any business day applied.

        • floorlet

          Double floorlet
          The optional floorlet strike.

          This defines the strike value of a floorlet.

          If the period is not a floorlet, this field will be absent.

        • index

          SwapIndex index
          The swap index.

          The swap rate to be paid is the observed value of this index.

        • notional

          double notional
          The notional amount, positive if receiving, negative if paying.

          The notional amount applicable during the period. The currency of the notional is specified by currency.

        • paymentDate

          LocalDate paymentDate
          The date that payment occurs.

          If the schedule adjusts for business days, then this is the adjusted date.

        • startDate

          LocalDate startDate
          The start date of the payment period.

          This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • unadjustedEndDate

          LocalDate unadjustedEndDate
          The unadjusted end date.

          The end date before any business day adjustment is applied.

          When building, this will default to the end date if not specified.

        • unadjustedStartDate

          LocalDate unadjustedStartDate
          The unadjusted start date.

          The start date before any business day adjustment is applied.

          When building, this will default to the start date if not specified.

        • underlyingSwap

          ResolvedSwap underlyingSwap
          The underlying swap.

          The interest rate swap for which the swap rate is referred.

        • yearFraction

          double yearFraction
          The year fraction that the accrual period represents.

          The value is usually calculated using a DayCount which may be different to that of the index. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.

    • Class com.opengamma.strata.product.cms.CmsTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • premium

          AdjustablePayment premium
          The optional premium of the product.

          For certain CMS products, a premium is paid upfront. This typically occurs instead of periodic payments based on fixed or Ibor rates over the lifetime of the product.

          The premium sign must be compatible with the product Pay/Receive flag.

        • product

          Cms product
          The CMS product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.cms.ResolvedCms extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • cmsLeg

          ResolvedCmsLeg cmsLeg
          The CMS leg of the product.

          This is associated with periodic payments based on swap rate. The payments are CMS coupons, CMS caplets or CMS floors.

        • payLeg

          ResolvedSwapLeg payLeg
          The optional pay leg of the product.

          Typically this is associated with periodic fixed or Ibor rate payments without compounding or notional exchange.

          These periodic payments are not made for certain CMS products. Instead the premium is paid upfront.

    • Class com.opengamma.strata.product.cms.ResolvedCmsLeg extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • cmsPeriods

          ImmutableList<CmsPeriod> cmsPeriods
          The periodic payments based on the successive observed values of a swap index.

          Each payment period represents part of the life-time of the leg. In most cases, the periods do not overlap. However, since each payment period is essentially independent the data model allows overlapping periods.

        • payReceive

          PayReceive payReceive
          Whether the leg is pay or receive.

          A value of 'Pay' implies that the resulting amount is paid to the counterparty. A value of 'Receive' implies that the resulting amount is received from the counterparty. Note that negative swap rates can result in a payment in the opposite direction to that implied by this indicator.

          The value of this flag should match the signs of the payment period notionals.

    • Class com.opengamma.strata.product.cms.ResolvedCmsTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • premium

          Payment premium
          The optional premium of the product.

          For certain CMS products, a premium is paid upfront. This typically occurs instead of periodic payments based on fixed or Ibor rates over the lifetime of the product.

          The premium sign must be compatible with the product Pay/Receive flag.

        • product

          ResolvedCms product
          The resolved CMS product.

          The product captures the contracted financial details of the trade.

  • Package com.opengamma.strata.product.common

  • Package com.opengamma.strata.product.credit

    • Class com.opengamma.strata.product.credit.Cds extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • buySell

          BuySell buySell
          Whether the CDS is buy or sell.

          A value of 'Buy' implies buying protection, where the fixed coupon is paid and the protection is received in the event of default. A value of 'Sell' implies selling protection, where the fixed coupon is received and the protection is paid in the event of default.

        • currency

          Currency currency
          The currency of the CDS.

          The amounts of the notional are expressed in terms of this currency.

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert dates to a numerical value.

          When building, this will default to 'Act/360'.

        • fixedRate

          double fixedRate
          The fixed coupon rate.

          This must be represented in decimal form.

        • legalEntityId

          StandardId legalEntityId
          The legal entity identifier.

          This identifier is used for the reference legal entity of the CDS.

        • notional

          double notional
          The notional amount, must be non-negative.

          The fixed notional amount applicable during the lifetime of the CDS. The currency of the notional is specified by currency.

        • paymentOnDefault

          PaymentOnDefault paymentOnDefault
          The payment on default.

          Whether the accrued premium is paid in the event of a default.

          When building, this will default to 'AccruedPremium'.

        • paymentSchedule

          PeriodicSchedule paymentSchedule
          The payment schedule.

          This is used to define the payment periods.

        • protectionStart

          ProtectionStartOfDay protectionStart
          The protection start of the day.

          When the protection starts on the start date.

          When building, this will default to 'Beginning'.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          It is usually 3 business days for standardized CDS contracts.

          When building, this will default to 3 business days in the calendar of the payment schedule.

        • stepinDateOffset

          DaysAdjustment stepinDateOffset
          The number of days between valuation date and step-in date.

          The step-in date is also called protection effective date. It is usually 1 calendar day for standardized CDS contracts.

          When building, this will default to 1 calendar day.

    • Class com.opengamma.strata.product.credit.CdsCalibrationTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • quote

          CdsQuote quote
          The CDS quote.
        • underlyingTrade

          CdsTrade underlyingTrade
          The underlying CDS trade.
    • Class com.opengamma.strata.product.credit.CdsIndex extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • buySell

          BuySell buySell
          Whether the CDS index is buy or sell.

          A value of 'Buy' implies buying protection, where the fixed coupon is paid and the protection is received in the event of default. A value of 'Sell' implies selling protection, where the fixed coupon is received and the protection is paid in the event of default.

        • cdsIndexId

          StandardId cdsIndexId
          The CDS index identifier.

          This identifier is used to refer this CDS index product.

        • currency

          Currency currency
          The currency of the CDS index.

          The amounts of the notional are expressed in terms of this currency.

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert dates to a numerical value.

          When building, this will default to 'Act/360'.

        • fixedRate

          double fixedRate
          The fixed coupon rate.

          This must be represented in decimal form.

        • legalEntityIds

          ImmutableList<StandardId> legalEntityIds
          The legal entity identifiers.

          These identifiers refer to the reference legal entities of the CDS index.

        • notional

          double notional
          The notional amount, must be non-negative.

          The fixed notional amount applicable during the lifetime of the CDS. The currency of the notional is specified by currency.

        • paymentOnDefault

          PaymentOnDefault paymentOnDefault
          The payment on default.

          Whether the accrued premium is paid in the event of a default.

          When building, this will default to 'AccruedPremium'.

        • paymentSchedule

          PeriodicSchedule paymentSchedule
          The payment schedule.

          This is used to define the payment periods.

        • protectionStart

          ProtectionStartOfDay protectionStart
          The protection start of the day.

          When the protection starts on the start date.

          When building, this will default to 'Beginning'.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          It is usually 3 business days for standardized CDS index contracts.

          When building, this will default to 3 business days in the calendar of the payment schedule.

        • stepinDateOffset

          DaysAdjustment stepinDateOffset
          The number of days between valuation date and step-in date.

          The step-in date is also called protection effective date. It is usually 1 calendar day for standardized CDS index contracts.

          When building, this will default to 1 calendar day.

    • Class com.opengamma.strata.product.credit.CdsIndexCalibrationTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • quote

          CdsQuote quote
          The CDS index quote.
        • underlyingTrade

          CdsIndexTrade underlyingTrade
          The underlying CDS index trade.
    • Class com.opengamma.strata.product.credit.CdsIndexTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          CdsIndex product
          The CDS index product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

        • upfrontFee

          AdjustablePayment upfrontFee
          The upfront fee of the product.

          This specifies a single amount payable by the buyer to the seller. Thus the sign must be compatible with the product Pay/Receive flag.

          Some CDSs, especially legacy products, are traded at par and the upfront fee is not paid.

    • Class com.opengamma.strata.product.credit.CdsQuote extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • quoteConvention

          CdsQuoteConvention quoteConvention
          The CDS quote convention.
        • quotedValue

          double quotedValue
          The quoted value.

          This value must be represented in decimal form.

    • Class com.opengamma.strata.product.credit.CdsTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          Cds product
          The CDS product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

        • upfrontFee

          AdjustablePayment upfrontFee
          The upfront fee of the product.

          This specifies a single amount payable by the buyer to the seller. Thus the sign must be compatible with the product Pay/Receive flag.

          Some CDSs, especially legacy products, are traded at par and the upfront fee is not paid.

    • Class com.opengamma.strata.product.credit.CreditCouponPaymentPeriod extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • currency

          Currency currency
          The primary currency of the payment period.

          The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency.

        • effectiveEndDate

          LocalDate effectiveEndDate
          The effective protection end date of the period.

          This is the last date in the protection period associated with the payment period.

        • effectiveStartDate

          LocalDate effectiveStartDate
          The effective protection start date of the period.

          This is the first date in the protection period associated with the payment period.

        • endDate

          LocalDate endDate
          The end date of the accrual period.

          This is the last accrual date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • fixedRate

          double fixedRate
          The fixed coupon rate.

          The single payment is based on this fixed coupon rate. The coupon must be represented in fraction.

        • notional

          double notional
          The notional amount, must be positive.

          The notional amount applicable during the period. The currency of the notional is specified by currency.

        • paymentDate

          LocalDate paymentDate
          The payment date.

          The fixed rate is paid on this date. This is not necessarily the same as endDate.

        • startDate

          LocalDate startDate
          The start date of the accrual period.

          This is the first accrual date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • unadjustedEndDate

          LocalDate unadjustedEndDate
          The unadjusted end date.

          The end date before any business day adjustment is applied.

          When building, this will default to the end date if not specified.

        • unadjustedStartDate

          LocalDate unadjustedStartDate
          The unadjusted start date.

          The start date before any business day adjustment is applied.

          When building, this will default to the start date if not specified.

        • yearFraction

          double yearFraction
          The year fraction that the accrual period represents.

          The year fraction of a period is based on startDate and endDate. The value is usually calculated using a specific DayCount.

    • Class com.opengamma.strata.product.credit.ResolvedCds extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • buySell

          BuySell buySell
          Whether the CDS is buy or sell.

          A value of 'Buy' implies buying protection, where the fixed coupon is paid and the protection is received in the event of default. A value of 'Sell' implies selling protection, where the fixed coupon is received and the protection is paid in the event of default.

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert dates to a numerical value.

        • legalEntityId

          StandardId legalEntityId
          The legal entity identifier.

          This identifier is used for the reference legal entity of the CDS.

        • paymentOnDefault

          PaymentOnDefault paymentOnDefault
          The payment on default.

          Whether the accrued premium is paid in the event of a default.

        • paymentPeriods

          ImmutableList<CreditCouponPaymentPeriod> paymentPeriods
          The periodic payments based on the fixed rate.

          Each payment period represents part of the life-time of the leg. In most cases, the periods do not overlap. However, since each payment period is essentially independent the data model allows overlapping periods.

        • protectionEndDate

          LocalDate protectionEndDate
          The protection end date.

          This may be different from the accrual end date of the last payment period in periodicPayments.

        • protectionStart

          ProtectionStartOfDay protectionStart
          The protection start of the day.

          When the protection starts on the start date.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          It is usually 3 business days for standardized CDS contracts.

        • stepinDateOffset

          DaysAdjustment stepinDateOffset
          The number of days between valuation date and step-in date.

          The step-in date is also called protection effective date. It is usually 1 calendar day for standardized CDS contracts.

    • Class com.opengamma.strata.product.credit.ResolvedCdsIndex extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • buySell

          BuySell buySell
          Whether the CDS index is buy or sell.

          A value of 'Buy' implies buying protection, where the fixed coupon is paid and the protection is received in the event of default. A value of 'Sell' implies selling protection, where the fixed coupon is received and the protection is paid in the event of default.

        • cdsIndexId

          StandardId cdsIndexId
          The CDS index identifier.

          This identifier is used to refer this CDS index product.

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert dates to a numerical value.

        • legalEntityIds

          ImmutableList<StandardId> legalEntityIds
          The legal entity identifiers.

          These identifiers refer to the reference legal entities of the CDS index.

        • paymentOnDefault

          PaymentOnDefault paymentOnDefault
          The payment on default.

          Whether the accrued premium is paid in the event of a default.

        • paymentPeriods

          ImmutableList<CreditCouponPaymentPeriod> paymentPeriods
          The periodic payments based on the fixed rate.

          Each payment period represents part of the life-time of the leg. In most cases, the periods do not overlap. However, since each payment period is essentially independent the data model allows overlapping periods.

        • protectionEndDate

          LocalDate protectionEndDate
          The protection end date.

          This may be different from the accrual end date of the last payment period in periodicPayments.

        • protectionStart

          ProtectionStartOfDay protectionStart
          The protection start of the day.

          When the protection starts on the start date.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          It is usually 3 business days for standardized CDS index contracts.

        • stepinDateOffset

          DaysAdjustment stepinDateOffset
          The number of days between valuation date and step-in date.

          The step-in date is also called protection effective date. It is usually 1 calendar day for standardized CDS index contracts.

    • Class com.opengamma.strata.product.credit.ResolvedCdsIndexTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          ResolvedCdsIndex product
          The resolved CDS index product.

          The product captures the contracted financial details of the trade.

        • upfrontFee

          Payment upfrontFee
          The upfront fee of the product.

          This specifies a single amount payable by the buyer to the seller Thus the sign must be compatible with the product Pay/Receive flag.

    • Class com.opengamma.strata.product.credit.ResolvedCdsTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          ResolvedCds product
          The resolved CDS product.

          The product captures the contracted financial details of the trade.

        • upfrontFee

          Payment upfrontFee
          The upfront fee of the product.

          This specifies a single amount payable by the buyer to the seller Thus the sign must be compatible with the product Pay/Receive flag.

          Some CDSs, especially legacy products, are traded at par and the upfront fee is not paid.

  • Package com.opengamma.strata.product.credit.type

    • Class com.opengamma.strata.product.credit.type.DatesCdsTemplate extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • convention

          CdsConvention convention
          The market convention of the credit default swap.
        • endDate

          LocalDate endDate
          The end date.

          The end date of the underling CDS product. This date can be modified following the rule in convention.

        • startDate

          LocalDate startDate
          The start date.

          The start date of the underling CDS product. This date can be modified following the rule in convention.

    • Class com.opengamma.strata.product.credit.type.ImmutableCdsConvention extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply to payment schedule dates.

          Each date in the calculated schedule is determined without taking into account weekends and holidays. The adjustment specified here is used to convert those dates to valid business days.

          The start date and end date may have their own business day adjustment rules. If those are not present, then this adjustment is used instead.

        • currency

          Currency currency
          The currency of the CDS.

          The amounts of the notional are expressed in terms of this currency.

        • dayCount

          DayCount dayCount
          The day count convention applicable.

          This is used to convert schedule period dates to a numerical value.

        • endDateBusinessDayAdjustment

          BusinessDayAdjustment endDateBusinessDayAdjustment
          The business day adjustment to apply to the end date, optional with defaulting getter.

          The end date property is an unadjusted date and as such might be a weekend or holiday. The adjustment specified here is used to convert the end date to a valid business day.

          This will default to the 'None' if not specified.

        • name

          String name
          The convention name.
        • paymentFrequency

          Frequency paymentFrequency
          The periodic frequency of payments.

          Regular payments will be made at the specified periodic frequency. This also defines the accrual periodic frequency.

        • paymentOnDefault

          PaymentOnDefault paymentOnDefault
          The payment on default.

          Whether the accrued premium is paid in the event of a default.

          This will default to 'accrued premium' if not specified.

        • protectionStart

          ProtectionStartOfDay protectionStart
          The protection start of the day.

          When the protection starts on the start date.

          This will default to 'beginning of the start day' if not specified.

        • rollConvention

          RollConvention rollConvention
          The convention defining how to roll dates, optional with defaulting getter.

          The schedule periods are determined at the high level by repeatedly adding the frequency to the start date, or subtracting it from the end date. The roll convention provides the detailed rule to adjust the day-of-month or day-of-week.

          This will default to 'Day20' if not specified.

        • settlementDateOffset

          DaysAdjustment settlementDateOffset
          The number of days between valuation date and settlement date.

          It is usually 3 business days for standardised CDS contracts.

        • startDateBusinessDayAdjustment

          BusinessDayAdjustment startDateBusinessDayAdjustment
          The business day adjustment to apply to the start date, optional with defaulting getter.

          The start date property is an unadjusted date and as such might be a weekend or holiday. The adjustment specified here is used to convert the start date to a valid business day.

          This will default to the businessDayAdjustment if not specified.

        • stepinDateOffset

          DaysAdjustment stepinDateOffset
          The number of days between valuation date and step-in date.

          The step-in date is also called protection effective date.

          This will default to '1 calendar day' if not specified.

        • stubConvention

          StubConvention stubConvention
          The convention defining how to handle stubs, optional with defaulting getter.

          The stub convention is used during schedule construction to determine whether the irregular remaining period occurs at the start or end of the schedule. It also determines whether the irregular period is shorter or longer than the regular period.

          This will default to 'SmartInitial' if not specified.

    • Class com.opengamma.strata.product.credit.type.TenorCdsTemplate extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualStart

          AccrualStart accrualStart
          The accrual start.

          Whether the accrual start is the next day or the previous IMM date.

        • convention

          CdsConvention convention
          The market convention of the credit default swap.
        • tenor

          Tenor tenor
          The tenor of the credit default swap.

          This is the period to the protection end.

  • Package com.opengamma.strata.product.deposit

    • Class com.opengamma.strata.product.deposit.IborFixingDeposit extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply to the start and end date, optional.

          The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.

        • buySell

          BuySell buySell
          Whether the Ibor fixing deposit is 'Buy' or 'Sell'.

          A value of 'Buy' implies that the floating rate is paid to the counterparty, with the fixed rate being received. A value of 'Sell' implies that the floating rate is received from the counterparty, with the fixed rate being paid.

        • currency

          Currency currency
          The primary currency, defaulted to the currency of the index.

          This is the currency of the deposit and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.

          When building, this will default to the currency of the index if not specified.

        • dayCount

          DayCount dayCount
          The day count convention applicable, defaulted to the day count of the index.

          This is used to convert dates to a numerical value. The data model permits the day count to differ from that of the index, however the two are typically the same.

          When building, this will default to the day count of the index if not specified.

        • endDate

          LocalDate endDate
          The end date of the deposit.

          Interest accrues until this date. This date is typically set to be a valid business day. Optionally, the businessDayAdjustment property may be set to provide a rule for adjustment. This date must be after the start date.

        • fixedRate

          double fixedRate
          The fixed interest rate to be paid. A 5% rate will be expressed as 0.05.
        • fixingDateOffset

          DaysAdjustment fixingDateOffset
          The offset of the fixing date from the start date.

          The offset is applied to the start date and is typically minus 2 business days. The data model permits the offset to differ from that of the index, however the two are typically the same.

          When building, this will default to the fixing date offset of the index if not specified.

        • index

          IborIndex index
          The Ibor index.

          The floating rate to be paid or received is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.

          See buySell to determine whether this rate is paid or received.

        • notional

          double notional
          The notional amount.

          The notional expressed here must be non-negative. The currency of the notional is specified by currency.

        • startDate

          LocalDate startDate
          The start date of the deposit.

          Interest accrues from this date. This date is typically set to be a valid business day. Optionally, the businessDayAdjustment property may be set to provide a rule for adjustment.

    • Class com.opengamma.strata.product.deposit.IborFixingDepositTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          IborFixingDeposit product
          The Ibor fixing deposit product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.deposit.ResolvedIborFixingDeposit extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • currency

          Currency currency
          The primary currency.

          This is the currency of the deposit and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.

        • endDate

          LocalDate endDate
          The end date of the deposit.

          This is the last day that interest accrues. This date must be after the start date.

          This is an adjusted date, which should be a valid business day

        • fixedRate

          double fixedRate
          The fixed rate of interest. A 5% rate will be expressed as 0.05.
        • floatingRate

          IborRateComputation floatingRate
          The floating rate of interest.

          The floating rate to be paid is based on this index. It will be a well known market index such as 'GBP-LIBOR-3M'.

        • notional

          double notional
          The notional amount.

          The amount that is deposited. It is a positive signed amount if the deposit is 'Buy', and a negative signed amount if the deposit is 'Sell'.

          The currency of the notional is specified by currency.

        • startDate

          LocalDate startDate
          The start date of the deposit.

          This is the first date that interest accrues.

          This is an adjusted date, which should be a valid business day

        • yearFraction

          double yearFraction
          The year fraction between the start and end date.

          The value is usually calculated using a DayCount. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.

    • Class com.opengamma.strata.product.deposit.ResolvedIborFixingDepositTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          ResolvedIborFixingDeposit product
          The resolved Ibor Fixing Deposit product.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.deposit.ResolvedTermDeposit extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • currency

          Currency currency
          The primary currency.

          This is the currency of the deposit and the currency that payment is made in.

        • endDate

          LocalDate endDate
          The end date of the deposit.

          This is the last day that interest accrues. This date must be after the start date.

          This is an adjusted date, which should be a valid business day

        • notional

          double notional
          The notional amount.

          The amount that is deposited. It is a positive signed amount if the deposit is 'Buy', and a negative signed amount if the deposit is 'Sell'.

          The currency of the notional is specified by currency.

        • rate

          double rate
          The fixed rate of interest. A 5% rate will be expressed as 0.05.
        • startDate

          LocalDate startDate
          The start date of the deposit.

          This is the first date that interest accrues.

          This is an adjusted date, which should be a valid business day

        • yearFraction

          double yearFraction
          The year fraction between the start and end date.

          The value is usually calculated using a DayCount. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.

    • Class com.opengamma.strata.product.deposit.ResolvedTermDepositTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          ResolvedTermDeposit product
          The resolved Term Deposit product.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.deposit.TermDeposit extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply to the start and end date, optional.

          The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.

        • buySell

          BuySell buySell
          Whether the term deposit is 'Buy' or 'Sell'.

          A value of 'Buy' implies payment of the principal at the start date and receipt of the principal plus interest at the end date. A value of 'Sell' implies the opposite. In other words, 'Buy' refers to buying the service of "money storage", with the benefit of receiving interest.

        • currency

          Currency currency
          The primary currency.

          This is the currency of the term deposit and the currency that payment is made in.

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert dates to a numerical value.

        • endDate

          LocalDate endDate
          The end date of the deposit.

          Interest accrues until this date. This date is typically set to be a valid business day. Optionally, the businessDayAdjustment property may be set to provide a rule for adjustment. This date must be after the start date.

        • notional

          double notional
          The notional amount.

          The notional represents the principal amount, and must be non-negative. The currency of the notional is specified by currency.

        • rate

          double rate
          The fixed interest rate to be paid. A 5% rate will be expressed as 0.05.
        • startDate

          LocalDate startDate
          The start date of the deposit.

          Interest accrues from this date. This date is typically set to be a valid business day. Optionally, the businessDayAdjustment property may be set to provide a rule for adjustment.

    • Class com.opengamma.strata.product.deposit.TermDepositTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          TermDeposit product
          The term deposit product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

  • Package com.opengamma.strata.product.deposit.type

    • Class com.opengamma.strata.product.deposit.type.IborFixingDepositTemplate extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • convention

          IborFixingDepositConvention convention
          The underlying Ibor fixing deposit convention.

          This specifies the standard convention of the Ibor fixing deposit to be created.

        • depositPeriod

          Period depositPeriod
          The period between the start date and the end date.

          The difference between the start date and the end date typically matches the tenor of the index, however this is not validated.

    • Class com.opengamma.strata.product.deposit.type.ImmutableIborFixingDepositConvention extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply to the start and end date, optional with defaulting getter.

          The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.

          This will default to 'ModifiedFollowing' using the index fixing calendar if not specified.

        • currency

          Currency currency
          The primary currency, optional with defaulting getter.

          This is the currency of the deposit and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.

          This will default to the currency of the index if not specified.

        • dayCount

          DayCount dayCount
          The day count convention applicable, optional with defaulting getter.

          This is used to convert dates to a numerical value. The data model permits the day count to differ from that of the index, however the two are typically the same.

          This will default to the day count of the index if not specified.

        • fixingDateOffset

          DaysAdjustment fixingDateOffset
          The offset of the fixing date from the start date, optional with defaulting getter.

          The offset is applied to the start date and is typically minus 2 business days. The data model permits the offset to differ from that of the index, however the two are typically the same.

          This will default to the fixing date offset of the index if not specified.

        • index

          IborIndex index
          The Ibor index.

          The floating rate to be paid or received is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.

        • name

          String name
          The convention name, such as 'GBP-LIBOR-3M', optional with defaulting getter.

          This will default to the name of the index if not specified.

        • spotDateOffset

          DaysAdjustment spotDateOffset
          The offset of the spot value date from the trade date, optional with defaulting getter.

          The offset is applied to the trade date and is typically plus 2 business days. The start date of the deposit is equal to the spot date and the end date of the deposit is relative to the start date.

          This will default to the effective date offset of the index if not specified.

    • Class com.opengamma.strata.product.deposit.type.ImmutableTermDepositConvention extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply to the start and end date.

          The start and end date will be adjusted as defined here.

        • currency

          Currency currency
          The primary currency.

          This is the currency of the term deposit and the currency that payment is made in.

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert dates to a numerical value.

        • name

          String name
          The convention name, such as 'GBP-Deposit-ON'.
        • spotDateOffset

          DaysAdjustment spotDateOffset
          The offset of the spot value date from the trade date.

          The offset is applied to the trade date and is typically plus 2 business days. The start date of the term deposit is equal to the spot date and the end date of the term deposit is relative to the start date.

    • Class com.opengamma.strata.product.deposit.type.TermDepositTemplate extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • convention

          TermDepositConvention convention
          The underlying term deposit convention.

          This specifies the standard convention of the term deposit to be created.

        • depositPeriod

          Period depositPeriod
          The period between the start date and the end date.
  • Package com.opengamma.strata.product.dsf

    • Class com.opengamma.strata.product.dsf.Dsf extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • deliveryDate

          LocalDate deliveryDate
          The delivery date.

          The underlying swap is delivered on this date.

        • lastTradeDate

          LocalDate lastTradeDate
          The last date of trading.

          This date must be before the delivery date of the underlying swap.

        • notional

          double notional
          The notional of the futures.

          This is also called face value or contract value.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • underlyingSwap

          Swap underlyingSwap
          The underlying swap.

          The delivery date of the future is typically the first accrual date of the underlying swap. The swap should be a receiver swap of notional 1.

    • Class com.opengamma.strata.product.dsf.DsfPosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • product

          Dsf product
          The DSF that was traded.

          The product captures the contracted financial details.

        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.dsf.DsfSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • lastTradeDate

          LocalDate lastTradeDate
          The last date of trading.

          This date must be before the delivery date of the underlying swap.

        • notional

          double notional
          The notional.

          This is also called face value or contract value.

        • underlyingSwap

          Swap underlyingSwap
          The underlying swap.

          The delivery date of the future is the start date of the swap. The swap must be a single currency swap with a notional of 1. There must be two legs, the fixed leg must be received and the floating rate must be paid.

    • Class com.opengamma.strata.product.dsf.DsfTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade. The trade date is required when calling DsfTrade.resolve(ReferenceData).

        • price

          double price
          The price that was traded, in decimal form.

          This is the price agreed when the trade occurred.

          Strata uses decimal prices for DSFs in the trade model, pricers and market data. The decimal price is based on the decimal multiplier equivalent to the implied percentage. Thus the market price of 100.182 is represented in Strata by 1.00182.

        • product

          Dsf product
          The future that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

    • Class com.opengamma.strata.product.dsf.ResolvedDsf extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • deliveryDate

          LocalDate deliveryDate
          The delivery date.

          The underlying swap is delivered on this date.

        • lastTradeDate

          LocalDate lastTradeDate
          The last date of trading.

          This date must be before the delivery date of the underlying swap.

        • notional

          double notional
          The notional of the futures.

          This is also called face value or contract value.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • underlyingSwap

          ResolvedSwap underlyingSwap
          The underlying swap.

          The delivery date of the future is typically the first accrual date of the underlying swap. The swap should be a receiver swap of notional 1.

    • Class com.opengamma.strata.product.dsf.ResolvedDsfTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PortfolioItemInfo info
          The additional information, defaulted to an empty instance.

          This allows additional information to be attached.

        • product

          ResolvedDsf product
          The future that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

        • tradedPrice

          TradedPrice tradedPrice
          The price that was traded, together with the trade date, optional.

          This is the price agreed when the trade occurred, in decimal form. Strata uses decimal prices for DSFs in the trade model, pricers and market data. The decimal price is based on the decimal multiplier equivalent to the implied percentage. Thus the market price of 100.182 is represented in Strata by 1.00182.

          This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.

  • Package com.opengamma.strata.product.etd

    • Class com.opengamma.strata.product.etd.EtdContractCode extends TypedString<EtdContractCode> implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
    • Class com.opengamma.strata.product.etd.EtdContractGroupCode extends TypedString<EtdContractGroupCode> implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
    • Class com.opengamma.strata.product.etd.EtdContractGroupId extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

    • Class com.opengamma.strata.product.etd.EtdContractSpec extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • attributes

          ImmutableMap<AttributeType<?>,​Object> attributes
          The attributes.

          Attributes provide the ability to associate arbitrary information with a security contract specification in a key-value map.

        • contractCode

          EtdContractCode contractCode
          The code supplied by the exchange for use in clearing and margining, such as in SPAN.
        • description

          String description
          The human readable description of the product.
        • exchangeId

          ExchangeId exchangeId
          The ID of the exchange where the instruments derived from the product are traded.
        • id

          EtdContractSpecId id
          The ID of this contract specification.

          When building, this will be defaulted using EtdIdUtils.

        • priceInfo

          SecurityPriceInfo priceInfo
          The information about the security price. This includes details of the currency, tick size, tick value, contract size.
        • type

          EtdType type
          The type of the contract - future or option.
    • Class com.opengamma.strata.product.etd.EtdContractSpecId extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • standardId

          StandardId standardId
          The identifier, expressed as a standard two-part identifier.
    • Class com.opengamma.strata.product.etd.EtdFuturePosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • security

          EtdFutureSecurity security
          The underlying security.
        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.etd.EtdFutureSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • contractSpecId

          EtdContractSpecId contractSpecId
          The ID of the contract specification from which this security is derived.
        • expiry

          YearMonth expiry
          The year-month of the expiry.

          Expiry will occur on a date implied by the variant of the ETD.

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • variant

          EtdVariant variant
          The variant of ETD.

          This captures the variant of the ETD. The most common variant is 'Monthly'. Other variants are 'Weekly', 'Daily' and 'Flex'.

          When building, this defaults to 'Monthly'.

    • Class com.opengamma.strata.product.etd.EtdFutureTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • price

          double price
          The price that was traded, in decimal form.

          This is the price agreed when the trade occurred.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

        • security

          EtdFutureSecurity security
          The security that was traded.
    • Class com.opengamma.strata.product.etd.EtdOptionPosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • security

          EtdOptionSecurity security
          The underlying security.
        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.etd.EtdOptionSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • contractSpecId

          EtdContractSpecId contractSpecId
          The ID of the contract specification from which this security is derived.
        • expiry

          YearMonth expiry
          The year-month of the expiry.

          Expiry will occur on a date implied by the variant of the ETD.

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • putCall

          PutCall putCall
          Whether the option is a put or call.
        • strikePrice

          double strikePrice
          The strike price, in decimal form, may be negative.
        • underlyingExpiryMonth

          YearMonth underlyingExpiryMonth
          The expiry year-month of the underlying instrument.

          If an option has an underlying instrument, the expiry of that instrument can be specified here. For example, you can have an option expiring in March on the underlying March future, or on the underlying June future. Not all options have an underlying instrument, thus the property is optional.

          In many cases, the expiry of the underlying instrument is the same as the expiry of the option. In this case, the expiry is often omitted, even though it probably should not be.

        • variant

          EtdVariant variant
          The variant of ETD.

          This captures the variant of the ETD. The most common variant is 'Monthly'. Other variants are 'Weekly', 'Daily' and 'Flex'.

          When building, this defaults to 'Monthly'.

        • version

          int version
          The version of the option, defaulted to zero.

          Some options can have multiple versions, representing some kind of change over time. Version zero is the baseline, version one and later indicates some kind of change occurred.

    • Class com.opengamma.strata.product.etd.EtdOptionTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • price

          double price
          The price that was traded, in decimal form.

          This is the price agreed when the trade occurred.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

        • security

          EtdOptionSecurity security
          The security that was traded.
    • Class com.opengamma.strata.product.etd.EtdVariant extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • code

          String code
          The short code.
        • dateCode

          Integer dateCode
          The optional date code, populated for Weekly and Daily.

          This will be the week number for Weekly and the day-of-week for Daily.

        • optionType

          EtdOptionType optionType
          The optional option type, 'American' or 'European', populated for Flex Options.
        • settlementType

          EtdSettlementType settlementType
          The optional settlement type, such as 'Cash' or 'Physical', populated for Flex Futures and Flex Options.
        • type

          EtdExpiryType type
          The type of ETD - Monthly, Weekly or Daily.

          Flex Futures and Options are always Daily.

  • Package com.opengamma.strata.product.fra

    • Class com.opengamma.strata.product.fra.Fra extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply to the start and end date, optional.

          The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.

        • buySell

          BuySell buySell
          Whether the FRA is buy or sell.

          A value of 'Buy' implies that the floating rate is received from the counterparty, with the fixed rate being paid. A value of 'Sell' implies that the floating rate is paid to the counterparty, with the fixed rate being received.

        • currency

          Currency currency
          The primary currency, defaulted to the currency of the index.

          This is the currency of the FRA and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.

          When building, this will default to the currency of the index if not specified.

        • dayCount

          DayCount dayCount
          The day count convention applicable, defaulted to the day count of the index.

          This is used to convert dates to a numerical value. The data model permits the day count to differ from that of the index, however the two are typically the same.

          When building, this will default to the day count of the index if not specified.

        • discounting

          FraDiscountingMethod discounting
          The method to use for discounting, defaulted to 'ISDA' or 'AFMA'.

          There are different approaches FRA pricing in the area of discounting. This method specifies the approach for this FRA.

          When building, this will default 'AFMA' if the index has the currency 'AUD' or 'NZD' and to 'ISDA' otherwise.

        • endDate

          LocalDate endDate
          The end date, which is the termination date of the FRA.

          This is the last day that interest accrues. This date must be after the start date.

          This date is typically set to be a valid business day. Optionally, the businessDayAdjustment property may be set to provide a rule for adjustment.

        • fixedRate

          double fixedRate
          The fixed rate of interest. A 5% rate will be expressed as 0.05.

          See buySell to determine whether this rate is paid or received.

        • fixingDateOffset

          DaysAdjustment fixingDateOffset
          The offset of the fixing date from the start date.

          The offset is applied to the start date and is typically minus 2 business days. The data model permits the offset to differ from that of the index, however the two are typically the same.

          When building, this will default to the fixing date offset of the index if not specified.

        • index

          IborIndex index
          The Ibor index.

          The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'. This will be used throughout unless indexInterpolated is present.

          See buySell to determine whether this rate is paid or received.

        • indexInterpolated

          IborIndex indexInterpolated
          The second Ibor index to be used for linear interpolation, optional.

          This will be used with index to linearly interpolate the rate. It will be a well known market index such as 'GBP-LIBOR-6M'. This index may be shorter or longer than index, but not the same.

        • notional

          double notional
          The notional amount.

          The notional expressed here must be positive. The currency of the notional is specified by currency.

        • paymentDate

          AdjustableDate paymentDate
          The payment date.

          The payment date is typically the same as the start date. The date may be subject to adjustment to ensure it is a business day.

          When building, this will default to the start date with no adjustments if not specified.

        • startDate

          LocalDate startDate
          The start date, which is the effective date of the FRA.

          This is the first date that interest accrues.

          This date is typically set to be a valid business day. Optionally, the businessDayAdjustment property may be set to provide a rule for adjustment.

    • Class com.opengamma.strata.product.fra.FraTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          Fra product
          The FRA product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.fra.ResolvedFra extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • currency

          Currency currency
          The primary currency.

          This is the currency of the FRA and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.

        • discounting

          FraDiscountingMethod discounting
          The method to use for discounting.

          There are different approaches to FRA pricing in the area of discounting. This method specifies the approach for this FRA.

        • endDate

          LocalDate endDate
          The end date, which is the termination date of the FRA.

          This is the last day that interest accrues. This date must be after the start date.

          This is an adjusted date, which should be a valid business day

        • fixedRate

          double fixedRate
          The fixed rate of interest. A 5% rate will be expressed as 0.05.
        • floatingRate

          RateComputation floatingRate
          The floating rate of interest.

          The floating rate to be paid is based on this index. It will be a well known market index such as 'GBP-LIBOR-3M'.

        • notional

          double notional
          The notional amount.

          The notional, which is a positive signed amount if the FRA is 'buy', and a negative signed amount if the FRA is 'sell'.

          The currency of the notional is specified by currency.

        • paymentDate

          LocalDate paymentDate
          The date that payment occurs.

          This is an adjusted date, which should be a valid business day

        • startDate

          LocalDate startDate
          The start date, which is the effective date of the FRA.

          This is the first date that interest accrues.

          This is an adjusted date, which should be a valid business day

        • yearFraction

          double yearFraction
          The year fraction between the start and end date.

          The value is usually calculated using a DayCount. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.

    • Class com.opengamma.strata.product.fra.ResolvedFraTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          ResolvedFra product
          The resolved FRA product.

          The product captures the contracted financial details of the trade.

  • Package com.opengamma.strata.product.fra.type

    • Class com.opengamma.strata.product.fra.type.FraTemplate extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • convention

          FraConvention convention
          The underlying FRA convention.

          This specifies the market convention of the FRA to be created.

        • periodToEnd

          Period periodToEnd
          The period between the spot value date and the end date.

          In a FRA described as '2 x 5', the period to the end date is 5 months. The difference between the start date and the end date typically matches the tenor of the index, however this is not validated.

          When building, this will default to the period to start plus the tenor of the index if not specified.

        • periodToStart

          Period periodToStart
          The period between the spot value date and the start date.

          In a FRA described as '2 x 5', the period to the start date is 2 months.

    • Class com.opengamma.strata.product.fra.type.ImmutableFraConvention extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply to the start and end date, optional with defaulting getter.

          The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.

          This will default to 'ModifiedFollowing' using the index fixing calendar if not specified.

        • currency

          Currency currency
          The primary currency, optional with defaulting getter.

          This is the currency of the FRA and the currency that payment is made in. The data model permits this currency to differ from that of the index, however the two are typically the same.

          This will default to the currency of the index if not specified.

        • dayCount

          DayCount dayCount
          The day count convention applicable, optional with defaulting getter.

          This is used to convert dates to a numerical value. The data model permits the day count to differ from that of the index, however the two are typically the same.

          This will default to the day count of the index if not specified.

        • discounting

          FraDiscountingMethod discounting
          The method to use for discounting, optional with defaulting getter.

          There are different approaches FRA pricing in the area of discounting. This method specifies the approach for this FRA.

          This will default 'AFMA' if the index has the currency 'AUD' or 'NZD' and to 'ISDA' otherwise.

        • fixingDateOffset

          DaysAdjustment fixingDateOffset
          The offset of the fixing date from the start date, optional with defaulting getter.

          The offset is applied to the start date and is typically minus 2 business days. The data model permits the offset to differ from that of the index, however the two are typically the same.

          This will default to the fixing date offset of the index if not specified.

        • index

          IborIndex index
          The Ibor index.

          The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.

        • name

          String name
          The convention name, such as 'GBP-LIBOR-3M', optional with defaulting getter.

          This will default to the name of the index if not specified.

        • paymentDateOffset

          DaysAdjustment paymentDateOffset
          The offset of the payment date from the start date, optional with defaulting getter.

          Defines the offset from the start date to the payment date. In most cases, the payment date is the same as the start date, so the default of zero is appropriate.

          This will default to zero if not specified.

        • spotDateOffset

          DaysAdjustment spotDateOffset
          The offset of the spot value date from the trade date, optional with defaulting getter.

          The offset is applied to the trade date and is typically plus 2 business days. The start and end date of the FRA term are relative to the spot date.

          This will default to the effective date offset of the index if not specified.

  • Package com.opengamma.strata.product.fx

    • Class com.opengamma.strata.product.fx.FxNdf extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • agreedFxRate

          FxRate agreedFxRate
          The FX rate agreed for the value date at the inception of the trade.

          The settlement amount is based on the difference between this rate and the rate observed on the fixing date using the index.

          The forward is between the two currencies defined by the rate.

        • index

          FxIndex index
          The index defining the FX rate to observe on the fixing date.

          The index is used to settle the trade by providing the actual FX rate on the fixing date. The value of the trade is based on the difference between the actual rate and the agreed rate.

          The forward is between the two currencies defined by the index.

        • paymentDate

          LocalDate paymentDate
          The date that the forward settles.

          On this date, the settlement amount will be exchanged. This date should be a valid business day.

        • settlementCurrencyNotional

          CurrencyAmount settlementCurrencyNotional
          The notional amount in the settlement currency, positive if receiving, negative if paying.

          The amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.

          This must be specified in one of the two currencies of the forward.

    • Class com.opengamma.strata.product.fx.FxNdfTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          FxNdf product
          The product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.fx.FxSingle extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • baseCurrencyPayment

          Payment baseCurrencyPayment
          The payment in the base currency, positive if receiving, negative if paying.

          The amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.

          The payment date is usually the same as counterCurrencyPayment. It is typically a valid business day, however the businessDayAdjustment property may be used to adjust it.

        • counterCurrencyPayment

          Payment counterCurrencyPayment
          The payment in the counter currency, positive if receiving, negative if paying.

          The amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.

          The payment date is usually the same as baseCurrencyPayment. It is typically a valid business day, however the businessDayAdjustment property may be used to adjust it.

        • paymentDateAdjustment

          BusinessDayAdjustment paymentDateAdjustment
          The payment date adjustment, optional.

          If present, the adjustment will be applied to the payment date.

    • Class com.opengamma.strata.product.fx.FxSingleTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          FxSingle product
          The product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.fx.FxSwap extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • farLeg

          FxSingle farLeg
          The foreign exchange transaction at the later date.

          This provides details of a single foreign exchange at a specific date. The payment date of this transaction must be after that of the near leg.

        • nearLeg

          FxSingle nearLeg
          The foreign exchange transaction at the earlier date.

          This provides details of a single foreign exchange at a specific date. The payment date of this transaction must be before that of the far leg.

    • Class com.opengamma.strata.product.fx.FxSwapTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          FxSwap product
          The FX swap product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.fx.ResolvedFxNdf extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • agreedFxRate

          FxRate agreedFxRate
          The FX rate agreed for the value date at the inception of the trade.

          The settlement amount is based on the difference between this rate and the rate observed on the fixing date using the index.

          The forward is between the two currencies defined by the rate.

        • observation

          FxIndexObservation observation
          The FX index observation.

          This defines the observation of the index used to settle the trade. The value of the trade is based on the difference between the actual rate and the agreed rate.

          An FX index is a daily rate of exchange between two currencies. Note that the order of the currencies in the index does not matter, as the conversion direction is fully defined by the currency of the reference amount.

        • paymentDate

          LocalDate paymentDate
          The date that the forward settles.

          On this date, the settlement amount will be exchanged. This date should be a valid business day.

        • settlementCurrencyNotional

          CurrencyAmount settlementCurrencyNotional
          The notional amount in the settlement currency, positive if receiving, negative if paying.

          The amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.

          This must be specified in one of the two currencies of the forward.

    • Class com.opengamma.strata.product.fx.ResolvedFxNdfTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          ResolvedFxNdf product
          The resolved Non-Deliverable Forward (NDF) product.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.fx.ResolvedFxSingle extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • baseCurrencyPayment

          Payment baseCurrencyPayment
          The payment in the base currency, positive if receiving, negative if paying.

          The payment amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.

        • counterCurrencyPayment

          Payment counterCurrencyPayment
          The payment in the counter currency, positive if receiving, negative if paying.

          The payment amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.

    • Class com.opengamma.strata.product.fx.ResolvedFxSingleTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          ResolvedFxSingle product
          The resolved single FX product.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.fx.ResolvedFxSwap extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • farLeg

          ResolvedFxSingle farLeg
          The foreign exchange transaction at the later date.

          This provides details of a single foreign exchange at a specific date. The payment date of this transaction must be after that of the near leg.

        • nearLeg

          ResolvedFxSingle nearLeg
          The foreign exchange transaction at the earlier date.

          This provides details of a single foreign exchange at a specific date. The payment date of this transaction must be before that of the far leg.

    • Class com.opengamma.strata.product.fx.ResolvedFxSwapTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • product

          ResolvedFxSwap product
          The resolved FX swap product.

          The product captures the contracted financial details of the trade.

  • Package com.opengamma.strata.product.fx.type

    • Class com.opengamma.strata.product.fx.type.FxSwapTemplate extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • convention

          FxSwapConvention convention
          The underlying FX Swap convention.

          This specifies the market convention of the FX Swap to be created.

        • periodToFar

          Period periodToFar
          The period between the spot value date and the far date.

          For example, a '3M x 6M' FX swap has a period from spot to the far date of 6 months

        • periodToNear

          Period periodToNear
          The period between the spot value date and the near date.

          For example, a '3M x 6M' FX swap has a period from spot to the near date of 3 months

    • Class com.opengamma.strata.product.fx.type.ImmutableFxSwapConvention extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply to the start and end date, optional with defaulting getter.

          The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.

          This will default to 'ModifiedFollowing' using the spot date offset calendar if not specified.

        • currencyPair

          CurrencyPair currencyPair
          The currency pair associated with the convention.
        • name

          String name
          The convention name, such as 'EUR/USD', optional with defaulting getter.

          This will default to the name of the currency pair if not specified.

        • spotDateOffset

          DaysAdjustment spotDateOffset
          The offset of the spot value date from the trade date.

          The offset is applied to the trade date and is typically plus 2 business days in the joint calendar of the two currencies. The start and end date of the FX swap are relative to the spot date.

  • Package com.opengamma.strata.product.fxopt

    • Class com.opengamma.strata.product.fxopt.FxSingleBarrierOption extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • barrier

          Barrier barrier
          The barrier description.

          The barrier level stored in this field must be represented based on the direction of the currency pair in the underlying FX transaction.

          For example, if the underlying option is an option on EUR/GBP, the barrier should be a certain level of EUR/GBP rate.

        • rebate

          CurrencyAmount rebate
          For a 'out' option, the amount is paid when the barrier is reached; for a 'in' option, the amount is paid at expiry if the barrier is not reached.

          This is the notional amount represented in one of the currency pair. The amount should be positive.

        • underlyingOption

          FxVanillaOption underlyingOption
          The underlying FX vanilla option.
    • Class com.opengamma.strata.product.fxopt.FxSingleBarrierOptionTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • premium

          AdjustablePayment premium
          The premium of the FX option.

          The premium sign should be compatible with the product Long/Short flag. This means that the premium is negative for long and positive for short.

        • product

          FxSingleBarrierOption product
          The FX option product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.fxopt.FxVanillaOption extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • expiryDate

          LocalDate expiryDate
          The expiry date of the option.

          The option is European, and can only be exercised on the expiry date.

        • expiryTime

          LocalTime expiryTime
          The expiry time of the option.

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

        • expiryZone

          ZoneId expiryZone
          The time-zone of the expiry time.

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

        • longShort

          LongShort longShort
          Whether the option is long or short.

          At expiry, the long party will have the option to enter in this transaction; the short party will, at the option of the long party, potentially enter into the inverse transaction.

        • underlying

          FxSingle underlying
          The underlying foreign exchange transaction.

          At expiry, if the option is in the money, this foreign exchange will occur.

    • Class com.opengamma.strata.product.fxopt.FxVanillaOptionTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • premium

          AdjustablePayment premium
          The premium of the FX option.

          The premium sign should be compatible with the product Long/Short flag. This means that the premium is negative for long and positive for short.

        • product

          FxVanillaOption product
          The FX option product that was agreed when the trade occurred.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • barrier

          Barrier barrier
          The barrier description.

          The barrier level stored in this field must be represented based on the direction of the currency pair in the underlying FX transaction.

          For example, if the underlying option is an option on EUR/GBP, the barrier should be a certain level of EUR/GBP rate.

        • rebate

          CurrencyAmount rebate
          For a 'out' option, the amount is paid when the barrier is reached; for a 'in' option, the amount is paid at expiry if the barrier is not reached.

          This is the notional amount represented in one of the currency pair. The amount should be positive.

        • underlyingOption

          ResolvedFxVanillaOption underlyingOption
          The underlying FX vanilla option.
    • Class com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOptionTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • premium

          Payment premium
          The premium of the FX option.

          The premium sign should be compatible with the product Long/Short flag. This means that the premium is negative for long and positive for short.

        • product

          ResolvedFxSingleBarrierOption product
          The resolved barrier FX option product.

          The product captures the contracted financial details of the trade.

    • Class com.opengamma.strata.product.fxopt.ResolvedFxVanillaOption extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • expiry

          ZonedDateTime expiry
          The expiry date-time of the option.

          The option is European, and can only be exercised on the expiry date.

        • longShort

          LongShort longShort
          Whether the option is long or short.

          At expiry, the long party will have the option to enter in this transaction; the short party will, at the option of the long party, potentially enter into the inverse transaction.

        • underlying

          ResolvedFxSingle underlying
          The underlying foreign exchange transaction.

          At expiry, if the option is in the money, this foreign exchange will occur. A call option permits the transaction as specified to occur. A put option permits the inverse transaction to occur.

    • Class com.opengamma.strata.product.fxopt.ResolvedFxVanillaOptionTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade.

        • premium

          Payment premium
          The premium of the FX option.

          The premium sign should be compatible with the product Long/Short flag. This means that the premium is negative for long and positive for short.

        • product

          ResolvedFxVanillaOption product
          The resolved vanilla FX option product.

          The product captures the contracted financial details of the trade.

  • Package com.opengamma.strata.product.index

    • Class com.opengamma.strata.product.index.IborFuture extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualFactor

          double accrualFactor
          The accrual factor, defaulted from the index if not set.

          This is the year fraction of the contract, typically 0.25 for a 3 month deposit.

          When building, this will default to the number of months in the index divided by 12 if not specified. However, if the index is not month-based, no defaulting will occur.

        • currency

          Currency currency
          The currency that the future is traded in, defaulted from the index if not set.
        • index

          IborIndex index
          The underlying Ibor index.

          The future is based on this index. It will be a well known market index such as 'USD-LIBOR-3M'.

        • lastTradeDate

          LocalDate lastTradeDate
          The last date of trading. This date is also the fixing date for the Ibor index. This is typically 2 business days before the IMM date (3rd Wednesday of the month).
        • notional

          double notional
          The notional amount.

          This is the full notional of the deposit, such as 1 million dollars. The notional expressed here must be positive. The currency of the notional is specified by currency.

        • rounding

          Rounding rounding
          The definition of how to round the futures 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. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

    • Class com.opengamma.strata.product.index.IborFutureOption extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • expiryDate

          LocalDate expiryDate
          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.

        • expiryTime

          LocalTime expiryTime
          The expiry time of the option.

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

        • expiryZone

          ZoneId expiryZone
          The time-zone of the expiry time.

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

        • premiumStyle

          FutureOptionPremiumStyle premiumStyle
          The style of the option premium.

          The two options are daily margining and upfront premium.

        • putCall

          PutCall putCall
          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.

        • rounding

          Rounding rounding
          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.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • strikePrice

          double strikePrice
          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.

        • underlyingFuture

          IborFuture underlyingFuture
          The underlying future.
    • Class com.opengamma.strata.product.index.IborFutureOptionPosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • product

          IborFutureOption product
          The option that was traded.

          The product captures the contracted financial details.

        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.index.IborFutureOptionSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • currency

          Currency currency
          The currency that the option is traded in.
        • expiryDate

          LocalDate expiryDate
          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.

        • expiryTime

          LocalTime expiryTime
          The expiry time of the option.

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

        • expiryZone

          ZoneId expiryZone
          The time-zone of the expiry time.

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

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • premiumStyle

          FutureOptionPremiumStyle premiumStyle
          The style of the option premium.

          The two options are daily margining and upfront premium.

        • putCall

          PutCall putCall
          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.

        • rounding

          Rounding rounding
          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.

        • strikePrice

          double strikePrice
          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.

        • underlyingFutureId

          SecurityId underlyingFutureId
          The identifier of the underlying future.
    • Class com.opengamma.strata.product.index.IborFutureOptionTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade. The trade date is required when calling IborFutureOptionTrade.resolve(ReferenceData).

        • price

          double price
          The price that was traded, in decimal form.

          This is the price agreed when the trade occurred.

          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.

        • product

          IborFutureOption product
          The option that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

    • Class com.opengamma.strata.product.index.IborFuturePosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • product

          IborFuture product
          The future that was traded.

          The product captures the contracted financial details.

        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.index.IborFutureSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • index

          IborIndex index
          The underlying Ibor index.

          The future is based on this index. It will be a well known market index such as 'USD-LIBOR-3M'.

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • lastTradeDate

          LocalDate lastTradeDate
          The last date of trading. This date is also the fixing date for the Ibor index. This is typically 2 business days before the IMM date (3rd Wednesday of the month).
        • notional

          double notional
          The notional amount.

          This is the full notional of the deposit, such as 1 million dollars. The notional expressed here must be positive. The currency of the notional the same as the currency of the index.

        • rounding

          Rounding rounding
          The definition of how to round the futures 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. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

    • Class com.opengamma.strata.product.index.IborFutureTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade. The trade date is required when calling IborFutureTrade.resolve(ReferenceData).

        • price

          double price
          The price that was traded, in decimal form.

          This is the price agreed when the trade occurred.

          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.

        • product

          IborFuture product
          The future that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

    • Class com.opengamma.strata.product.index.OvernightFuture extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualFactor

          double accrualFactor
          The accrual factor, defaulted from the index if not set.

          This is the year fraction of the contract, typically 1/12 for a 30-day future. As such, it is often unrelated to the day count of the index. The year fraction must be positive.

        • accrualMethod

          OvernightAccrualMethod accrualMethod
          The method of accruing Overnight interest.

          The average rate is calculated based on this method over the period between startDate and endDate.

        • currency

          Currency currency
          The currency that the future is traded in, defaulted from the index if not set.
        • endDate

          LocalDate endDate
          The last date of the rate calculation period.

          This is not necessarily a valid business day on the fixing calendar of index. However, it will be adjusted in OvernightRateComputation if needed.

        • index

          OvernightIndex index
          The underlying Overnight index.

          The future is based on this index. It will be a well known market index such as 'USD-FED-FUND'.

        • lastTradeDate

          LocalDate lastTradeDate
          The last date of trading.

          This must be a valid business day on the fixing calendar of index. For example, the last trade date is often the last business day of the month.

        • notional

          double notional
          The notional amount.

          This is the full notional of the deposit, such as 5 million dollars. The notional expressed here must be positive. The currency of the notional is specified by currency.

        • rounding

          Rounding rounding
          The definition of how to round the futures 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. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • startDate

          LocalDate startDate
          The first date of the rate calculation period.

          This is not necessarily a valid business day on the fixing calendar of index. However, it will be adjusted in OvernightRateComputation if needed.

    • Class com.opengamma.strata.product.index.OvernightFuturePosition extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PositionInfo info
          The additional position information, defaulted to an empty instance.

          This allows additional information to be attached to the position.

        • longQuantity

          double longQuantity
          The long quantity of the security.

          This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        • product

          OvernightFuture product
          The future that was traded.

          The product captures the contracted financial details.

        • shortQuantity

          double shortQuantity
          The short quantity of the security.

          This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

    • Class com.opengamma.strata.product.index.OvernightFutureSecurity extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualFactor

          double accrualFactor
          The accrual factor, defaulted from the index if not set.

          This is the year fraction of the contract, typically 1/12 for a 30-day future. As such, it is often unrelated to the day count of the index. The year fraction must be positive.

        • accrualMethod

          OvernightAccrualMethod accrualMethod
          The method of accruing Overnight interest.

          The average rate is calculated based on this method over the period between startDate and endDate.

        • endDate

          LocalDate endDate
          The last date of the rate calculation period.

          This is not necessarily a valid business day on the fixing calendar of index. However, it will be adjusted in OvernightRateComputation if needed.

        • index

          OvernightIndex index
          The underlying Overnight index.

          The future is based on this index. It will be a well known market index such as 'USD-FED-FUND'.

        • info

          SecurityInfo info
          The standard security information.

          This includes the security identifier.

        • lastTradeDate

          LocalDate lastTradeDate
          The last date of trading.

          This must be a valid business day on the fixing calendar of index. For example, the last trade date is often the last business day of the month.

        • notional

          double notional
          The notional amount.

          This is the full notional of the deposit, such as 5 million dollars. The notional expressed here must be positive. The currency of the notional the same as the currency of the index.

        • rounding

          Rounding rounding
          The definition of how to round the futures 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. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

        • startDate

          LocalDate startDate
          The first date of the rate calculation period.

          This is not necessarily a valid business day on the fixing calendar of index. However, it will be adjusted in OvernightRateComputation if needed.

    • Class com.opengamma.strata.product.index.OvernightFutureTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          TradeInfo info
          The additional trade information, defaulted to an empty instance.

          This allows additional information to be attached to the trade. The trade date is required when calling OvernightFutureTrade.resolve(ReferenceData).

        • price

          double price
          The price that was traded, in decimal form.

          This is the price agreed when the trade occurred.

          Strata uses decimal prices for Overnight rate 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.

        • product

          OvernightFuture product
          The future that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

    • Class com.opengamma.strata.product.index.ResolvedIborFuture extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualFactor

          double accrualFactor
          The accrual factor, defaulted from the index if not set.

          This is the year fraction of the contract, typically 0.25 for a 3 month deposit.

          When building, this will default to the number of months in the index divided by 12 if not specified. However, if the index is not month-based, no defaulting will occur.

        • currency

          Currency currency
          The currency that the future is traded in.
        • iborRate

          IborRateComputation iborRate
          The Ibor rate observation.

          The future is based on this index. It will be a well known market index such as 'USD-LIBOR-3M'.

        • notional

          double notional
          The notional amount.

          This is the full notional of the deposit, such as 1 million dollars. The notional expressed here must be positive. The currency of the notional is specified by currency.

        • rounding

          Rounding rounding
          The definition of how to round the futures 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. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

    • Class com.opengamma.strata.product.index.ResolvedIborFutureOption extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • expiry

          ZonedDateTime expiry
          The expiry of the option.

          The date must not be after last trade date of the underlying future.

        • premiumStyle

          FutureOptionPremiumStyle premiumStyle
          The style of the option premium.

          The two options are daily margining and upfront premium.

        • putCall

          PutCall putCall
          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.

        • rounding

          Rounding rounding
          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.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

        • strikePrice

          double strikePrice
          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.

        • underlyingFuture

          ResolvedIborFuture underlyingFuture
          The underlying future.
    • Class com.opengamma.strata.product.index.ResolvedIborFutureOptionTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PortfolioItemInfo info
          The additional information, defaulted to an empty instance.

          This allows additional information to be attached.

        • product

          ResolvedIborFutureOption product
          The option that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

        • tradedPrice

          TradedPrice tradedPrice
          The price that was traded, together with the trade date, optional.

          This is the price agreed when the trade occurred, in decimal form. 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.

          This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.

    • Class com.opengamma.strata.product.index.ResolvedIborFutureTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PortfolioItemInfo info
          The additional information, defaulted to an empty instance.

          This allows additional information to be attached.

        • product

          ResolvedIborFuture product
          The future that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

        • tradedPrice

          TradedPrice tradedPrice
          The price that was traded, together with the trade date, optional.

          This is the price agreed when the trade occurred, in decimal form. 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.

          This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.

    • Class com.opengamma.strata.product.index.ResolvedOvernightFuture extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualFactor

          double accrualFactor
          The accrual factor, defaulted from the index if not set.

          This is the year fraction of the contract, typically 1/12 for a 30-day future. The year fraction must be positive.

        • currency

          Currency currency
          The currency that the future is traded in.
        • lastTradeDate

          LocalDate lastTradeDate
          The last date of trading.

          This must be a valid business day on the fixing calendar of index. The last trade date is typically the last business day of the month.

        • notional

          double notional
          The notional amount.

          This is the full notional of the deposit, such as 5 million dollars. The notional expressed here must be positive. The currency of the notional is specified by currency.

        • overnightRate

          OvernightRateComputation overnightRate
          The Overnight rate observation.

          The future is based on this index. It will be a well known market index such as 'USD-FED-FUND'.

        • rounding

          Rounding rounding
          The definition of how to round the futures 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. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

        • securityId

          SecurityId securityId
          The security identifier.

          This identifier uniquely identifies the security within the system.

    • Class com.opengamma.strata.product.index.ResolvedOvernightFutureTrade extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • info

          PortfolioItemInfo info
          The additional information, defaulted to an empty instance.

          This allows additional information to be attached.

        • product

          ResolvedOvernightFuture product
          The future that was traded.

          The product captures the contracted financial details of the trade.

        • quantity

          double quantity
          The quantity that was traded.

          This is the number of contracts that were traded. This will be positive if buying and negative if selling.

        • tradedPrice

          TradedPrice tradedPrice
          The price that was traded, together with the trade date, optional.

          This is the price agreed when the trade occurred, in decimal form. Strata uses decimal prices for Overnight rate 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.

          This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.

  • Package com.opengamma.strata.product.index.type

    • Class com.opengamma.strata.product.index.type.ImmutableIborFutureConvention extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply to the reference date.

          The reference date, which is often the third Wednesday of the month, will be adjusted as defined here.

        • dateSequence

          DateSequence dateSequence
          The sequence of dates that the future is based on.

          This is used to calculate the reference date of the future that is the start date of the underlying synthetic deposit.

        • index

          IborIndex index
          The Ibor index.

          The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.

        • name

          String name
          The convention name, such as 'USD-LIBOR-3M-Quarterly-IMM'.

          This will default to the name of the index suffixed by the name of the date sequence if not specified.

  • Package com.opengamma.strata.product.option

  • Package com.opengamma.strata.product.payment

  • Package com.opengamma.strata.product.rate

    • Class com.opengamma.strata.product.rate.FixedOvernightCompoundedAnnualRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualFactor

          double accrualFactor
          The accrual factor.
        • rate

          double rate
          The fixed rate for overnight compounding. A 5% rate will be expressed as 0.05.
        • simpleRate

          double simpleRate
          The calculated simple rate.
    • Class com.opengamma.strata.product.rate.FixedRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • rate

          double rate
          The fixed rate to be paid. A 5% rate will be expressed as 0.05.
    • Class com.opengamma.strata.product.rate.IborAveragedFixing extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • fixedRate

          Double fixedRate
          The fixed rate for the fixing date, optional. A 5% rate will be expressed as 0.05.

          In certain circumstances two counterparties agree the rate of a fixing when the contract starts. It is used in place of an observed fixing. Other calculation elements, such as gearing or spread, still apply.

          If the value not present, which is the normal case, then the rate is observed via the normal fixing process.

        • observation

          IborIndexObservation observation
          The Ibor index observation to use to determine a rate for the reset period.
        • weight

          double weight
          The weight to apply to this fixing.

          If the averaging is unweighted, then all weights must be one.

    • Class com.opengamma.strata.product.rate.IborAveragedRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialization Methods

        • readResolve

          private Object readResolve()
      • Serialized Fields

        • fixings

          ImmutableList<IborAveragedFixing> fixings
          The list of fixings.

          A fixing will be taken for each reset period, with the final rate being an average of the fixings.

    • Class com.opengamma.strata.product.rate.IborInterpolatedRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • longObservation

          IborIndexObservation longObservation
          The longer Ibor index observation.

          The rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.

        • shortObservation

          IborIndexObservation shortObservation
          The shorter Ibor index observation.

          The rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-1M'.

    • Class com.opengamma.strata.product.rate.IborRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
    • Class com.opengamma.strata.product.rate.InflationEndInterpolatedRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endObservation

          PriceIndexObservation endObservation
          The observation at the end.

          The inflation rate is the ratio between the start index value and the interpolated end observations. The end month is typically three months before the end of the period.

        • endSecondObservation

          PriceIndexObservation endSecondObservation
          The observation for interpolation at the end.

          The inflation rate is the ratio between the start index value and the interpolated end observations. The month is typically one month after the month of the end observation.

        • startIndexValue

          double startIndexValue
          The start index value.

          The published index value of the start month.

        • weight

          double weight
          The positive weight used when interpolating.

          Given two price index observations, typically in adjacent months, the weight is used to determine the adjusted index value. The value is given by the formula (weight * price_index_1 + (1 - weight) * price_index_2).

    • Class com.opengamma.strata.product.rate.InflationEndMonthRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endObservation

          PriceIndexObservation endObservation
          The observation at the end.

          The inflation rate is the ratio between the start index value and end observation. The end month is typically three months before the end of the period.

        • startIndexValue

          double startIndexValue
          The start index value.

          The published index value of the start month.

    • Class com.opengamma.strata.product.rate.InflationInterpolatedRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endObservation

          PriceIndexObservation endObservation
          The observation at the end.

          The inflation rate is the ratio between the interpolated start and end observations. The end month is typically three months before the end of the period.

        • endSecondObservation

          PriceIndexObservation endSecondObservation
          The observation for interpolation at the end.

          The inflation rate is the ratio between the interpolated start and end observations. The month is typically one month after the month of the end observation.

        • startObservation

          PriceIndexObservation startObservation
          The observation at the start.

          The inflation rate is the ratio between the interpolated start and end observations. The start month is typically three months before the start of the period.

        • startSecondObservation

          PriceIndexObservation startSecondObservation
          The observation for interpolation at the start.

          The inflation rate is the ratio between the interpolated start and end observations. The month is typically one month after the month of the start observation.

        • weight

          double weight
          The positive weight used when interpolating.

          Given two price index observations, typically in adjacent months, the weight is used to determine the adjusted index value. The value is given by the formula (weight * price_index_1 + (1 - weight) * price_index_2).

    • Class com.opengamma.strata.product.rate.InflationMonthlyRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endObservation

          PriceIndexObservation endObservation
          The observation at the end.

          The inflation rate is the ratio between the start and end observation. The end month is typically three months before the end of the period.

        • startObservation

          PriceIndexObservation startObservation
          The observation at the start.

          The inflation rate is the ratio between the start and end observation. The start month is typically three months before the start of the period.

    • Class com.opengamma.strata.product.rate.OvernightAveragedDailyRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endDate

          LocalDate endDate
          The end date of the accrual period.

          This is not necessarily a valid business day. In this case, the last fixing date is the previous business day of the end date on fixingCalendar.

        • fixingCalendar

          HolidayCalendar fixingCalendar
          The resolved calendar that the index uses.
        • index

          OvernightIndex index
          The Overnight index.

          The rate to be paid is based on this index. It will be a well known market index such as 'GBP-SONIA'.

        • startDate

          LocalDate startDate
          The start date of the accrual period.

          This is not necessarily a valid business day. In this case, the first fixing date is the previous business day of the start date on fixingCalendar.

    • Class com.opengamma.strata.product.rate.OvernightAveragedRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endDate

          LocalDate endDate
          The fixing date associated with the end date of the accrual period.

          The overnight rate is accrued until the maturity date associated with this date.

          In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.

        • fixingCalendar

          HolidayCalendar fixingCalendar
          The resolved calendar that the index uses.
        • index

          OvernightIndex index
          The Overnight index.

          The rate to be paid is based on this index. It will be a well known market index such as 'GBP-SONIA'.

        • rateCutOffDays

          int rateCutOffDays
          The number of business days before the end of the period that the rate is cut off.

          When a rate cut-off applies, the final daily rate is determined this number of days before the end of the period, with any subsequent days having the same rate.

          The amount must be zero or positive. A value of zero or one will have no effect on the standard calculation. The fixing holiday calendar of the index is used to determine business days.

          For example, a value of 3 means that the rate observed on (periodEndDate - 3 business days) is also to be used on (periodEndDate - 2 business days) and (periodEndDate - 1 business day).

          If there are multiple accrual periods in the payment period, then this should typically only be non-zero in the last accrual period.

        • startDate

          LocalDate startDate
          The fixing date associated with the start date of the accrual period.

          This is also the first fixing date. The overnight rate is observed from this date onwards.

          In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.

    • Class com.opengamma.strata.product.rate.OvernightCompoundedAnnualRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endDate

          LocalDate endDate
          The fixing date associated with the end date of the accrual period.

          The overnight rate is observed until this date.

          In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.

        • fixingCalendar

          HolidayCalendar fixingCalendar
          The resolved calendar that the index uses.
        • index

          OvernightIndex index
          The Overnight index.

          The rate to be paid is based on this index.

        • startDate

          LocalDate startDate
          The fixing date associated with the start date of the accrual period.

          This is also the first fixing date. The overnight rate is observed from this date onwards.

          In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.

    • Class com.opengamma.strata.product.rate.OvernightCompoundedRateComputation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endDate

          LocalDate endDate
          The fixing date associated with the end date of the accrual period.

          The overnight rate is observed until this date.

          In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.

        • fixingCalendar

          HolidayCalendar fixingCalendar
          The resolved calendar that the index uses.
        • index

          OvernightIndex index
          The Overnight index.

          The rate to be paid is based on this index. It will be a well known market index such as 'GBP-SONIA'.

        • rateCutOffDays

          int rateCutOffDays
          The number of business days before the end of the period that the rate is cut off.

          When a rate cut-off applies, the final daily rate is determined this number of days before the end of the period, with any subsequent days having the same rate.

          The amount must be zero or positive. A value of zero or one will have no effect on the standard calculation. The fixing holiday calendar of the index is used to determine business days.

          For example, a value of 3 means that the rate observed on (periodEndDate - 3 business days) is also to be used on (periodEndDate - 2 business days) and (periodEndDate - 1 business day).

          If there are multiple accrual periods in the payment period, then this should typically only be non-zero in the last accrual period.

        • startDate

          LocalDate startDate
          The fixing date associated with the start date of the accrual period.

          This is also the first fixing date. The overnight rate is observed from this date onwards.

          In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.

  • Package com.opengamma.strata.product.swap

    • Class com.opengamma.strata.product.swap.FixedRateCalculation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert schedule period dates to a numerical value.

        • finalStub

          FixedRateStubCalculation finalStub
          The final stub, optional.

          The final stub of a swap may have a different rate from the regular accrual periods. This property allows the stub rate to be specified, either as a known amount or a rate. If this property is not present, then the rate derived from the rate property applies during the stub. If this property is present and there is no initial stub, it is ignored.

        • futureValueNotional

          FutureValueNotional futureValueNotional
          The future value notional.

          This property is used when the fixed leg of a swap has a future value notional. This is typically used for Brazilian swaps.

        • initialStub

          FixedRateStubCalculation initialStub
          The initial stub, optional.

          The initial stub of a swap may have a different rate from the regular accrual periods. This property allows the stub rate to be specified, either as a known amount or a rate. If this property is not present, then the rate derived from the rate property applies during the stub. If this property is present and there is no initial stub, it is ignored.

        • rate

          ValueSchedule rate
          The interest rate to be paid. A 5% rate will be expressed as 0.05.

          This defines the rate as an initial amount and a list of adjustments. The rate is only permitted to change at accrual period boundaries.

    • Class com.opengamma.strata.product.swap.FixedRateStubCalculation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • fixedRate

          Double fixedRate
          The fixed rate to use in the stub. A 5% rate will be expressed as 0.05.

          If the fixed rate is present, then knownAmount must not be present.

        • knownAmount

          CurrencyAmount knownAmount
          The known amount to pay/receive for the stub.

          If the known amount is present, then fixedRate must not be present.

    • Class com.opengamma.strata.product.swap.FutureValueNotional extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • dayCountDays

          Integer dayCountDays
          The number of days in the calculation period.

          This defines the number of days from the adjusted start date to the adjusted end date as calculated by the day count.

        • value

          Double value
          The amount.

          The future value notional amount, derived as per the standard formula.

        • valueDate

          LocalDate valueDate
          The value date.

          This is the adjusted value date of the future value amount, which is the adjusted end date.

    • Class com.opengamma.strata.product.swap.FxReset extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • observation

          FxIndexObservation observation
          The FX index observation.

          This defines the observation of the index used to obtain the FX reset rate.

          An FX index is a daily rate of exchange between two currencies. Note that the order of the currencies in the index does not matter, as the conversion direction is fully defined by the currency of the reference amount.

        • referenceCurrency

          Currency referenceCurrency
          The currency of the notional amount defined in the contract.

          This is the currency of notional amount as defined in the contract. The amount will be converted from this reference currency to the swap leg currency when calculating the value of the leg.

          The reference currency must be one of the two currencies of the index.

          The reference currency is also known as the constant currency.

    • Class com.opengamma.strata.product.swap.FxResetCalculation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • fixingDateOffset

          DaysAdjustment fixingDateOffset
          The offset of the FX reset fixing date from each adjusted accrual date.

          The offset is applied to the base date specified by fixingRelativeTo. The offset is typically a negative number of business days.

          When building, this will default to the fixing offset of the index if not specified.

        • fixingRelativeTo

          FxResetFixingRelativeTo fixingRelativeTo
          The base date that each FX reset fixing is made relative to, defaulted to 'PeriodStart'.

          The FX reset fixing date is relative to either the start or end of each accrual period.

        • index

          FxIndex index
          The FX index used to obtain the FX reset rate.

          This is the index of FX used to obtain the FX reset rate. An FX index is a daily rate of exchange between two currencies. Note that the order of the currencies in the index does not matter, as the conversion direction is fully defined by the reference and swap leg currencies.

        • initialNotionalValue

          Double initialNotionalValue
          The initial notional value, specified in the payment currency.

          If present, this fixed amount represents the notional of the initial period of the swap leg, with no FX reset being applied.

          If not present, the initial notional amount is calculated by applying an fx conversion to the reference currency in the same manner as all other period notional calculations.

        • referenceCurrency

          Currency referenceCurrency
          The currency of the notional amount defined in the contract.

          This is the currency of notional amount as defined in the contract. The amount will be converted from this reference currency to the swap leg currency when calculating the value of the leg.

          The reference currency must be one of the two currencies of the index.

          The reference currency is also known as the constant currency.

    • Class com.opengamma.strata.product.swap.FxResetNotionalExchange extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • notionalAmount

          CurrencyAmount notionalAmount
          The notional amount, positive if receiving, negative if paying.

          The notional amount applicable during the period. The currency of the notional is specified by referenceCurrency but will be paid after FX conversion using the index.

        • observation

          FxIndexObservation observation
          The FX index observation.

          This defines the observation of the index used to obtain the FX reset rate.

          An FX index is a daily rate of exchange between two currencies. Note that the order of the currencies in the index does not matter, as the conversion direction is fully defined by the currency of the reference amount.

        • paymentDate

          LocalDate paymentDate
          The date that the payment is made.

          Each payment event has a single payment date. This date has been adjusted to be a valid business day.

    • Class com.opengamma.strata.product.swap.IborRateCalculation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert dates to a numerical value.

          When building, this will default to the day count of the index if not specified.

        • finalStub

          IborRateStubCalculation finalStub
          The rate to be used in final stub, optional.

          The final stub of a swap may have different rate rules to the regular accrual periods. A fixed rate may be specified, a different floating rate or a linearly interpolated floating rate. This may not be present if there is no final stub, or if the index during the stub is the same as the main floating rate index.

          If this property is not present, then the main index applies during any final stub. If this property is present and there is no final stub, it is ignored.

        • firstFixingDateOffset

          DaysAdjustment firstFixingDateOffset
          The offset of the first fixing date from the first adjusted reset date, optional.

          If present, this offset is used instead of fixingDateOffset for the first reset period of the swap, which will be either an initial stub or the first reset period of the first regular accrual period.

          The offset is applied to the base date specified by fixingRelativeTo. The offset is typically a negative number of business days.

          If this property is not present, then the fixingDateOffset applies to all fixings.

        • firstRate

          Double firstRate
          The rate of the first reset period, which may be a stub, optional. A 5% rate will be expressed as 0.05.

          In certain circumstances two counterparties agree the rate of the first fixing when the contract starts, and it is used in place of one observed fixing. For all other fixings, the rate is observed via the normal fixing process.

          This property allows the rate of the first reset period to be controlled, irrespective of whether that is an initial stub or a regular period. Other calculation elements, such as gearing or spread, still apply to the rate specified here.

          This property is similar to firstRegularRate. This property operates on the first reset period, whether that is an initial stub or a regular period. By contrast, firstRegularRate operates on the first regular period, and never on a stub.

          If either firstRegularRate or initialStub are present, this property is ignored.

          If this property is not present, then the first rate is observed via the normal fixing process.

        • firstRegularRate

          Double firstRegularRate
          The rate of the first regular reset period, optional. A 5% rate will be expressed as 0.05.

          In certain circumstances two counterparties agree the rate of the first fixing when the contract starts, and it is used in place of one observed fixing. For all other fixings, the rate is observed via the normal fixing process.

          This property allows the rate of the first reset period of the first regular accrual period to be controlled. Note that if there is an initial stub, this will be the second reset period. Other calculation elements, such as gearing or spread, still apply to the rate specified here.

          If the first rate applies to the initial stub rather than the regular accrual periods it must be specified using initialStub. Alternatively, firstRate can be used.

          This property follows the definition in FpML. See also firstRate.

        • fixingDateOffset

          DaysAdjustment fixingDateOffset
          The offset of the fixing date from each adjusted reset date.

          The offset is applied to the base date specified by fixingRelativeTo. The offset is typically a negative number of business days.

          Note that in most cases, the reset frequency matches the accrual frequency and thus there is only one fixing for the accrual period.

          When building, this will default to the fixing offset of the index if not specified.

        • fixingRelativeTo

          FixingRelativeTo fixingRelativeTo
          The base date that each fixing is made relative to, defaulted to 'PeriodStart'.

          The fixing date is relative to either the start or end of each reset period.

          Note that in most cases, the reset frequency matches the accrual frequency and thus there is only one fixing for the accrual period.

        • gearing

          ValueSchedule gearing
          The gearing multiplier, optional.

          This defines the gearing as an initial value and a list of adjustments. The gearing is only permitted to change at accrual period boundaries.

          When calculating the rate, the fixing rate is multiplied by the gearing. A gearing of 1 has no effect. If both gearing and spread exist, then the gearing is applied first.

          If this property is not present, then no gearing applies.

          Gearing is also known as leverage.

        • index

          IborIndex index
          The Ibor index.

          The rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.

        • initialStub

          IborRateStubCalculation initialStub
          The rate to be used in initial stub, optional.

          The initial stub of a swap may have different rate rules to the regular accrual periods. A fixed rate may be specified, a different floating rate or a linearly interpolated floating rate. This may not be present if there is no initial stub, or if the index during the stub is the same as the main floating rate index.

          If this property is not present, then the main index applies during any initial stub. If this property is present and there is no initial stub, it is ignored.

        • negativeRateMethod

          NegativeRateMethod negativeRateMethod
          The negative rate method, defaulted to 'AllowNegative'.

          This is used when the interest rate, observed or calculated, goes negative. It does not apply if the rate is fixed, such as in a stub or using firstRegularRate.

          Defined by the 2006 ISDA definitions article 6.4.

        • resetPeriods

          ResetSchedule resetPeriods
          The reset schedule, used when averaging rates, optional.

          Most swaps have a single fixing for each accrual period. This property allows multiple fixings to be defined by dividing the accrual periods into reset periods.

          If this property is not present, then the reset period is the same as the accrual period. If this property is present, then the accrual period is divided as per the information in the reset schedule, multiple fixing dates are calculated, and rate averaging performed.

        • spread

          ValueSchedule spread
          The spread rate, with a 5% rate expressed as 0.05, optional.

          This defines the spread as an initial value and a list of adjustments. The spread is only permitted to change at accrual period boundaries. Spread is a per annum rate.

          When calculating the rate, the spread is added to the fixing rate. A spread of 0 has no effect. If both gearing and spread exist, then the gearing is applied first.

          If this property is not present, then no spread applies.

          Defined by the 2006 ISDA definitions article 6.2e.

    • Class com.opengamma.strata.product.swap.IborRateStubCalculation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • fixedRate

          Double fixedRate
          The fixed rate to use in the stub. A 5% rate will be expressed as 0.05.

          In certain circumstances two counterparties agree a fixed rate for the stub. It is used in place of an observed fixing. Other calculation elements, such as gearing or spread, still apply.

          If the fixed rate is present, then knownAmount, index and indexInterpolated must not be present.

        • index

          IborIndex index
          The Ibor index to be used for the stub.

          This will be used throughout the stub unless indexInterpolated is present.

          If the index is present, then fixedRate and knownAmount must not be present.

        • indexInterpolated

          IborIndex indexInterpolated
          The second Ibor index to be used for the stub, linearly interpolated.

          This will be used with index to linearly interpolate the rate. This index may be shorter or longer than index, but not the same.

          If the interpolated index is present, then index must also be present, and fixedRate and knownAmount must not be present.

        • knownAmount

          CurrencyAmount knownAmount
          The known amount to pay/receive for the stub.

          If the known amount is present, then fixedRate, index and indexInterpolated must not be present.

    • Class com.opengamma.strata.product.swap.ImmutableSwapIndex extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • active

          boolean active
          Whether the index is active, defaulted to true.

          Over time some indices become inactive and are no longer produced. If this occurs, this flag will be set to false.

        • fixingTime

          LocalTime fixingTime
          The fixing time.
        • fixingZone

          ZoneId fixingZone
          The time-zone of the fixing time.
        • name

          String name
          The index name.
        • template

          FixedIborSwapTemplate template
          The template for creating Fixed-Ibor swap.
    • Class com.opengamma.strata.product.swap.InflationRateCalculation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • firstIndexValue

          Double firstIndexValue
          The initial value of the index, optional.

          This optional field specifies the initial value of the index. The value is applicable for the first regular accrual period. It is used in place of an observed fixing. Other calculation elements, such as gearing or spread, still apply. After the first accrual period, the rate is observed via the normal fixing process.

          The method InflationRateCalculation.createRateComputation(LocalDate) allows this field to be used as the base for any end date, as typically seen in capital indexed bonds.

          If this property is not present, then the first value is observed via the normal fixing process.

        • gearing

          ValueSchedule gearing
          The gearing multiplier, optional.

          This defines the gearing as an initial value and a list of adjustments.

          When calculating the index, the gearing acts as a overall factor of pay-off. The pay-off is Gearing_Factor * (Index_End / Index_Start - 1). A gearing of 1 has no effect.

          If this property is not present, then no gearing applies.

          Gearing is also known as leverage.

        • index

          PriceIndex index
          The index of prices.

          The pay-off is computed based on this index The most common implementations are provided in PriceIndices.

        • indexCalculationMethod

          PriceIndexCalculationMethod indexCalculationMethod
          Reference price index calculation method.

          This specifies how the reference index calculation occurs.

        • lag

          Period lag
          The positive period between the price index and the accrual date, typically a number of months.

          A price index is typically published monthly and has a delay before publication. The lag is subtracted from the accrual start and end date to locate the month of the data to be observed.

          For example, the September data may be published in October or November. A 3 month lag will cause an accrual date in December to be based on the observed data for September, which should be available by then.

    • Class com.opengamma.strata.product.swap.KnownAmountNotionalSwapPaymentPeriod extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endDate

          LocalDate endDate
          The end date of the payment period.

          This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • fxResetObservation

          FxIndexObservation fxResetObservation
          The FX reset definition, optional.

          This property is used when the defined amount of the notional is specified in a currency other than the currency of the swap leg. When this occurs, the notional amount has to be converted using an FX rate to the swap leg currency.

          The FX reset definition must be valid. The payment currency and the currency of the notional must differ, and the currency pair must be that of the observation.

        • notionalAmount

          CurrencyAmount notionalAmount
          The notional amount, positive if receiving, negative if paying.

          The notional amount applicable during the period. The currency of the notional is typically the same as currency. However, if FX reset applies, the currency will differ.

        • payment

          Payment payment
          The payment.

          This includes the payment date and amount. If the schedule adjusts for business days, then the date is the adjusted date.

        • startDate

          LocalDate startDate
          The start date of the payment period.

          This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • unadjustedEndDate

          LocalDate unadjustedEndDate
          The unadjusted end date.

          The end date before any business day adjustment is applied.

          When building, this will default to the end date if not specified.

        • unadjustedStartDate

          LocalDate unadjustedStartDate
          The unadjusted start date.

          The start date before any business day adjustment is applied.

          When building, this will default to the start date if not specified.

    • Class com.opengamma.strata.product.swap.KnownAmountSwapLeg extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualSchedule

          PeriodicSchedule accrualSchedule
          The accrual period schedule.

          This is used to define the accrual periods. These are used directly or indirectly to determine other dates in the swap.

        • amount

          ValueSchedule amount
          The known amount schedule.

          This defines the schedule of known amounts, relative to the payment schedule. The schedule is defined as an initial amount, with optional changes during the tenor of the swap. The amount is only permitted to change at payment period boundaries.

          Note that the date of the payment is implied by the payment schedule. Any dates in the known amount schedule refer to the payment schedule, not the payment date.

          For example, consider a two year swap where each payment period is 3 months long. This schedule could define two entries, one that defines the payment amounts as GBP 1000 for the first year and one that defines the amount as GBP 500 for the second year. In this case there will be eight payments in total, four payments of GBP 1000 in the first year and four payments of GBP 500 in the second year. Each payment will occur on the date specified using the offset in PaymentSchedule.

        • currency

          Currency currency
          The currency of the swap leg.

          This is the currency of the known payments.

        • paymentSchedule

          PaymentSchedule paymentSchedule
          The payment period schedule.

          This is used to define the payment periods, including any compounding. The payment period dates are based on the accrual schedule.

        • payReceive

          PayReceive payReceive
          Whether the leg is pay or receive.

          A value of 'Pay' implies that the resulting amount is paid to the counterparty. A value of 'Receive' implies that the resulting amount is received from the counterparty. Note that negative interest rates can result in a payment in the opposite direction to that implied by this indicator.

    • Class com.opengamma.strata.product.swap.KnownAmountSwapPaymentPeriod extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • endDate

          LocalDate endDate
          The end date of the payment period.

          This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • payment

          Payment payment
          The payment.

          This includes the payment date and amount. If the schedule adjusts for business days, then the date is the adjusted date.

        • startDate

          LocalDate startDate
          The start date of the payment period.

          This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.

        • unadjustedEndDate

          LocalDate unadjustedEndDate
          The unadjusted end date.

          The end date before any business day adjustment is applied.

          When building, this will default to the end date if not specified.

        • unadjustedStartDate

          LocalDate unadjustedStartDate
          The unadjusted start date.

          The start date before any business day adjustment is applied.

          When building, this will default to the start date if not specified.

    • Class com.opengamma.strata.product.swap.NotionalExchange extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • payment

          Payment payment
          The notional exchange payment.

          This contains the amount to be paid and the date that payment occurs. This date has been adjusted to be a valid business day.

    • Class com.opengamma.strata.product.swap.NotionalSchedule extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • amount

          ValueSchedule amount
          The notional amount.

          This defines the notional as an initial amount and a list of adjustments. The notional expressed here is intended to always be positive.

          The notional is only allowed to change at payment period boundaries. As such, the ValueSchedule steps are defined relative to the payment schedule.

        • currency

          Currency currency
          The currency of the swap leg associated with the notional.

          This is the currency of the swap leg and the currency that interest calculation is made in.

          The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency. See the optional fxReset property.

        • finalExchange

          boolean finalExchange
          The flag indicating whether to exchange the final notional.

          Setting this to true indicates that the notional is transferred at the end of the trade. This should typically be set to true in the case of an FX reset swap, or one with a varying notional.

        • fxReset

          FxResetCalculation fxReset
          The FX reset definition, optional.

          This property is used when the defined amount of the notional is specified in a currency other than the currency of the swap leg. When this occurs, the notional amount has to be converted using an FX rate to the swap leg currency. This conversion occurs at each payment period boundary and usually corresponds to an actual exchange of money between the counterparties.

          When building the notional schedule, if an FxResetCalculation is present, then at least one of the notional exchange flags should be set to true. If all notional exchange flags are false then an IllegalArgumentException is thrown.

        • initialExchange

          boolean initialExchange
          The flag indicating whether to exchange the initial notional.

          Setting this to true indicates that the notional is transferred at the start of the trade. This should typically be set to true in the case of an FX reset swap, or one with a varying notional.

        • intermediateExchange

          boolean intermediateExchange
          The flag indicating whether to exchange the differences in the notional during the lifetime of the swap.

          Setting this to true indicates that the notional is transferred when it changes during the trade. This should typically be set to true in the case of an FX reset swap, or one with a varying notional.

    • Class com.opengamma.strata.product.swap.OvernightRateCalculation extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • accrualMethod

          OvernightAccrualMethod accrualMethod
          The method of accruing overnight interest, defaulted to 'Compounded'.

          Two methods of accrual are supported - compounding and averaging. Averaging is primarily related to the 'USD-FED-FUND' index.

        • dayCount

          DayCount dayCount
          The day count convention.

          This is used to convert dates to a numerical value.

          When building, this will default to the day count of the index if not specified.

        • gearing

          ValueSchedule gearing
          The gearing multiplier, optional.

          This defines the gearing as an initial value and a list of adjustments. The gearing is only permitted to change at accrual period boundaries.

          When calculating the rate, the fixing rate is multiplied by the gearing. A gearing of 1 has no effect. If both gearing and spread exist, then the gearing is applied first.

          If this property is not present, then no gearing applies.

          Gearing is also known as leverage.

        • index

          OvernightIndex index
          The Overnight index.

          The rate to be paid is based on this index It will be a well known market index such as 'GBP-SONIA'.

        • negativeRateMethod

          NegativeRateMethod negativeRateMethod
          The negative rate method, defaulted to 'AllowNegative'.

          This is used when the interest rate, observed or calculated, goes negative. It does not apply if the rate is fixed, such as in a stub or using firstRegularRate.

          Defined by the 2006 ISDA definitions article 6.4.

        • rateCutOffDays

          int rateCutOffDays
          The number of business days before the end of the period that the rate is cut off, defaulted to zero.

          When a rate cut-off applies, the final daily rate is determined this number of days before the end of the period, with any subsequent days having the same rate.

          The amount must be zero or positive. A value of zero or one will have no effect on the standard calculation. The fixing holiday calendar of the index is used to determine business days.

          For example, a value of 3 means that the rate observed on (periodEndDate - 3 business days) is also to be used on (periodEndDate - 2 business days) and (periodEndDate - 1 business day).

          If there are multiple accrual periods in the payment period, then this will only apply to the last accrual period in the payment period.

        • spread

          ValueSchedule spread
          The spread rate, optional. A 5% rate will be expressed as 0.05.

          This defines the spread as an initial value and a list of adjustments. The spread is only permitted to change at accrual period boundaries. Spread is a per annum rate.

          When calculating the rate, the spread is added to the fixing rate. A spread of 0 has no effect. If both gearing and spread exist, then the gearing is applied first.

          If this property is not present, then no spread applies.

          Defined by the 2006 ISDA definitions article 6.2e.

    • Class com.opengamma.strata.product.swap.PaymentSchedule extends Object implements Serializable

      serialVersionUID:
      1L
      • Serialized Fields

        • businessDayAdjustment

          BusinessDayAdjustment businessDayAdjustment
          The business day adjustment to apply, optional.

          Each date in the calculated schedule is determined relative to the accrual schedule. Normally, the accrual schedule is adjusted ensuring each date is not a holiday. As such, there is typically no reason to adjust the date before applying the payment date offset.

          If the accrual dates are unadjusted, or for some other reason, it may be desirable to adjust the schedule dates before applying the payment date offset. This optional property allows that to happen. Note that the payment date offset itself provides the ability to adjust dates after the offset is applied.

        • compoundingMethod

          CompoundingMethod compoundingMethod
          The compounding method to use when there is more than one accrual period, defaulted to 'None'.

          Compounding is used when combining accrual periods.

        • firstRegularStartDate

          LocalDate firstRegularStartDate
          The optional start date of the first regular payment schedule period, which is the end date of the initial stub.

          This is used to identify the boundary date between the initial stub and the first regular period. In most cases there is no need to specify this as it can be worked out from other information. It must be used when there is a need to produce a payment schedule with an initial stub that combines an initial stub from the accrual schedule with the first regular period of the accrual schedule.

          This is an unadjusted date, and as such it might not be a valid business day. It must equal one of the unadjusted dates on the accrual schedule.

          If paymentRelativeTo is 'PeriodEnd' then this field corresponds to firstPaymentDate in FpML.

        • lastRegularEndDate

          LocalDate lastRegularEndDate
          The optional end date of the last regular payment schedule period, which is the start date of the final stub.

          This is used to identify the boundary date between the last regular period and the final stub. In most cases there is no need to specify this as it can be worked out from other information. It must be used when there is a need to produce a payment schedule with a final stub that combines a final stub from the accrual schedule with the last regular period of the accrual schedule.

          Th