Skip to content

sambacha/finanical-instrument-events

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME CATEGORY DESCRIPTION
NewEquitySwapProduct Function Function specification to create an Equity Swap according to the 2018 ISDA CDM Equity Confirmation Template, based on a minimum set of inputs which can (optionally) include a Master Confirmation Agreement. The inputs represent the minimum set of inputs required to create an Equity Swap, either based on an existing Master Confirmation Agreement or as a stand-alone Equity Swap
NewSingleNameEquityPayout Function Function specification to create the equity payout part of an Equity Swap according to the 2018 ISDA CDM Equity Confirmation template.
NewFloatingPayout Function Function specification to create the interest rate (floating) payout part of an Equity Swap according to the 2018 ISDA CDM Equity Confirmation template.
ResolveEquityContract Function Specifies how the updated contract should be constructed in a Equity Reset event.
EquityPriceObservation Function Function specification for the observation of an equity price, based on the attributes of the 'EquityValuation' class.
EquityAmountPayer Function Part 1 Section 12 of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap, Para 71. ' Equity Amount Payer' means: if the Rate Of Return is positive, then the Short Party shall be the Equity Amount Payer; and if the Rate Of Return is negative, then the Long Party shall be the Equity Amount Payer.
EquitySpot Function An external market data lookup for the spot equity price of the reference asset based on a determination method.
ResolveTimeZoneFromTimeType Function Function to resolve a TimeType into a TimeZone based on a determination method.
EquityCashSettlementAmount Function Part 1 Section 12 of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap, Para 72. 'Equity Cash Settlement Amount' means, in respect of an Equity Cash Settlement Date, an amount in the Settlement Currency determined by the Calculation Agent as of the Equity Valuation Date to which the Equity Cash Settlement Amount relates, pursuant to the following formula: Equity Cash Settlement Amount = ABS(Rate Of Return) × Equity Notional Amount.
ResolveEquityPeriodStartPrice Function Resolves the price from the end of the previous period. If first period, then take the initial price.
ResolveEquityPeriodEndPrice Function
EquityPerformance Function Part 1 Section 12 of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap, Para 75. 'Equity Performance' means, in respect of an Equity Cash Settlement Date, an amount in the Settlement Currency determined by the Calculation Agent as of the Equity Valuation Date to which the Equity Cash Settlement Amount relates, pursuant to the following formula: Equity Performance = (Rate Of Return) × Equity Notional Amount.
RateOfReturn Function Part 1 Section 12 of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap, Para 139. 'Rate Of Return' means, in respect of any Equity Valuation Date, the amount determined pursuant to the following formula: Rate Of Return = (Final Price - Initial Price) / Initial Price.
EquityNotionalAmount Function Part 1 Section 12 of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap, Para 74. 'Equity Notional Amount' means the Number Of Securities times the Initial Price, adjusted, if applicable, as provided in Part 1 Section 2.2, 'Equity Notional Reset'. If 'With Reset' is the Equity Notional Reset Election, then in respect of each Equity Cash Settlement Date: (i) the Equity Notional Amount applicable in respect of the first Equity Cash Settlement Date will be the amount specified as such in the definition of Equity Notional Amount; (ii) the Equity Notional Amount applicable in respect of each subsequent Equity Cash Settlement Date will be the sum of (a) the Equity Notional Amount in respect of the prior Equity Cash Settlement Date and (b) the Equity Performance, whether positive or negative, in respect of the prior Equity Cash Settlement Date; and (iii) the Floating Notional Amount will be adjusted as provided in sub-clauses (i) and (ii) above as though it were an Equity Notional Amount.
ResolveEquityInitialPrice Function
StockSplit Function Function specification to create the fully-formed business event which represents the impact of a stock split (or a reverse stock split) on an Equity Derivatives contract on a certain date. The function uses the defined adjustmentRatio to adjust the quantity and price as represented in two business events: QuantityChange and termsChange.
DividendCashSettlementAmount Function Based on the following legal text: means, in respect of a Dividend Period and the related Dividend Cash Settlement Date, an amount in the Settlement Currency determined by the Calculation Agent for such Dividend Period to which the Dividend Cash Settlement Amount relates, pursuant to the following formula: Dividend Cash Settlement Amount = Record Amount × Number Of Securities.
Inception Function Function specification to perform an execution and a contract formation in an atomic BusinessEvent.
Execute Function
NewExecutionPrimitive Function Function specification to compose an execution based on a minimum required set of inputs: product, quantity, parties etc.
FormContract Function Function specification to create the fully-formed business event of entering into a new contract, as a combination of an execution primitive and a contract formation primitive, when there is no allocation involved and the contractual parties are the execution parties. This specification is meant to replace the 'Inception' primitive that previously co-mingled these 2 primitives.
NewContractFormationPrimitive Function Function specification to create a fully-formed contract following execution on a contractual product. The contract can optionally reference a further legal agreement (such as a CSA or a Master Confirmation).
Reset Function
NewResetPrimitive Function Specifies how a Reset Primitive should be constructed.
ResolveUpdatedContract Function The updated contract should be generated differently in different reset scenarios. This function handles how the contract should update according to which payouts are present within the Economic Terms.
TransferCash Function Function specification to build a transfer event following a reset on a contract
NewCashTransferPrimitive Function Function specification to generate a transfer primitive following a reset. The cashflow is being passed as an input, as currently the cashflow is meant to be part of the reset. At a later stage, we should pass the reset value while the cashflow calculation should be executed as part of this spec.
ResolveCashflow Function A product agnostic function that calculates the amount due to be transfered after a Reset Event.
ResolveCashSettlementDate Function A product agnostic function that resolves the settlement date of the payout for the period in question
Allocate Function Function specification to create the fully-formed business event of allocating an execution based on allocation instructions.
NewAllocationPrimitive Function Function specification to create the fully-formed business event of allocating an execution based on allocation instructions.
Settle Function Function specification to create the Transfer event based on an execution's settlement terms. Initial implementation only supports securities settled via delivery vs payment.
NewTransferPrimitive Function Function specification to create the Transfer primitive based on an execution's settlement terms and instructions. Initial implementation only supports creating transfer primitives from securities settled via delivery vs payment.
NewQuantityChangePrimitive Function A specification of the inputs, outputs and constraints when calculating the after state of a Quantity Change Primitive Event
NewPriceChangePrimitive Function
NewTerminatedContractPrimitive Function A specification for terminating a contract. A QuantityChangePrimitive is created with the after set with quantity of 0, and the closed state to be Terminated.
EvaluatePortfolioState Function Function specification to evaluate a portfolio's aggregation parameters and return a new portfolio state containing aggregated positions.
TerminateContract Function
NewExecutionPrimitiveEvent Function
NewContractFormationPrimitiveEvent Function
NewQuantityChangePrimitiveEvent Function
ClearingInstruction Data Type All information required to perform the clear life cycle event
Clear Function Clear function that inputs the alpha contract and clearingInstruction, resulting in the cleared BusinessEvent
Confirmation Data Type A class to specify a trade confirmation.
ConfirmationStatusEnum Enumeration Enumeration for the different types of confirmation status.
Affirmation Data Type A class to specify a trade affirmation.
AffirmationStatusEnum Enumeration Enumeration for the different types of affirmation status.
AmericanExercise Data Type A class defining the exercise period for an American style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.
AmountSchedule Data Type A class to specify a currency amount or a currency amount schedule.
AutomaticExercise Data Type A type to define automatic exercise of a swaption. With automatic exercise the option is deemed to have exercised if it is in the money by more than the threshold amount on the exercise date.
BermudaExercise Data Type A class defining the Bermuda option exercise dates and the expiration date together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fee.
BrokerConfirmation Data Type Identifies the market sector in which the trade has been arranged.
CalculationAgent Data Type A class defining the ISDA calculation agent responsible for performing duties as defined in the applicable product definitions.
CalculationPeriodFrequency Data Type A class to specify the frequency at which calculation period end dates occur within the regular part of the calculation period schedule and their roll date convention.
CashSettlementReferenceBanks Data Type A class defining the list of reference institutions polled for relevant rates or prices when determining the cash settlement amount for a product where cash settlement is applicable.
Collateral Data Type A type for defining the obligations of the counterparty subject to credit support requirements.
ContractualMatrix Data Type
ContractualTermsSupplement Data Type A contractual supplement (such as those published by ISDA) and its publication date that will apply to the trade.
CreditSupportAgreement Data Type The agreement executed between the parties and intended to govern collateral arrangement for all OTC derivatives transactions between those parties.
RelatedAgreement Data Type A class for specifying the legal agreements that govern the contract, either as a reference to such agreements when specified as part of the CDM, or through identification of some of the key terms of those documents, such as the type of document, the document identifier, the publisher, the document vintage and the agreement date.
DocumentationIdentification Data Type A class for defining the definitions that govern the document and should include the year and type of definitions referenced, along with any relevant documentation (such as master agreement) and the date it was signed.
EuropeanExercise Data Type A class defining the exercise period for a European style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.
ExerciseFee Data Type A class defining the fee payable on exercise of an option. This fee may be defined as an amount or a percentage of the notional exercised. As a difference with FpML, it extends the BuyerSeller class.
ExerciseFeeSchedule Data Type A class to define a fee or schedule of fees to be payable on the exercise of an option. This fee may be defined as an amount or a percentage of the notional exercised. As a difference with FpML, it extends the BuyerSeller class.
ExerciseNotice Data Type A class defining to whom and where notice of execution should be given. The partyReference refers to one of the principal parties of the trade. If present the exerciseNoticePartyReference refers to a party, other than the principal party, to whom notice should be given.
ExerciseProcedure Data Type A class describing how notice of exercise should be given. This can be either manual or automatic.
FloatingRateOption Data Type Specification of a floating rate option as a floating rate index and tenor.
FloatingRate Data Type A class defining a floating interest rate through the specification of the floating rate index, the tenor, the multiplier schedule, the spread, the qualification of whether a specific rate treatment and/or a cap or floor apply.
FloatingRateSpecification Data Type A class to specify the floating interest rate by extending the floating rate definition with a set of attributes that specify such rate: the initial value specified as part of the trade, the rounding convention, the averaging method and the negative interest rate treatment.
FutureValueAmount Data Type A class defining a currency and a future value date.
FxRate Data Type A class describing the rate of a currency conversion: pair of currency, quotation mode and exchange rate.
FxSpotRateSource Data Type A class defining the rate source and fixing time for an FX rate.
IndependentAmount Data Type A class specifying the Independent Amount as the combination of a payer/receiver, a payment amount, a payment date and an associated payment calculation rule.
InformationSource Data Type A class defining the source for a piece of information (e.g. a rate fix or an FX fixing). The attribute names have been adjusted from FpML to address the fact that the information is not limited to rates.
InitialFixingDate Data Type A CDM class which purpose is to specify the initial fixing date either alongside the FpML interest rate specification as an offset of another date, or alongside the credit derivative specification as an unadjusted date.
IssuerTradeId Data Type A class for a two-parts identifier, such as a USI.
LastRegularPaymentDate Data Type A class which purpose is to provide the ability into the seemingly incompatible representations of the interest rate and equity last payment date.
ManualExercise Data Type A class defining manual exercise, i.e. that the option buyer counterparty must give notice to the option seller of exercise.
MasterAgreement Data Type A class for defining the agreement executed between the parties and intended to govern all OTC derivatives transactions between those parties.
MasterConfirmation Data Type A class for defining the master confirmation agreement executed between the parties.
Money Data Type A class defining a currency amount.
MultipleExercise Data Type A class defining multiple exercises. As defined in the 2000 ISDA Definitions, Section 12.4. Multiple Exercise, the buyer of the option has the right to exercise all or less than all the unexercised notional amount of the underlying swap on one or more days in the exercise period, but on any such day may not exercise less than the minimum notional amount or more than the maximum notional amount, and if an integral multiple amount is specified, the notional exercised must be equal to or, be an integral multiple of, the integral multiple amount. In FpML, MultipleExercise is built upon the PartialExercise.model.
OptionPhysicalSettlement Data Type
OtherAgreement Data Type A class for defining an agreement executed between parties.
PartialExercise Data Type A class defining partial exercise. As defined in the 2000 ISDA Definitions, Section 12.3 Partial Exercise, the buyer of the option may exercise all or less than all the notional amount of the underlying swap but may not be less than the minimum notional amount (if specified) and must be an integral multiple of the integral multiple amount if specified.
PaymentDates Data Type A class to specify the parameters to generate the payment date schedule, either through a parametric representation or by reference to other dates specified in the instance document (e.g. the reset dates or valuation dates). The CDM representation combines the FpML payment dates representation for interest rate and total return swap products by providing the ability to specify the payment dates as a function of some other dates specified in the instance document.
PaymentDetail Data Type
PaymentDiscounting Data Type This class corresponds to the FpML PaymentDiscounting.model group for representing the discounting elements that can be associated with a payment.
PaymentRule Data Type A class defining the payment calculation rule. As of FpML 5.10, percentage rule is the only calculation rule that has been specified as part of the standard.
PremiumExpression Data Type This class corresponds to the FpML Premium.model group for representing the option premium when expressed in a way other than an amount.
Price Data Type Generic description of the price concept applicable across product types, which can be expressed in a number of ways other than simply cash price
PrincipalExchanges Data Type A class defining which principal exchanges occur for the stream.
QuotedCurrencyPair Data Type A class that describes the composition of a rate that has been quoted or is to be quoted. This includes the two currencies and the quotation relationship between the two currencies and is used as a building block throughout the FX specification.
RateObservation Data Type A class defining parameters associated with an individual observation or fixing. This class forms part of the cashflow representation of a stream.
ResetFrequency Data Type A class defining the reset frequency. In the case of a weekly reset, also specifies the day of the week that the reset occurs. If the reset frequency is greater than the calculation period frequency the this implies that more or more reset dates is established for each calculation period and some form of rate averaging is applicable. The specific averaging method of calculation is specified in FloatingRateCalculation. In case the reset frequency is of value T (term), the period is defined by the swap/swapStream/calculationPerioDates/effectiveDate and the swap/swapStream/calculationPerioDates/terminationDate.
Resource Data Type Describes the resource that contains the media representation of a business event (i.e used for stating the Publicly Available Information). For example, can describe a file or a URL that represents the event. This type is an extended version of a type defined by RIXML (www.rixml.org). Rosetta restricts the FpML implementation by not providing the ability to associated a document in hexadecimalBinary or base64Binary until such time that actual use cases will come up.
ResourceLength Data Type A class to indicate the length of the resource.
SettlementBase Data Type A base class to be extended by the SettlementTerms, CashSettlementTerms and PhysicalSettlementTerms classes.
SettlementTerms Data Type A class to specify the settlement terms. This class reflects the FpML OptionSettlement.model, although with no option reference.
SettlementRateSource Data Type A class describing the method for obtaining a settlement rate.
SimplePayment Data Type A class to specified payments in a simpler fashion than the Payment type. This construct should be used from the FpML version 4.3 onwards.
SpreadSchedule Data Type Adds an optional spread type element to the Schedule to identify a long or short spread value.
Strike Data Type A class describing a single cap or floor rate.
StrikeSchedule Data Type A class describing a schedule of cap or floor rates.
StubFloatingRate Data Type A class defining a floating rate.
StubValue Data Type A type defining how a stub calculation period amount is calculated. A single floating rate tenor different to that used for the regular part of the calculation periods schedule may be specified, or two floating rate tenors many be specified. If two floating rate tenors are specified then Linear Interpolation (in accordance with the 2000 ISDA Definitions, Section 8.3 Interpolation) is assumed to apply. Alternatively, an actual known stub rate or stub amount may be specified.
TradeDate Data Type A class to specify the contract's trade date alongside an identifier.
PartyRoleForParty Function
PartyByRole Function Given a collection of party role containers and a party role, return the party for that role if found in the collection
EntityTypeEnum Enumeration The enumerated values to specify the reference entity types corresponding to a list of types defined in the ISDA First to Default documentation.
PayerReceiverEnum Enumeration The enumerated values to specify an interest rate stream payer or receiver party.
AccountTypeEnum Enumeration The enumeration values to qualify the type of account.
NaturalPersonRoleEnum Enumeration The enumerated values for the natural person's role.
PartyIdSourceEnum Enumeration The enumeration values associated with party identifier sources.
PartyRoleEnum Enumeration The enumerated values for the party role. The enumerated values go beyond the FpML partyRoleScheme as they also include elements that are part of the FpML Trade, such as the Barrier Determination Agent and the Hedging Party.
TelephoneTypeEnum Enumeration The enumerated values to specify the type of telephone number, e.g. work vs. mobile.
AssignedIdentifier Data Type A class to specify the identifier value and its associated version.
Identifier Data Type A class to specify a generic identifier, applicable to CDM artefacts such as executions, contracts, lifecycle events and legal documents. An issuer can be associated with the actual identifier value as a way to properly qualify it.
ExecutingEntity Data Type
FxMarkToMarket Function Representation of sample mark to market calculation provided by a member firm.
InterpolateForwardRate Function
BondOptionStrike Data Type A class to specify the strike of a bond or convertible bond option.
MakeWholeAmount Data Type A class to specify the amount to be paid by the buyer of the option if the option is exercised prior to the Early Call Date (typically applicable to the convertible bond options).
ReferenceSwapCurve Data Type A complex type used to specify the option and convertible bond option strike when expressed in reference to a swap curve.
SwapCurveValuation Data Type A class to specify a valuation swap curve, which is used as part of the strike construct for the bond and convertible bond options.
ActualPrice Data Type
CommoditySet Data Type
ConstituentWeight Data Type A class describing the weight of each of the underlier constituent within the basket, either in absolute or relative terms.
DividendPayout Data Type A class describing the dividend payout ratio associated with an equity underlier. In certain cases the actual ratio is not known on trade inception, and only general conditions are then specified.
Underlier Data Type A class describing the whole set of possible underliers: single underliers or multiple underliers, each of these having either security or index components.
Asian Data Type As per ISDA 2002 Definitions.
AveragingObservationList Data Type An unordered list of weighted averaging observations.
AveragingPeriod Data Type Period over which an average value is taken.
AveragingSchedule Data Type Class to representing a method for generating a series of dates.
Barrier Data Type As per ISDA 2002 Definitions.
CalendarSpread Data Type A type for defining a calendar spread feature.
Composite Data Type Specifies the conditions to be applied for converting into a reference currency when the actual currency rate is not determined upfront.
CreditEvents Data Type A class to specify the applicable Credit Events that would trigger a settlement, as specified in the related Confirmation and defined in the ISDA 2014 Credit Definition article IV section 4.1.
CreditEventNotice Data Type
FailureToPay Data Type
FeaturePayment Data Type Payment made following trigger occurrence.
FxFeature Data Type A type for defining FX Features.
GracePeriodExtension Data Type
Knock Data Type Knock In means option to exercise comes into existence. Knock Out means option to exercise goes out of existence.
NotifyingParty Data Type
OptionDenomination Data Type Class which corresponds to the FpML OptionDenomination.model group.
OptionFeature Data Type A class for defining option features.
OptionProvision Data Type A class for defining option provisions.
OptionSettlement Data Type The option settlement terms, which can either be cash, physical, or fx-based cash-settlement. This class can be used for both the settlement of options or forwards.
OptionStrike Data Type A class to specify the option strike.
OptionStyle Data Type The qualification of the option style: American, Bermuda or European. FpML implements those features as part of a substitution group.
PassThrough Data Type Type which contains pass through payments.
PassThroughItem Data Type Class to represent a single pass through payment.
PubliclyAvailableInformation Data Type
Quanto Data Type Determines the currency rate that the seller of the equity amounts will apply at each valuation date for converting the respective amounts into a currency that is different from the currency denomination of the underlier.
Restructuring Data Type
StrategyFeature Data Type A class for defining option strategy features.
StrikeSpread Data Type A class for defining a strike spread feature.
Trigger Data Type Trigger point at which feature is effective.
TriggerEvent Data Type Observation point for trigger.
WeightedAveragingObservation Data Type A single weighted averaging observation.
AdditionalFixedPayments Data Type A class to specify the events that will give rise to the payment additional fixed payments.
BasketReferenceInformation Data Type CDS Basket Reference Information.
CalculationAmount Data Type
CashSettlementTerms Data Type In FpML, PhysicalSettlementTerms and CashSettlementTerms extend SettlementTerms. In the CDM, this extension paradigm has not been used because SettlementTerms class has been used for purposes related to securities transactions, while it is not used as such in the FpML standard (i.e. only as an abstract construct.
DeliverableObligations Data Type A class to specify all the ISDA terms relevant to defining the deliverable obligations.
FloatingAmountEvents Data Type A class to specify the ISDA terms relating to the floating rate payment events and the implied additional fixed payments, applicable to the credit derivatives transactions on mortgage-backed securities with pay-as-you-go or physical settlement.
FloatingAmountProvisions Data Type
IndexReferenceInformation Data Type A class defining a Credit Default Swap Index.
InterestShortFall Data Type A class to specify the interest shortfall floating rate payment event.
LoanParticipation Data Type A class to specify loan with a participation agreement whereby the buyer is capable of creating, or procuring the creation of, a contractual right in favour of the seller that provides the seller with recourse to the participation seller for a specified share in any payments due under the relevant loan which are received by the participation seller. ISDA 2003 Term: Direct Loan Participation.
MultipleValuationDates Data Type
PCDeliverableObligationCharac Data Type A class to specify the Partial Cash Deliverable Obligation Characteristic.
PhysicalSettlementPeriod Data Type
PhysicalSettlementTerms Data Type In FpML, PhysicalSettlementTerms and CashSettlementTerms extend SettlementTerms. In the CDM, this extension paradigm has not been used because SettlementTerms class has been used for purposes related to securities transactions, while it is not used as such in the FpML standard (i.e. only as an abstract construct.
ProtectionTerms Data Type A class to specify the terms for calculating a payout to protect the buyer of the swap in the case of a qualified credit event. These terms include the notional amount, the applicable credit events, the reference obligation, and in the case of a CDS on mortgage-backed securities, the floatingAmountEvents.
ReferenceInformation Data Type A class specifying the Credit Default Swap Reference Information.
ReferenceObligation Data Type A class to specify the reference obligation that is associated with a credit derivative instrument.
ReferencePair Data Type
ReferencePool Data Type This type contains all the reference pool items to define the reference entity and reference obligation(s) in the basket.
ReferencePoolItem Data Type This type contains all the constituent weight and reference information.
SettledEntityMatrix Data Type A class to specify the Relevant Settled Entity Matrix.
SingleValuationDate Data Type A class to specify the number of business days after satisfaction of all conditions to settlement.
Tranche Data Type The class to represent a CDS Tranche.
ValuationDate Data Type
ObligationCategoryEnum Enumeration The enumerated values used in both the obligations and deliverable obligations of the credit default swap to represent a class or type of securities which apply.
BusinessCenterEnum Enumeration The enumerated values to specify the business centers.
BusinessDayConventionEnum Enumeration The enumerated values to specify the convention for adjusting any relevant date if it would otherwise fall on a day that is not a valid business day.
DayOfWeekEnum Enumeration The enumerated values to specify a day of the seven-day week.
DayTypeEnum Enumeration The enumerated values to specify the day type classification used in counting the number of days between two dates.
PeriodEnum Enumeration The enumerated values to specify the period, e.g. day, week.
PeriodExtendedEnum Enumeration The enumerated values to specify a time period containing the additional value of Term.
PeriodTimeEnum Enumeration The enumeration values to specify a time period containing additional values such as Term.
TimeUnitEnum Enumeration The enumeration values to qualify the allowed units of time.
CallingPartyEnum Enumeration Identifies a party to the on-demand repo transaction that has a right to demand for termination of the repo transaction.
ClosedStateEnum Enumeration The enumerated values to specify what led to the contract or execution closure.
PackageTypeEnum Enumeration The enumerated values to specify the type of package transaction.
MarginTypeEnum Enumeration This indicator defines which type of assets (cash or securities) is specified to apply as margin to the repo transaction.
RepoDurationEnum Enumeration A duration code for a Repo (or Securities Lending) transaction. There are many business and market rules that are derived from the duration of the transaction.
NotDomesticCurrency Data Type A class to specify the ISDA 2003 Term: Not Domestic Currency.
Obligations Data Type A class to specify the underlying obligations of the reference entity on which protection is purchased or sold through the Credit Default Swap.
SpecifiedCurrency Data Type
AgencyRatingCriteria Data Type A class to specify multiple credit notations alongside a conditional 'any' or 'all' qualifier.
CollateralIssuerType Data Type A class to allow specification of the type of entity issuing the collateral.
QuasiGovernmentIssuerType Data Type A class to allow specification of different types of Quasi Government collateral.
RegionalGovernmentIssuerType Data Type A class to allow specification of different type of Regional government collateral.
SpecialPurposeVehicleIssuerType Data Type A class to allow specification of different types of special purpose vehicle (SPV) collateral.
CollateralProductType Data Type A class to allow specification of the asset product type.
CollateralValuationPercentage Data Type
EligibleCollateral Data Type Set of criteria used to specify eligible collateral.
EligibleCollateralCriteria Data Type Criteria used to specify eligible collateral.
IssuerCriteria Data Type Criteria used to specify eligible collateral issuers.
ProductCriteria Data Type Criteria used to specify eligible collateral assets.
BondType Data Type Specification of the type of bond
BondEconomics Data Type Specification of the economics of the bond
AdditionalTypeEnum Enumeration The enumerated values to specify the Additional Type of transaction that can require the collection or delivery of initial margin under a given regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B).
AmendmentEffectiveDateEnum Enumeration The enumerated values to specify the effective date of the Amendment to Termination Currency when specified as a specific date (e.g. the annex date). ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (t).
CollateralAssetDefinitionsEnum Enumeration The ISDA Collateral Assets Definitions as published by ISDA in the 2003 ISDA Collateral Asset Definitions.
CreditRatingAgencyEnum Enumeration The enumerated values to specify the rating agencies.
DeliveryAmountElectionEnum Enumeration The enumerated values to specify the application of Interest Amount with respect to the Delivery Amount through standard language. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii).
HoldingPostedCollateralEnum Enumeration The enumerated values to specify condition(s) required by a party from the other party to hold its posted collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(i): Eligibility to Hold Posted Collateral (VM); Custodians (VM).
IndependentAmountEligibilityEnum Enumeration The enumerated values to specify the instances where the independent amount eligible collateral is not defined as a set of eligible collateral assets.
InterestAdjustmentPeriodicityEnum Enumeration The enumerated values to specify the interest adjustment periodicity election through standard language. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii).
LegalAgreementNameEnum Enumeration The enumerated values to specify the legal agreement name.
LegalAgreementPublisherEnum Enumeration The enumerated values to specify the legal agreement publisher.
MarginApproachEnum Enumeration 2018 Credit Suport Annex For Initial Margin, Paragraph 3: Credit Support Obligations. (c) (iii) Margin Approach.
NoThresholdEnum Enumeration The enumerated value to specify the fact that no threshold applies.
RegulatoryRegimeEnum Enumeration The enumerated values to specify the regulatory regimes. The display name corresponds to the regulatory regime name or acronym specified as part of the Regime table in the ISDA CSA for Initial Margin, paragraph 13, General Principles. 2016 ISDA Credit Support Annex for Initial Margin, paragraph 13, General Principles: Regime.
SensitivitiesEnum Enumeration The enumerated values to specify the methodology according to which sensitivities to (i) equity indices, funds and ETFs, and (ii) commodity indices are computed. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (gg)(2).
SimmExceptionEnum Enumeration The enumerated values to specify the SIMM normalized exceptions applicable to the ISDA 2018 Standard CSA. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles.
SimmExceptionApplicableEnum Enumeration The enumerated values to the specify the SIMM normalized exception approaches applicable to the ISDA 2018 Standard CSA. ISDA 2018 Credit Support Annex for Initial Margin, paragraph 13, General Principles.
RecalculationOfValueElectionEnum Enumeration The enumerated values to specify the Recalculation of Value Terms applicable to the...
ConditionsPrecedentEnum Enumeration The enumerated values to specify the Conditions Precedent applicable to the...
ExecutionLocationEnum Enumeration The enumerated values to specify the Execution Location of a Security Agreement
SecurityAgreementTypeEnum Enumeration The enumerated values to specify the Security Agreement governing the transaction.
ActionEnum Enumeration The enumeration values to specify the actions associated with transactions.
AssetTransferTypeEnum Enumeration The qualification of the type of asset transfer.
CashflowTypeEnum Enumeration The qualification of the type of cash flows associated with OTC derivatives contracts and their lifecycle events.
CommodityReferencePriceEnum Enumeration The enumeration values to specify the Commodity Reference Prices specified in the Annex to the 2005 ISDA Commodity Definitions.
CreditLimitTypeEnum Enumeration The enumeration values to qualify the type of credit limits.
EventTimestampQualificationEnum Enumeration The enumeration values to qualify the timestamps that can be associated with a lifecycle event. The reason for such approach is that the experience of integrating the DTCC and CME data representations suggests that a wide set of timestamps are currently utilized among service providers, while there is not at present an objective set of criteria that could help suggest a defined set of timestamps as part of the CDM. Implementers are expected to evaluate the current enumeration values to determine whether those meet their requirements. If not, they are expected to engage with the CDM team to evaluate the addition of further value(s) to this enumeration, which will then participate to the development of a compendium for further evaluation at a later point in order to determine whether this modeling is appropriate.
IntentEnum Enumeration The enumeration values to qualify the intent associated with a transaction event.
LimitLevelEnum Enumeration The enumeration values to specify the level at which the limit is set: customer business, proprietary business or account level. This is part of the CME specification for clearing credit limits, although not specified as a set of enumerated values as part of the clearing confirmation specification.
OriginatingEventEnum Enumeration The enumeration values to specify the originating event that gave way to the trade.
PaymentStatusEnum Enumeration The enumeration values to specify the payment status.
PaymentTypeEnum Enumeration The enumeration values to specify the type of payment.
SettlementTypeEnum Enumeration The enumeration values to specify how the option is to be settled when exercised.
TransferStatusEnum Enumeration The enumeration values to specify the transfer status.
TransferSettlementEnum Enumeration The enumeration values to specify how the transfer will settle, e.g. DvP.
WarehouseIdentityEnum Enumeration
WorkflowStatusEnum Enumeration
DeliveryAmount Function 2018 Credit Support Annex For Initial Margin, Paragraph 3 (a) Delivery Amount (IM). Subject to Paragraphs 4 and 5, upon a demand made by the Secured Party on or promptly following a Calculation Date (IM), if the Delivery Amount (IM) applicable to the Pledgor for that Calculation Date (IM) equals or exceeds the Pledgor’s Minimum Transfer Amount (IM), then the Pledgor will Transfer to the Secured Party Eligible Credit Support (IM) having a Value as of the date of Transfer at least equal to the applicable Delivery Amount (IM) (rounded pursuant to Paragraph 13). Unless otherwise specified in Paragraph 13, the Delivery Amount (IM) applicable to the Pledgor for any Calculation Date (IM) will equal the amount by which: (i) the Credit Support Amount (IM) applicable to the Pledgor exceeds (ii) the Value as of that Calculation Date (IM) of all Posted Credit Support (IM) held by the Secured Party (as adjusted to include any prior Delivery Amount (IM) and to exclude any prior Return Amount (IM), the transfer of which, in either case, has not yet been completed and for which the relevant Regular Settlement Day falls on or prior to such Calculation Date (IM)).
ReturnAmount Function 2018 Credit Support Annex For Initial Margin, Paragraph 3 (b) Return Amount (IM). Subject to Paragraphs 4 and 5, upon a demand made by the Pledgor on or promptly following a Calculation Date (IM), if the Return Amount (IM) applicable to the Secured Party for that Calculation Date (IM) equals or exceeds the Secured Party’s Minimum Transfer Amount (IM), then the Secured Party will Transfer to the Pledgor Posted Credit Support (IM) specified by the Pledgor in that demand having a Value as of the date of Transfer as close as practicable to (but not more than) the applicable Return Amount (IM) (rounded pursuant to Paragraph 13). Unless otherwise specified in Paragraph 13, the Return Amount (IM) applicable to the Secured Party for any Calculation Date (IM) will equal the amount by which: (i) the Value as of that Calculation Date (IM) of all Posted Credit Support (IM) held by the Secured Party (as adjusted to include any prior Delivery Amount (IM) and to exclude any prior Return Amount (IM), the transfer of which, in either case, has not yet been completed and for which the relevant Regular Settlement Day falls on or prior to such Calculation Date (IM)) exceeds (ii) the Credit Support Amount (IM) applicable to the Pledgor.
CreditSupportAmount Function
UndisputedAdjustedPostedCreditSupportAmount Function
SumPostedCreditSupportItemAmounts Function Loops through each PostedCreditSupportItem, calculating the PostedCreditSupportItemAmount (by executing func PostedCreditSupportItemAmount), and summing the result. Currently loops are not supported in the syntax so the loop must be implemented in code.
PostedCreditSupportItemAmount Function Calculates the Value for the given Posted Credit Support item. Value means, unless otherwise specified in Paragraph 13, for any Calculation Date (IM) or other date for which Value is calculated and subject to Paragraph 5 in the case of a dispute, with respect to: (i) save as provided in clause (ii) below, Eligible Collateral (IM) or Posted Collateral (IM) that is: (A) an amount of Cash, the Base Currency Equivalent of such amount multiplied by (VP – HFX); and (B) a security, the Base Currency Equivalent of the bid price obtained by the Calculation Agent (IM) multiplied by (VP – HFX); where: VP equals the applicable Valuation Percentage; and HFX equals the applicable FX Haircut Percentage, provided that, for the purposes of calculating Value under Paragraph 8(b)(iv)(B) or Paragraph 11(a), the VP will be 100% and HFX will be zero; (ii) Posted Collateral (IM) that consists of items that are, in respect of the relevant posting obligation, deemed as of such date to have a Value of zero pursuant to Paragraph 13, zero; and (iii) Other Eligible Support (IM) and Other Posted Support. (IM), as specified in Paragraph 13.
PostedCreditSupportItem Data Type Posted Credit Support item with corresponding Valuation Percentage, FX Haircut Percentage and any related disputed Posted Credit Support valuation.
Document Data Type
FinInstrmRptgTxRpt Data Type
Tx Data Type
New Data Type
Sellr Data Type
Sngl Data Type
OrdrTrnsmssn Data Type
DerivInstrmAttrbts Data Type
UndrlygInstrm Data Type
AcctOwnr Data Type
InvstmtDcsnPrsn Data Type
Buyr Data Type
Qty Data Type
FinInstrm Data Type
Pric Data Type
Prsn Data Type
FinInstrmGnlAttrbts Data Type
Nm Data Type
SwpOut Data Type
Othr Data Type
ExctgPrsn Data Type
Term Data Type
Swp Data Type
SchmeNm Data Type
RefRate Data Type
AddtlAttrbts Data Type
SwpIn Data Type
Indx Data Type
Id Data Type
CalculationAgentModel Data Type This class corresponds to the FpML CalculationAgent.model.
PackageInformation Data Type A class defining additional information that may be recorded alongside a transaction package.
PartyContractInformation Data Type A class defining party-specific additional information that may be recorded with respect to a contract.
PercentageRule Data Type A class defining a content model for a calculation rule defined as percentage of the notional amount.
AveragingMethodEnum Enumeration The enumerated values to specify the method of calculation to be used when averaging rates. Per ISDA 2000 Definitions, Section 6.2. Certain Definitions Relating to Floating Amounts.
RoundingDirectionEnum Enumeration The enumerated values to specify the rounding direction and precision to be used in the rounding of a rate.
UnitEnum Enumeration The enumeration values to qualify the units of measure. FpML makes use of the priceQuoteUnitsScheme for specifying the units as part of its commodity implementation. Its scope is however deemed too broad for the CDM, as it includes values such as Amount and BasisPoints. As a result, it is deemed inappropriate as a reference scheme for that enumeration.
QuantifierEnum Enumeration The enumerated values to specify a logical quantification, i.e. either All or Any.
CompareOp Enumeration
AssetIdentifier Data Type Generic object to specify an identifier for a quantifiable object, which can either be a product, a currency or a rate option.
Cashflow Data Type 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.
ClosedState Data Type A class to qualify the closed state of an execution or a contract through the combination or a state (e.g. terminated, novated) and a set of dates: activity date, effective date and, when relevant, last payment date.
Contract Data Type A class to specify a financial contract object, which can be invoked either within the context of an event, or independently from it. It corresponds to the FpML Trade in the Confirmation view (while the CDM Execution class corresponds to the FpML trade in the Pre-Trade view). The associated rosettaKey denotes the ability to associate a hash value to the Contract instantiations for the purpose of model cross-referencing, in support of functionality such as the event effect and the lineage.
ContractualProduct Data Type A class to specify the contractual products' economic terms, alongside their product identification and product taxonomy. The contractual product class is meant to be used across the pre-execution, execution and (as part of the Contract) post-execution lifecycle contexts.
FixedRateSpecification Data Type Type defining the specification for a fixed rate.
QuantityMultiplier Data Type Class to specify a mechanism for a quantity to be set as a multiplier to another (reference) quantity, based on a price observation. At the moment this class only supports FX or Equity-linked notional and re-uses existing building blocks for those 2 cases, until such time when component can be made more generic. This captures the case of resetting cross-currency swaps and resetting equity swaps.
ResolvablePayoutQuantity Data Type Generic class to specify the quantity for different payout legs in a contractual product, when that quantity can vary across payout legs or across time. A resolvable quantity can always be resolved into a single quantity from the quantity notation which has a corresponding asset identifier. In addition to the base case, where quantity is directly specified as a number as part of the quantity notation, the other use cases are: (i) quantity based on some pre-defined schedule (eg amortising notional), (ii) quantity based on some pre-defined events (eg resetting cross-currency notional), or quantity set as reference to another quantity (eg equity notional as no. securities x price).
CrossCurrencyTerms Data Type
CreditDefaultPayout Data Type The credit default payout specification provides the details necessary for determining when a credit payout will be triggered as well as the parameters for calculating the payout and the settlement terms. The associated rosettaKey denotes the ability to associate a hash value to the CreditDefaultPayout instantiations for the purpose of model cross-referencing, in support of functionality such as the event effect and the lineage.
EconomicTerms Data Type 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. A rosettaKeyValue is associated to the contractual product economic terms for the purpose of supporting hash-based reconciliations thanks to the fact that its computation doesn't include meta data, such as identifiers, references, schemes and other rosettaKey artefacts. The rosettaKeyValue default implementation is available as part of the generated code as org.isda.cdm.rosettakey.RosettaKeyValueHashFunction.
EquityPayout Data Type The equity payout specification terms. The associated rosettaKey denotes the ability to associate a hash value to the EquityPayout instantiations for the purpose of model cross-referencing, in support of functionality such as the event effect and the lineage.
Execution Data Type A class to specify an execution, which consists essentially in the economic terms which are agreed between the parties, alongside with the qualification of the type of execution. The associated rosettaKey denotes the ability to associate a hash value to the respective Execution instantiations for the purpose of model cross-referencing, in support of functionality such as the event effect and the lineage.
GeneralTerms Data Type A class specifying a set of non-monetary terms for the Credit Derivative Transaction, including the buyer and seller and selected items from the ISDA 2014 Credit Definition article II, such as the reference obligation and related terms. The CDM GeneralTerms class corresponds to the FpML GeneralTerms complex type, except that the effectiveDate and scheduledTerminationDate have been positioned as part of the InterestRatePayout class in the CDM instead of in GeneralTerms.
InterestRatePayout Data Type A class to specify all of the terms necessary to define and calculate a cash flow based on a fixed, a floating or an inflation index rate. The interest rate payout can be applied to interest rate swaps and FRA (which both have two associated interest rate payouts), credit default swaps (to represent the fee leg when subject to periodic payments) and equity swaps (to represent the funding leg). The associated rosettaKey denotes the ability to associate a hash value to the InterestRatePayout instantiations for the purpose of model cross-referencing, in support of functionality such as the event effect and the lineage.
OptionExercise Data Type A class to represent the applicable terms to qualify an option exercise: the option style (e.g. American style option), the exercise procedure (e.g. manual exercise) and the settlement terms (e.g. physical vs. cash).
OptionPayout Data Type The option payout specification terms. The associated rosettaKey denotes the ability to associate a hash value to the respective OptionPayout instantiation for the purpose of model cross-referencing, in support of functionality such as the event effect and the lineage.
SecurityLeg Data Type Terms defining a security leg in a securities financing transaction, which can either be the near leg or the far leg and is closely modelled onto the nearLeg and farLeg types in FpML
SecurityValuation Data Type Terms defining the security valuation method as part of a security leg in a securities fianncing transaction and closely modelled onto the CollateralValuation type in FpML.
SecurityValuationModel Data Type The security valuation model choice, which can either be based on nominal amount as for a bond, or on the number of contract units as for equity.
BondValuationModel Data Type Bond valuation model for the security leg in a securities financing transaction, closely modelled onto the BondCollateral.model in FpML.
BondPriceAndYieldModel Data Type Bond price and yield valuation model for the security leg in a securities financing transaction, closely modelled onto the BondPriceAndYield.model in FpML.
CleanOrDirtyPrice Data Type Class specifying the bond price as either clean or dirty in a bond valuation model.
CleanPrice Data Type Class to specify the clean price of a bond in a bond valuation model, with accruals presented separately, and modelled onto the cleanPrice model in BonPriceAndYield.model in FpML.
RelativePrice Data Type Bond price relative to a benchmark, as in a convertible bond.
BondEquityModel Data Type Bond equity model to value convertible bonds and modelled onto BondEquity.model in FpML.
BondChoiceModel Data Type Either a bond or convertible bond.
UnitContractValuationModel Data Type Unit contract model for security valuation, e.g. for equity, modelled onto UnitContract.model in FpML.
SecurityPayout Data Type Security payout specification in case the product payout involves some form of security collateral, as in a securities financing transaction.
InitialMargin Data Type Defines initial margin applied to a repo transaction. Initial margin is an agreed premium to the Purchase Price of a repo to determine the required Market Value of the collateral to be delivered on the Purchase Date. It reflects quality of the collateral. Its aim is to calculate the risk-adjusted or liquidation value of collateral.
InitialMarginCalculation Data Type Defines the initial margin calculation applicable to a single piece of collateral.
PayoutBase Data Type Base class that all payout types should extend. Use case is that some validation rules may need to apply across all payout types, for which the data rule can be written at the base class level
Payout Data Type A class to represent the set of future cashflow methodologies in the form of specific payout class(es) that can be associated for the purpose of specifying a financial product. For example, two interest rate payouts can be combined to specify an interest rate swap, or one interest rate payout can be combined with a credit default payout to specify a credit default swap.
Product Data Type A class to represent a financial product. With respect to contractual products, this class specifies the pre-execution product characteristics (the ContractualProduct class). This class is used as underlying for the option exercise representation, which makes use of the contractualProduct attribute to support the swaption use case, with the exercise into a swap. In a complete workflow, the swaption contract itself then needs to be superseded by a swap contract underpinned by the exercised swap as a contractualProduct.
TradableProduct Data Type Definition of a product as ready to be traded, i.e. included in an execution or contract, by associating a specific price and quantity to this product plus an (optional) mechanism for any potential future quantity adjustment.
ProductIdentification Data Type A class to combine the CDM product qualifier with other product qualifiers, such as the FpML ones. While the CDM product qualifier is derived by the CDM from the product payout features, the other product identification elements are assigned by some external sources and correspond to values specified by other data representation protocols.
QuantityNotation Data Type Specification of a product's quantity as a single, non-negative amount. The asset identifier qualifies the quantity being specified and can be used as a referencing mechanism in the underlying payout legs to 'resolve' the product, by fetching the actual amount from the appropriate quantity notation. For some product cases, several quantity notations can be associated with a single product: e.g. for an Equity Swap, both the notional and (optionally) the number of securities can be specified, with a validation to check that they are consistent in relation to the equity price.
PriceNotation Data Type Object to specify the price of a product as a single number, which can be negative in some cases, and asset identifier so that it can be positioned in the product. For some product cases, several price notations can be associated with a single product: e.g. for an Equity Swap, both the initial equity price and the rate spread can be specified, which allows factoring of the product definition.
RateSpecificationBase Data Type
RateSpecification Data Type A class to specify the fixed interest rate, floating interest rate or inflation rate.
StubPeriod Data Type A class defining how the initial or final stub calculation period amounts is calculated. For example, the rate to be applied to the initial or final stub calculation period may be the linear interpolation of two different tenors for the floating rate index specified in the calculation period amount component, e.g. A two month stub period may used the linear interpolation of a one month and three month floating rate. The different rate tenors would be specified in this component. Note that a maximum of two rate tenors can be specified. If a stub period uses a single index tenor and this is the same as that specified in the calculation period amount component then the initial stub or final stub component, as the case may be, must not be included.
TransactedPrice Data Type A class to represent the transacted price attributes that are positioned as part of the FpML FeeLeg.
Position Data Type A Position describes how much of a given Product is being held and constitutes the atomic element of a Portfolio.
PositionStatusEnum Enumeration Enumeration to describe the different (risk) states of a Position, whether executed, settled, matured...etc
PortfolioState Data Type State-full representation of a Portfolio that describes all the positions held at a given time, in various states which can be either traded, settled, etc., with lineage information to the previous state
AggregationParameters Data Type Parameters to be used to filter events that are relevant to a given portfolio in order to calculate the state of this portfolio. The attributes correspond to all the possible aggregation criteria that can be used and these criteria can be combined. All the attributes are optional.
Portfolio Data Type A Portfolio represents an aggregation of multiple Positions, by describing the parameters that this Portfolio should be aggregated based on. The resulting PortfolioState is calculated using these aggregation parameters as inputs, by aggregating all the Events that are relevant to this Portfolio. The concept of Portfolio works at all levels in the model: from the highest for a given LegalEntity for instance, to the lowest to account for security substitutions in a secutity financing transaction. As such, Portfolio can be used either above or below the Contract level.
CreditDefaultSwap Function This product qualification is temporary until such time that the ISDA Credit Group specifies a proper taxonomy for credit derivatives that is based upon economic terms.
CreditDefaultSwaption Function This product qualification is temporary until such time that the ISDA Credit Group specifies a proper taxonomy for credit derivatives that is based upon economic terms.
EquitySwap_PriceReturnBasicPerformance_SingleName Function The Price Return Basic Performance equity swap specified in the ISDA taxonomy V2.0 corresponds to the price and total return swaps.
EquitySwap_ParameterReturnDividend_SingleName Function The Parameter Return Dividend equity swap specified in the ISDA taxonomy V2.0 corresponds to the dividend return swap.
InterestRate_IRSwap_Basis Function
InterestRate_IRSwap_FixedFloat_PlainVanilla Function This product qualification doesn't represent the exact terms of the ISDA Taxonomomy V2.0 for the plain vanilla swaps, as some of those cannot be represented as part of the CDM syntax (e.g. the qualification that there is no provision for early termination which uses an off-market valuation), while some other are deemed missing in the ISDA taxonomy and have been added as part of the CDM (absence of cross-currency settlement provision, absence of fixed rate and notional step schedule, absence of stub).
InterestRate_IRSwap_FixedFloat Function
InterestRate_IRSwap_FixedFixed Function
InterestRate_CrossCurrency_Basis Function
InterestRate_CrossCurrency_FixedFloat Function
InterestRate_CrossCurrency_FixedFixed Function