Package cdm.product.common.settlement
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
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceBuilder Interfacestatic classBuilder Implementation of ResolvablePriceQuantitystatic classImmutable Implementation of ResolvablePriceQuantityNested classes/interfaces inherited from interface com.rosetta.model.lib.GlobalKey
com.rosetta.model.lib.GlobalKey.GlobalKeyBuilder -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbuild()Build Methodsbuilder()The future value notional is specific to BRL CDI swaps, and is specified alongside the notional amount.com.rosetta.model.metafields.MetaFieldsgetMeta()List<? extends ReferenceWithMetaPriceSchedule> A payout's price specified as a schedule, which may also contain a single value if that price is constant.List<? extends CumulationFeature> Describe provisions which define how the quantity is incremented over time.Quantity multiplier is specified on top of a reference quantity and is used as a multiplying factor when resolving the quantity.Reference quantity when resolvable quantity is defined as relative to another (resolvable) quantity.A payout's quantity specified as a schedule, which may also contain a single value if that quantity is constant.getReset()Whether the quantity is resettableA product's quantity as a single, non-negative amount.default Class<? extends ResolvablePriceQuantity> getType()default com.rosetta.model.lib.meta.RosettaMetaData<? extends ResolvablePriceQuantity> metaData()Utility Methodsdefault voidprocess(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor) Methods inherited from interface com.rosetta.model.lib.RosettaModelObject
processRosetta, processRosetta
-
Field Details
-
metaData
-
-
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
ReferenceWithMetaNonNegativeQuantitySchedule 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
ReferenceWithMetaResolvablePriceQuantity 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:
getMetain interfacecom.rosetta.model.lib.GlobalKey
-
build
ResolvablePriceQuantity build()Build Methods- Specified by:
buildin interfacecom.rosetta.model.lib.RosettaModelObject
-
toBuilder
- Specified by:
toBuilderin interfacecom.rosetta.model.lib.RosettaModelObject
-
builder
-
metaData
Utility Methods- Specified by:
metaDatain interfacecom.rosetta.model.lib.RosettaModelObject
-
getType
- Specified by:
getTypein interfacecom.rosetta.model.lib.RosettaModelObject
-
process
default void process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor) - Specified by:
processin interfacecom.rosetta.model.lib.RosettaModelObject
-