Package org.isda.cdm

Class Cashflow

  • All Implemented Interfaces:
    com.rosetta.model.lib.GlobalKey

    @RosettaClass
    public class Cashflow
    extends com.rosetta.model.lib.RosettaModelObject
    implements com.rosetta.model.lib.GlobalKey
    A class to specify a cashflow, i.e. the outcome of either of computation (e.g. interest accrual) or an assessment of some sort (e.g. a fee). The cashflow can then be turned into a cash transfer, artefact to be used as the input to a payment system or the outcome of it. The associated rosettaKey denotes the ability to associate a hash value to the Cashflow instantiations for the purpose of model cross-referencing, in support of functionality such as the event effect and the lineage.
    Version:
    2.5.4
    • Method Detail

      • getCashflowAmount

        @RosettaSynonym(value="paymentAmount",source="FpML_5_10") @RosettaSynonym(value="paymentAmount",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="paymentAmount",source="DTCC_11_0") @RosettaSynonym(value="paymentAmount",source="DTCC_9_0") @RosettaSynonym(value="paymentAmount",source="CME_ClearedConfirm_1_17") @RosettaSynonym(value="fixedAmount",source="FpML_5_10") @RosettaSynonym(value="fixedAmount",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="fixedAmount",source="DTCC_11_0") @RosettaSynonym(value="fixedAmount",source="DTCC_9_0") @RosettaSynonym(value="fixedAmount",source="CME_ClearedConfirm_1_17")
        public final Money getCashflowAmount()
        The currency amount of the payment.
      • getCashflowCalculation

        @RosettaSynonym(value="cashflowCalculation",
                        source="Rosetta_Workbench")
        public final java.lang.String getCashflowCalculation()
        This is a conceptual placeholder for providing the breakdown into the cashflow calculation components, leveraging the fact that the CDM provides calculation components, starting with the FixedAmount and the FloatingAmount. Further evaluation of expected usage needs to take place to confirm and prioritize such implementation.
      • getCashflowType

        @RosettaSynonym(value="paymentType",source="FpML_5_10") @RosettaSynonym(value="paymentType",source="DTCC_11_0") @RosettaSynonym(value="paymentType",source="DTCC_9_0") @RosettaSynonym(value="paymentType",source="CME_ClearedConfirm_1_17")
        public final CashflowTypeEnum getCashflowType()
        The qualification of the type of cashflow, e.g. brokerage fee, premium, upfront fee etc. Particularly relevant when it cannot be inferred directly through lineage.
      • getDiscountFactor

        @RosettaSynonym(value="discountFactor",source="FpML_5_10") @RosettaSynonym(value="discountFactor",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="discountFactor",source="DTCC_11_0") @RosettaSynonym(value="discountFactor",source="DTCC_9_0") @RosettaSynonym(value="discountFactor",source="CME_ClearedConfirm_1_17")
        public final java.math.BigDecimal getDiscountFactor()
        The value representing the discount factor used to calculate the present value of the cashflow.
      • getMeta

        public final MetaFields getMeta()
        Specified by:
        getMeta in interface com.rosetta.model.lib.GlobalKey
      • getPayerReceiver

        public final PayerReceiver getPayerReceiver()
      • getPaymentDelay

        @RosettaSynonym(value="paymentDelay",source="FpML_5_10",path="trade.creditDefaultSwap.feeLeg") @RosettaSynonym(value="paymentDelay",source="DTCC_11_0",path="trade.creditDefaultSwap.feeLeg") @RosettaSynonym(value="paymentDelay",source="DTCC_9_0",path="trade.creditDefaultSwap.feeLeg") @RosettaSynonym(value="paymentDelay",source="CME_ClearedConfirm_1_17",path="trade.creditDefaultSwap.feeLeg")
        public final java.lang.Boolean getPaymentDelay()
        Applicable to CDS on MBS to specify whether payment delays are applicable to the fixed Amount. RMBS typically have a payment delay of 5 days between the coupon date of the reference obligation and the payment date of the synthetic swap. CMBS do not, on the other hand, with both payment dates being on the 25th of each month.
      • getPaymentDiscounting

        public final PaymentDiscounting getPaymentDiscounting()
        FpML specifies the FpML PaymentDiscounting.model group for representing the discounting elements that can be associated with a payment.
      • getPremiumExpression

        public final PremiumExpression getPremiumExpression()
        FpML specifies the Premium.model group for representing the option premium when expressed in a way other than an amount.
      • getPresentValueAmount

        @RosettaSynonym(value="presentValueAmount",source="FpML_5_10") @RosettaSynonym(value="presentValueAmount",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="presentValueAmount",source="DTCC_11_0") @RosettaSynonym(value="presentValueAmount",source="DTCC_9_0") @RosettaSynonym(value="presentValueAmount",source="CME_ClearedConfirm_1_17")
        public final Money getPresentValueAmount()
        The amount representing the present value of the forecast payment.
      • metaData

        public com.rosetta.model.lib.meta.RosettaMetaData<? extends Cashflow> metaData()
        Specified by:
        metaData in class com.rosetta.model.lib.RosettaModelObject
      • toBuilder

        public Cashflow.CashflowBuilder toBuilder()
        Specified by:
        toBuilder in class com.rosetta.model.lib.RosettaModelObject
      • process

        public void process​(com.rosetta.model.lib.path.RosettaPath path,
                            com.rosetta.model.lib.process.Processor processor)
        Specified by:
        process in class com.rosetta.model.lib.RosettaModelObject
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object