FpML 4.4 Validation Rules - Rules for Equity Derivatives (EQD)
      
      
         		
          This is the Equity Derivatives part of the validation rule set accompanying the FpML 4.4 Working Draft. The introductory
            section in the draft contains background information and documentation for this page. 
         
         		
          The rules contained on this page contain links to cut down versions of valid and invalid test cases. These test cases have
            been analysed using Systemwire's xlinkit rule engine to highlight relevant document portions accessed by a rule. The cut down
            test cases are non-normative and are provided for the purpose of documentation only. 
         
         	
       
      Content
      
      Namespace
       
         		http://www.fpml.org/spec/fpml-4-4-4-wd-3
         	
      
      Preconditions
      The Validation Preconditions only apply when specific rules reference them. The following preconditions are always to be executed
         relative to the root of the FpML document being validated. The context of the rule is NOT carried through to the precondition.
      
Precondition: SameCurrency All instances of currency values within the context of this rule must be identical. 
         
       
      Rules
      Unique contexts:
      
      
         
            
            					Context: 
            
            					EquityAmericanExercise (complex type)
         
      
      
         eqd-1 (Mandatory)
         
         
            			commencementDate/adjustableDate/unadjustedDate must be equal to ../../../tradeHeader/tradeDate. 
         
         
       
      
         eqd-2 (Mandatory)
         
         
            			expirationDate/adjustableDate/unadjustedDate must be greater than or equal to ../../../tradeHeader/tradeDate. 
         
         
       
      
         eqd-3 (Mandatory)
         
          If latestExerciseTimeType is equal to SpecificTime then latestExerciseTime must be present. 
         
         
       
      
         
            
            					Context: 
            
            					equityBermudaExercise (complex type)
         
      
      
         eqd-4 (Mandatory)
         
         
            			commencementDate/adjustableDate/unadjustedDate must be greater than or equal to ../../../tradeHeader/tradeDate. 
         
         
       
      
         eqd-5 (Mandatory)
         
         
            			expirationDate/adjustableDate/unadjustedDate must be greater than or equal to ../../../tradeHeader/tradeDate. 
         
         
       
      
         eqd-6 (Mandatory)
         
          If latestExerciseTimeType is equal to SpecificTime then latestExerciseTime must be present. 
         
         
       
      
         eqd-8 (Mandatory)
         
          All dates in bermudaExerciseDates/date must be greater than commencementDate/adjustableDate/unadjustedDate. 
         
         
       
      
         eqd-9 (Mandatory)
         
          All dates in bermudaExerciseDates/date must be less than or equal to expirationDate/adjustableDate/unadjustedDate. 
         
         
       
      
         eqd-10 (Mandatory)
         
          The dates in bermudaExerciseDates/date must be unique. 
         
         
       
      
         
            
            					Context: 
            
            					EquityEuropeanExercise (complex type)
         
      
      
         eqd-12 (Mandatory)
         
         
            			expirationDate/adjustableDate/unadjustedDate must be greater than or equal to ../../../tradeHeader/tradeDate. 
         
         
       
      
         
            
            					Context: 
            
            					Trade (complex type)
         
      
      
         eqd-13 (Mandatory)
         
          If equityOption/equityPremium/paymentDate/unadjustedDate exists, it must be greater than or equal to tradeHeader/tradeDate. 
         
         
       
      
         eqd-14 (Mandatory)
         
          If brokerEquityOption/equityPremium/paymentDate/unadjustedDate exists, it must be greater than or equal to tradeHeader/tradeDate. 
         
         
       
      
         
            
            					Context: 
            
            					EquityExerciseValuationSettlement (complex type)
         
      
      
         eqd-15 (Mandatory)
         
          If equityValuation/valuationDate/adjustableDate exists, and equityEuropeanExercise exists, then equityValuation/valuationDate/adjustableDate/unadjustedDate must be equal to equityEuropeanExercise/expirationDate/adjustableDate/unadjustedDate. 
         
         
       
      
         
            
            					Context: 
            
            					EquityMultipleExercise (complex type)
         
      
      
         eqd-16 (Mandatory)
         
         
            			minimumNumberOfOptions < maximumNumberOfOptions. 
         
         
       
      
         
            
            					Context: 
            
            					EquityOption, EquityDerivativeShortFormBase (complex type)
         
      
      
         eqd-17 (Mandatory)
         
          equityExercise/equityAmericanExercise/equityMultipleExercise/maximumNumberOfOptions * equityExercise/equityAmericanExercise/equityMultipleExercise/integralMultipleExercise >= numberOfOptions. 
         
         
       
      
         eqd-18 (Mandatory)
         
          If equityExercise/equityBermudaExercise/equityMultipleExercise exists, and numberOfOptions exists then: maximumNumberOfOptions * integralMultipleExercise (in equityExercise/equityBermudaExercise/equityMultipleExercise) is less than or equal to numberOfOptions. 
         
         
       
      
         eqd-19 (Mandatory)
         
         
          If notional, equityPremium/percentageOfNotional and equityPremium/paymentAmount are present, then equityPremium/paymentAmount/amount = notional/amount * equityPremium/percentageOfNotional
            		
         
         
       
      
         eqd-20 (Mandatory)
         
         
          If numberOfOptions, optionEntitlement, equityPremium/paymentAmount and equityPremium/pricePerOption are present then: equityPremium/pricePerOption/amount * numberOfOptions * optionEntitlement = equityPremium/paymentAmount/amount. 
         
         
       
      
         
            
            					Context: 
            
            					EquityDerivativeBase (complex type)
         
      
      
         eqd-22 (Mandatory)
         
         
            			buyerPartyReference/@href must not be equal to sellerPartyReference/@href
            		
         
         
       
      
         eqd-23 (Mandatory)
         
          If equityEffectiveDate exists then: equityEffectiveDate >= ../tradeHeader/tradeDate
            		
         
         
         
       
      
         
            
            					Context: 
            
            					EquitySchedule (complex type)
         
      
      
         eqd-24 (Mandatory)
         
         
            			startDate <= endDate
            		
         
         
       
      
         
            
            					Context: 
            
            					BrokerEquityOption (complex type)
         
      
      
         eqd-25 (Mandatory)
         
         
          If numberOfOptions, equityPremium/paymentAmount and equityPremium/pricePerOption are present then: equityPremium/pricePerOption/amount * numberOfOptions = equityPremium/paymentAmount/amount. 
         
         
         
       
      Deprecated rules
      
         eqd-7 (Mandatory)
         
         DEPRECATED: 
            			Context: equityBermudaExercise; Description: The elements in bermudaExerciseDates/date should be in order, earliest date first.
            			Rationale for deprecation: Enforcing that data should be in specific order is not permitted.
            		
         
       
      
         eqd-21 (Mandatory)
         
         DEPRECATED: 
            			Context: CalculationAgent; Description: calculationAgentPartyReference must be present.
            			Rationale for deprecation: EQDWG 2007-11-30; agreed that this rule doesn't make any business sense since the calculation agent
            may be specified in the master confirmation or the master agreement.
            		
         
       
      Removed rules
      
         eqd-11 (Mandatory)
         
         REMOVED: 
            			Context: EquityBermudanExercise;Description:latestExerciseTime/hourMinuteTime must be before or equal to  equityExpirationTime/hourMinuteTime.