FINXIS.

EconomicTerms

Type CDM 7.2.0

This 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.

Extends —
Extended by —
Attributes 10
Namespace cdm.product.template

Attributes

All 10 declared on EconomicTerms. Cardinality in amber is required.

NameTypeCard.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.

ReturnType_Total_Requires_Dividends Condition
A total return implies both a price and a dividend return
if payout as PerformancePayout -> returnTerms -> priceReturnTerms -> returnType all = ReturnTypeEnum -> Total
then payout as PerformancePayout -> returnTerms -> dividendReturnTerms exists
LastRegularPaymentDate Condition
FpML specifies that lastRegularPaymentDate must only be included if there is a final stub. As part of the CDM, this data rule has been adjusted to specify that it only applies to interest rate swaps, as the credit derivatives products can have a specified lastRegularPaymentDate while the stub is typically not applicable to those.
if payout as InterestRatePayout -> paymentDates -> lastRegularPaymentDate exists
        and payout as InterestRatePayout -> stubPeriod -> finalStub exists
then payout as InterestRatePayout count = 2
PayRelativeTo Condition
FpML specifies a required payRelativeTo element as part of the PaymentDates. As standardized CDS don't have such payRelativeTo provision, the cardinality has been relaxed as part of the CDM. This data rule specifies that if the product has two interest rate streams, this provision must exist.
if payout as InterestRatePayout count = 2
        and payout as InterestRatePayout -> paymentDates exists
then payout as InterestRatePayout -> paymentDates -> payRelativeTo exists
PaymentDatesAdjustments Condition
FpML specifies a required paymentDatesAdjustments element as part of the PaymentDates. As standardized CDS don't have such paymentDatesAdjustments provision, the cardinality has been relaxed as part of the CDM. This data rule specifies that if the product has two interest rate streams, this provision must exist.
if payout as InterestRatePayout count = 2
        and payout as InterestRatePayout -> paymentDates exists
then payout as InterestRatePayout -> paymentDates -> paymentDatesAdjustments exists
PaymentFrequency Condition
FpML specifies a required paymentFrequency element as part of the PaymentDates. As standardized CDS may not have such paymentFrequency provision, the cardinality has been relaxed as part of the CDM. This data rule specifies that if the product has two interest rate streams, this provision must exist.
if payout as InterestRatePayout count = 2
        and payout as InterestRatePayout -> paymentDates exists
then payout as InterestRatePayout -> paymentDates -> paymentFrequency exists
Quantity Condition
When there is an OptionPayout the quantity can be expressed as part of the payoutQuantity, or as part of the underlier in the case of a Swaption. For all other payouts that extend PayoutBase the payoutQuantity is a mandatory attribute.
if payout as OptionPayout exists
then payout as OptionPayout -> priceQuantity exists
        or payout as OptionPayout -> underlier as Product ->> economicTerms -> payout
            as InterestRatePayout
            count = 2
DayCountFraction Condition
FpML specifies a required dayCountFraction element as part of the swapStream/calculationPeriodAmount/calculation. As standardized CDS don't have such specified day count fraction, the cardinality has been relaxed as part of the CDM. This data rule specifies that if the product has two interest rate streams, this provision must exist.
if payout as InterestRatePayout count = 2
then payout as InterestRatePayout -> dayCountFraction exists
PaymentDates Condition
FpML specifies a required paymentDates element as part of the swapStream. As standardized CDS may not have specified payment dates, the cardinality has been relaxed as part of the CDM. This data rule specifies that if the product has two interest rate streams, this provision must exist.
if payout as InterestRatePayout count = 2
then payout as InterestRatePayout -> dayCountFraction exists
MarketPrice Condition
FpML specifies that marketFixedRate and marketPrice only have meaning in a credit index trade
if payout as CreditDefaultPayout -> generalTerms -> indexReferenceInformation is absent
then payout as CreditDefaultPayout -> transactedPrice -> marketFixedRate is absent
        and payout as CreditDefaultPayout -> transactedPrice -> marketPrice is absent
NotionalResetOnPerformancePayout Condition
Notional reset only applies to return swaps, and therefore can only exist on an performancePayout or interestRatePayouts that are associated with it.
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
NotionalResetInterestRatePayoutExists Condition
As the performancePayout->payoutQuantity->reset attribute applies to return swaps, the interestRatePayout needs to be present alongside it.
if payout as PerformancePayout -> priceQuantity -> reset contains True
then payout as InterestRatePayout exists
FpML_cd_26_28 Condition
FpML validation rule cd-26 - If feeLeg/singlePayment/adjustablePaymentDate exists, then feeLeg/singlePayment/adjustablePaymentDate must be after generalTerms/effectiveDate/unadjustedDate. FpML validation rule cd-28 - If feeLeg/periodicPayment/firstPaymentDate exists, then feeLeg/periodicPayment/firstPaymentDate must be after generalTerms/effectiveDate/unadjustedDate. This data rule tackles those two FpML validation rules at once, as the singlePayment and the firstPayment have been represented through the same Payout/cashflow attribute.
// 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
FpML_cd_27 Condition
FpML validation rule cd-27 - If feeLeg/singlePayment/adjustablePaymentDate exists, and if generalTerms/scheduledTerminationDate exists, then feeLeg/singlePayment/adjustablePaymentDate must be before generalTerms/scheduledTerminationDate/unadjustedDate.
// 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
FpML_cd_30 Condition
FpML validation rule cd-30 - If feeLeg/periodicPayment/lastRegularPaymentDate exists, and if generalTerms/scheduledTerminationDate exists, then feeLeg/periodicPayment/lastRegularPaymentDate must be before generalTerms/scheduledTerminationDate/unadjustedDate.
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
IndependentCalculationAgent Condition
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.

FunctionRoleDescription
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.

Model Browser All 200+ releases
Parsed from CDM 7.2.0 · product-template-type.rosetta cdm.product.template