Package org.isda.cdm
Class Cashflow
- java.lang.Object
-
- com.rosetta.model.lib.RosettaModelObject
-
- org.isda.cdm.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Cashflow.CashflowBuilder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Cashflow.CashflowBuilder
builder()
boolean
equals(java.lang.Object o)
Money
getCashflowAmount()
The currency amount of the payment.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.AdjustableOrAdjustedOrRelativeDate
getCashflowDate()
CashflowTypeEnum
getCashflowType()
The qualification of the type of cashflow, e.g.java.math.BigDecimal
getDiscountFactor()
The value representing the discount factor used to calculate the present value of the cashflow.MetaFields
getMeta()
PayerReceiver
getPayerReceiver()
java.lang.Boolean
getPaymentDelay()
Applicable to CDS on MBS to specify whether payment delays are applicable to the fixed Amount.PaymentDiscounting
getPaymentDiscounting()
FpML specifies the FpML PaymentDiscounting.model group for representing the discounting elements that can be associated with a payment.PremiumExpression
getPremiumExpression()
FpML specifies the Premium.model group for representing the option premium when expressed in a way other than an amount.Money
getPresentValueAmount()
The amount representing the present value of the forecast payment.int
hashCode()
com.rosetta.model.lib.meta.RosettaMetaData<? extends Cashflow>
metaData()
void
process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor)
Cashflow.CashflowBuilder
toBuilder()
java.lang.String
toString()
-
-
-
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.
-
getCashflowDate
public final AdjustableOrAdjustedOrRelativeDate getCashflowDate()
-
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 interfacecom.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 classcom.rosetta.model.lib.RosettaModelObject
-
toBuilder
public Cashflow.CashflowBuilder toBuilder()
- Specified by:
toBuilder
in classcom.rosetta.model.lib.RosettaModelObject
-
builder
public static Cashflow.CashflowBuilder builder()
-
process
public void process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor)
- Specified by:
process
in classcom.rosetta.model.lib.RosettaModelObject
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-