Package cdm.product.common.settlement
Interface CumulationFeature
- All Superinterfaces:
com.rosetta.model.lib.RosettaModelObject
- All Known Subinterfaces:
CumulationFeature.CumulationFeatureBuilder
- All Known Implementing Classes:
CumulationFeature.CumulationFeatureBuilderImpl,CumulationFeature.CumulationFeatureImpl
@RosettaDataType(value="CumulationFeature",
builder=CumulationFeatureBuilderImpl.class,
version="5.30.0")
@RuneDataType(value="CumulationFeature",
model="cdm",
builder=CumulationFeatureBuilderImpl.class,
version="5.30.0")
public interface CumulationFeature
extends com.rosetta.model.lib.RosettaModelObject
Describe provisions which define how the quantity is incremented over time. When cumulationDates only is defined, the cumulation for such particular period is 'guarenteed'. In case the cumulation would be 'contigent', Knock-In conditions may be defined. Besides, a 'lever' may also be defined i.e. multiplier value to apply on the quantity incremented. Main business case is to define 'Accumulator' or 'Decumulator' products, which final payoff calculation eventually consists in applying the payout formula to an aggregated quantity, that being a sum of multiple quantity increment periods - hence the multiple cardinality of this attribute. For intance, say A + B + C + ... + N-1 are distinct cumulation conditions in termsheet, then such payoff would be represented by defining N distinct CumulationFeature in array e.g. CumulationFeature[A], CumulationFeature[B], CumulationFeature[C], [...], CumulationFeature[N-1], each with any appropriate 'guaranteed' or 'contigent' and/or 'levered' features, as need be.
- Version:
- 5.30.0
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceBuilder Interfacestatic classBuilder Implementation of CumulationFeaturestatic classImmutable Implementation of CumulationFeature -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbuild()Build Methodsbuilder()default Class<? extends CumulationFeature> getType()default com.rosetta.model.lib.meta.RosettaMetaData<? extends CumulationFeature> 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
-
build
CumulationFeature build()Build Methods- Specified by:
buildin interfacecom.rosetta.model.lib.RosettaModelObject
-
toBuilder
CumulationFeature.CumulationFeatureBuilder 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
-