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
  • Field Details

  • Method Details

    • 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 CumulationFeature> metaData()
      Utility Methods
      Specified by:
      metaData in interface com.rosetta.model.lib.RosettaModelObject
    • getType

      @RuneAttribute("@type") default Class<? extends CumulationFeature> 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