EconomicTerms
Type CDM 7.2.0This class represents the full set of price-forming features associated with a contractual product: the payout component, the notional/quantity, the effective and termination date and the date adjustment provisions when applying uniformily across the payout components. This class also includes the legal provisions which have valuation implications: cancelable provision, extendible provision, early termination provision and extraordinary events specification.
Attributes
All 10 declared on EconomicTerms. Cardinality in amber is required.
| Name | Type | Card. | Description |
|---|---|---|---|
| effectiveDate | AdjustableOrRelativeDate | 0..1 | The first day of the terms of the trade. This day may be subject to adjustment in accordance with a business day convention. |
| effectiveTime | DirectOrRelativeTime | 0..1 | The time and zone of the first day of the terms of the trade. It can also be specified in relation to another time. |
| terminationDate | AdjustableOrRelativeDate | 0..1 | The last day of the terms of the trade. This date may be subject to adjustments in accordance with the business day convention. It can also be specified in relation to another scheduled date (e.g. the last payment date). |
| terminationTime | DirectOrRelativeTime | 0..1 | The time and zone of the last day of the terms of the trade. It can also be specified in relation to another time. |
| dateAdjustments | BusinessDayAdjustments | 0..1 | The business day adjustment convention when it applies across all the payout components. This specification of the business day convention and financial business centers is used for adjusting any calculation period date if it would otherwise fall on a day that is not a business day in the specified business center. |
| payout | Payout | 1..* | The payout specifies the future cashflow computation methodology which characterizes a financial product. |
| terminationProvision | TerminationProvision | 0..1 | Contains optional provisions pertaining to the termination characteristics of a contract. |
| calculationAgent | CalculationAgent | 0..1 | The ISDA calculation agent responsible for performing duties as defined in the applicable product definitions. |
| nonStandardisedTerms | boolean | 0..1 | Specifies, when boolean value is True, that additional economic terms exist that have not been included in the product representation. |
| collateral | Collateral | 0..1 | Represents the collateral obligations of a party. |
Conditions
Validation rules the model enforces on this type, in Rune. An instance that breaks one of these is invalid CDM, whatever produced it.
if payout as PerformancePayout -> returnTerms -> priceReturnTerms -> returnType all = ReturnTypeEnum -> Total
then payout as PerformancePayout -> returnTerms -> dividendReturnTerms exists if payout as InterestRatePayout -> paymentDates -> lastRegularPaymentDate exists
and payout as InterestRatePayout -> stubPeriod -> finalStub exists
then payout as InterestRatePayout count = 2 if payout as InterestRatePayout count = 2
and payout as InterestRatePayout -> paymentDates exists
then payout as InterestRatePayout -> paymentDates -> payRelativeTo exists if payout as InterestRatePayout count = 2
and payout as InterestRatePayout -> paymentDates exists
then payout as InterestRatePayout -> paymentDates -> paymentDatesAdjustments exists if payout as InterestRatePayout count = 2
and payout as InterestRatePayout -> paymentDates exists
then payout as InterestRatePayout -> paymentDates -> paymentFrequency exists if payout as OptionPayout exists
then payout as OptionPayout -> priceQuantity exists
or payout as OptionPayout -> underlier as Product ->> economicTerms -> payout
as InterestRatePayout
count = 2 if payout as InterestRatePayout count = 2
then payout as InterestRatePayout -> dayCountFraction exists if payout as InterestRatePayout count = 2
then payout as InterestRatePayout -> dayCountFraction exists if payout as CreditDefaultPayout -> generalTerms -> indexReferenceInformation is absent
then payout as CreditDefaultPayout -> transactedPrice -> marketFixedRate is absent
and payout as CreditDefaultPayout -> transactedPrice -> marketPrice is absent payout as CreditDefaultPayout -> priceQuantity -> reset is absent
and payout as AssetPayout -> priceQuantity -> reset is absent
and payout as CommodityPayout -> priceQuantity -> reset is absent
and payout as FixedPricePayout -> priceQuantity -> reset is absent
and payout as SettlementPayout -> priceQuantity -> reset is absent
and payout as OptionPayout -> priceQuantity -> reset is absent if payout as PerformancePayout -> priceQuantity -> reset contains True
then payout as InterestRatePayout exists // Cashflow is no longer part of the product so this condition cannot be tested at the economic terms level.
// Consider adding a generic validation at the trade state level that any cashflow must be between effective and termination dates.
True // Cashflow is no longer part of the product so this condition cannot be tested at the economic terms level.
// Consider adding a generic validation at the trade state level that any cashflow must be between effective and termination dates.
True if payout as InterestRatePayout -> paymentDates -> lastRegularPaymentDate exists
and terminationDate exists
then payout as InterestRatePayout -> paymentDates -> lastRegularPaymentDate all < terminationDate -> adjustableDate -> unadjustedDate or payout as InterestRatePayout -> paymentDates -> lastRegularPaymentDate all < terminationDate -> adjustableDate -> adjustedDate if calculationAgent -> calculationAgentParty exists
then calculationAgent -> calculationAgentParty = AncillaryRoleEnum -> CalculationAgentIndependent Referenced by
2 types hold an EconomicTerms as an attribute.
Functions
Model functions that produce or consume this type. These are the CDM's own behaviour — the logic a correct implementation has to match.
| Function | Role | Description |
|---|---|---|
| ExtractBeforeEconomicTerms | returns | — |
| ExtractOpenEconomicTerms | returns | — |
| MapBondOptionEconomicTerms | returns | — |
| MapBrokerEquityOptionEconomicTerms | returns | — |
| MapCapFloorEconomicTerms | returns | — |
| MapCommodityForwardEconomicTerms | returns | — |
| MapCommodityOptionEconomicTerms | returns | — |
| MapCommoditySwapEconomicTerms | returns | — |
| MapCommoditySwaptionEconomicTerms | returns | — |
| MapCorrelationSwapEconomicTerms | returns | — |
| MapCreditDefaultSwapEconomicTerms | returns | — |
| MapCreditDefaultSwapOptionEconomicTerms | returns | — |
| AuxiliarEffectiveDate | takes | Extracts the effective date of specific products such as interest rate swaps and swaptions. |
| AuxiliarTerminationDate | takes | Extracts the termination date of specific products such as interest rate swaps and swaptions. |
| StandardizedScheduleCommodityForwardNotionalAmount | takes | Extracts the notional amount of a CO forward. Floating price forwards not supported. |
| StandardizedScheduleCommoditySwapFixedFloatNotionalAmount | takes | Extracts the notional amount of a CO fixed float swap. |
| Qualify_Credit_NthToDefault | takes | Qualifies a product as a CR basket Nth to default by checking that 1) it is a credit product with a basket underlier and 2) nth to default information is populated. |
| Qualify_InterestRate_Swaption_Straddle | takes | Qualifies a product as an IR swaption straddle by checking that it is indeed an IR swaption with the option type populated as Straddle. |
| Qualify_InterestRate_SwapWithCallableBermudanRightToEnterExitSwaps | takes | Qualifies a product as an IR swap with bermudan/callable right to enter/exit swaps, by checking it is an IR swap that has an optional early termination with Bermudan style. |
| PaymentDate | takes | — |
| Qualify_AssetClass_InterestRate | takes | Qualifies a product as having the Asset Class classification Interest Rate. |
| Qualify_AssetClass_Credit | takes | Qualifies a product as having the Asset Class classification Credit Default. |
| Qualify_AssetClass_ForeignExchange | takes | Qualifies a product as having the Asset Class classification Foreign Exchange |
| Qualify_AssetClass_Equity | takes | — |
Showing 12 of each. All 1286 functions →
Open EconomicTerms in the Model Browser
Walk the tree and the reference graph interactively, and switch releases to see how the type has changed. Free, no signup.