863: Precondition ‘isParametric’ on IRD rules is bogus

The precondition ‘isParametric’ is attached to the majority of the IRD rules. The precondition is satisfied (true) where InterestRateStream/cashflows is absent (“does not exist”), or cashflows/cashflowsMatchParameters is true; in other words (informally) in all cases where not(cashflowsMatchParameters is false). The purpose of cashflowsMatchParameters is to declare whether (or not) the content of cashflows (multiple paymentCalculationPeriods, … Continued

862: Knock complex type should force at least one of knockIn or knockOut

The design of the Knock type and its usage with an optional element of the OptionFeatures type means that it is possible to define an equityOption or equityOptionTransactionSupplement that contains a knock feature but omits any definition of the knock in/out levels. e.g. … … … … I suggest that the model for Knock type … Continued

861: fx-46 uses undefined term “either” instead of approved terms

The rule fx-46 uses an undefined term of “either” in conjunction with “or”. The rule should use “or” as defined in the operators section. The rule today is: ” fx-46 (Mandatory) Context: SideRates (complex type) currency1SideRate/sideRateBasis = either “BaseCurrencyPerCurrency1” or “Currency1PerBaseCurrency”. ” Solution 1 – using the union operator “|”: fx-46 (Mandatory) Context: SideRates (complex … Continued

860: rule to prevent circular reference in relative notionals

A rule is needed to prevent circular references in relative notionals. An example failure scenario of a notional reference being circular is a notional referring to itself. In general a new rule is needed. The rule would prohibit circular references within notionals. This is expressed with a function because this is the simplest way to … Continued

859: fx-31 is unclear

The rule today is: ” fx-31 (Mandatory) Context: SideRates (complex type) [same-currency-scheme((baseCurrency,currency1SideRate/currency,currency2SideRate/currency))] baseCurrency != the values of both currency1SideRate/currency and currency2SideRate/currency. ” The problem is that precedence operators (parentheses) are missing. 1st possible interpretation is: “(baseCurrency != currency1SideRate/currency) and (baseCurrency != currency2SideRate/currency)” 2nd possible interpretation is: “baseCurrency != (currency1SideRate/currency and currency2SideRate/currency)” Secondly what does “the … Continued

858: Rule eqd-26 needs to be corrected.

The “numberOfOptions” in the eqd-26 is outside of Context: EquityMultipleExercise Context: EquityMultipleExercise (complex type) eqd-26 (Mandatory) maximumNumberOfOptions

857: Correct fx-45 (revised)

The example invalid-fx-36-02.xml is invalid against rule fx-45 as well as fx-36. Correct invalid-fx-36-02.xml so it is only invalid gainst fx-36.

856: invalid-fx-36-01.xml errors

The example invalid-fx-36-01.xml is invalid against rule fx-42 as well as fx-36. Correct the example so it is only invalid against fx-36.