Interface ResolvablePriceQuantity

All Superinterfaces:
com.rosetta.model.lib.GlobalKey, com.rosetta.model.lib.RosettaModelObject
All Known Subinterfaces:
ResolvablePriceQuantity.ResolvablePriceQuantityBuilder
All Known Implementing Classes:
ResolvablePriceQuantity.ResolvablePriceQuantityBuilderImpl, ResolvablePriceQuantity.ResolvablePriceQuantityImpl

@RosettaDataType(value="ResolvablePriceQuantity", builder=ResolvablePriceQuantityBuilderImpl.class, version="5.30.0") @RuneDataType(value="ResolvablePriceQuantity", model="cdm", builder=ResolvablePriceQuantityBuilderImpl.class, version="5.30.0") public interface ResolvablePriceQuantity extends com.rosetta.model.lib.RosettaModelObject, com.rosetta.model.lib.GlobalKey
Generic class to specify the quantity for different payout legs in a contractual product, when that quantity can vary across payout legs or across time. A resolvable quantity can always be resolved into a single quantity from the quantity notation which has a corresponding asset identifier. In addition to the base case, where quantity is directly specified as a number as part of the quantity notation, the other use cases are: (i) quantity based on some pre-defined schedule (eg amortising notional), (ii) quantity based on some pre-defined events (eg resetting cross-currency notional), or quantity set as reference to another quantity (eg equity notional as no. securities x price).
Version:
5.30.0
  • Field Details

  • Method Details

    • getQuantityCumulation

      List<? extends CumulationFeature> getQuantityCumulation()
      Describe provisions which define how the quantity is incremented over time.
    • getResolvedQuantity

      Quantity getResolvedQuantity()
      A product's quantity as a single, non-negative amount. When specified as part of a product definition, this quantity attribute would not be set. Instead it is specified on the quantity notation along with an asset identifier matching this payout's asset identifier. This allows the quantity to be resolved for a payout leg, which can then be specified here for convenience during data processing. There needs to be at least one resolvable quantity across payout legs of a product to define an anchor that other payout quantities can refer to. This attribute is ignored when mapping existing FpML messages.
    • getQuantitySchedule

      A payout's quantity specified as a schedule, which may also contain a single value if that quantity is constant. There can only be a single quantity schedule applicable to a payout: e.g. the notional for an interest rate leg. The quantity must be specified outside of the payout in a PriceQuantity object and only referenced inside the payout using an address.
    • getQuantityReference

      Reference quantity when resolvable quantity is defined as relative to another (resolvable) quantity. A resolvable quantity needs to contain either an absolute quantity or a reference to another (resolvable) quantity. This requirement is captured by a choice rule on the class.
    • getQuantityMultiplier

      QuantityMultiplier getQuantityMultiplier()
      Quantity multiplier is specified on top of a reference quantity and is used as a multiplying factor when resolving the quantity. A quantity multiplier can only exist when the resolvable quantity specifies a reference quantity.
    • getReset

      Boolean getReset()
      Whether the quantity is resettable
    • getFutureValueNotional

      FutureValueAmount getFutureValueNotional()
      The future value notional is specific to BRL CDI swaps, and is specified alongside the notional amount. The value is calculated as follows: Future Value Notional = Notional Amount * (1 + Fixed Rate) ^ (Fixed Rate Day Count Fraction). The currency should always match that expressed in the notional schedule. The value date should match the adjusted termination date.
    • getPriceSchedule

      List<? extends ReferenceWithMetaPriceSchedule> getPriceSchedule()
      A payout's price specified as a schedule, which may also contain a single value if that price is constant. There may be multiple prices specified for a single payout: e.g. a floating interest rate leg may specify a spread, a cap and/or floor and a multiplier. The price must be specified outside of the payout in a PriceQuantity object and only referenced inside the payout using an address.
    • getMeta

      com.rosetta.model.metafields.MetaFields getMeta()
      Specified by:
      getMeta in interface com.rosetta.model.lib.GlobalKey
    • build

      Build Methods
      Specified by:
      build in interface com.rosetta.model.lib.RosettaModelObject
    • toBuilder

      Specified by:
      toBuilder in interface com.rosetta.model.lib.RosettaModelObject
    • builder

    • metaData

      default com.rosetta.model.lib.meta.RosettaMetaData<? extends ResolvablePriceQuantity> metaData()
      Utility Methods
      Specified by:
      metaData in interface com.rosetta.model.lib.RosettaModelObject
    • getType

      @RuneAttribute("@type") default Class<? extends ResolvablePriceQuantity> getType()
      Specified by:
      getType in interface com.rosetta.model.lib.RosettaModelObject
    • process

      default void process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor)
      Specified by:
      process in interface com.rosetta.model.lib.RosettaModelObject