[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Loan WG Meeting - 13 May 2008: 1000EST / 1400GMT



Title: RE: Loan WG Meeting - 13 May 2008: 1000EST / 1400GMT

See updated version of the rules (.html) and zip with testcases.

 

Some minor issues I’d like to close today:

  • rule ln-11 needs to be updated -> are we talking about globalAmount or shareAmount?
  • rule ln-12 needs to be updated -> are we talking about globalAmount or shareAmount?
  • rule ln-22 example 10 is not valid according to this rule. The example needs to be updated

 

If we close these issues I think we can go ahead and publish these rules in the next publication of 4.4.

 

Best regards,

-Marc


From: loanwg@xxxxxxxx [mailto:loanwg@xxxxxxxx] On Behalf Of Bhavik Katira
Sent: Tuesday, May 13, 2008 4:04 AM
To: loanwg@xxxxxxxx
Cc: 'Bhavik Katira'
Subject: RE: Loan WG Meeting - 13 May 2008: 1000EST / 1400GMT

 

Updated version of the seminar notes and I attached the business requirements (accidently forgot in last email).

BK

<<...>>

<<...>>

_____________________________________________
From: Bhavik Katira [mailto:bhavik.katira@xxxxxxxxx]
Sent: Tuesday, May 13, 2008 3:56 AM
To: 'loanwg@xxxxxxxx'
Subject: Loan WG Meeting - 13 May 2008: 1000EST / 1400GMT

Could I ask someone from the ISDA group to send out the latest version of the loan schema to the group, thanks.

Dial-in Details

US:     + 1 (888) 481 - 3032

Intl:   + 1 (617) 801- 9600

UK:     0800 904-7961

Part. Code:     28413758

Agenda

1.      Business validation meeting update.

2.      Facility sub-limit proposal from Bank of America.

3.      Review of European working group feedback.

4.      Next steps.

Attachments

The following documents are attached:

1.      Version 22 of business requirements document.

2.      Full feedback from European discussion regarding Phase 1 and 2 proposals.

Thanks,

BK

 << File: EuroSeminarNotes_April2008.doc >>

Title: FpML 4.4 Validation Rules - 2008-04-04

FpML 4.4 Validation Rules - Rules for Loan Messages

This is the Loan part of the validation rule set accompanying the FpML 4.4 Last Call Working Draft. The introductory section in the validation section of the specifications 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. The cut down test cases are non-normative and are provided for the purpose of documentation only.

Content

Namespace

http://www.fpml.org/2007/FpML-4-4

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
(context: FacilityNotice) (context: DrawdownNotice) (context: InterestPaymentNotice) (context: LoanContractRepayment) (context: Repayment) All instances of currency values within the context of this rule must be identical.

Rules

Unique contexts:

Context: LoanContract (complex type)

ln-1 (Mandatory)
currentInterestRatePeriod/startDate >= effectiveDate.
Test cases: [Invalid]
ln-2 (Mandatory)
If currentInterestRatePeriod/floatingRateIndex = PRIME then currentInterestRatePeriod/rateFixingDate = effectiveDate.
Test cases: [Invalid]

Context: InterestRatePeriod (complex type)

ln-3 (Mandatory)
endDate >= startDate >= rateFixingDate.
Test cases: [Invalid]
ln-4 (Mandatory)
If mlaCost doesn't exist and interestRate and margin and allInRate exist, then allInRate = margin + interestRate.
Test cases: [Invalid]
ln-5 (Mandatory)
If mlaCost and interestRate and margin and allInRate exist, then allInRate = margin + interestRate + mlaCost
Test cases: [Invalid]

Context: InterestAccrualSchedule (complex type)

ln-6 (Mandatory)
interestRatePeriod/startDate,lenderLoanContractPeriod/startDate, interestAccrualPeriod/startDate must be equal in each period.
Test cases: [Invalid]
ln-7 (Mandatory)
The [n]th interestRatePeriod/endDate must be the previous calendar day of the [n+1]th interestRatePeriod/startDate.
Test cases: [Invalid]
ln-8 (Mandatory)
The [n]th lenderLoanContractPeriod/endDate must be the previous calendar day of the [n+1]th lenderLoanContractPeriod/startDate.
Test cases: [Invalid]
ln-9 (Mandatory)
The [n]th interestAccrualPeriod/endDate must be the previous calendar day of the [n+1]th interestAccrualPeriod/startDate.
Test cases: [Invalid]

Context: FacilityNotice (complex type)

ln-10 (Mandatory)
Preconditions: SameCurrency
If facilityIdentifier/originalCommitmentAmount and facilityCommitmentPosition/loanContractPosition/loanContractIdentifier/originalAmount/amount exist, then facilityIdentifier/originalCommitmentAmount >= facilityCommitmentPosition/loanContractPosition/loanContractIdentifier/originalAmount/amount.
Test cases: [Invalid]
ln-11 (Mandatory)
Preconditions: SameCurrency
If facilityCommitmentPosition/loanContractPosition exists, then facilityCommitmentPosition/currentAmount >= facilityCommitmentPosition/loanContractPosition/currentAmount.
Test cases: [Invalid]
ln-12 (Mandatory)
Preconditions: SameCurrency
If facilityCommitmentPosition/loanContractPosition exists, then facilityCommitmentPosition/priorAmount >= facilityCommitmentPosition/loanContractPosition/priorAmount.
Test cases: [Invalid]

Context: DrawdownNotice (complex type)

ln-13 (Mandatory)
noticeDate <= drawdownPayment/paymentDate.
Test cases: [Invalid]
ln-14 (Mandatory)
If loanContract exists, then drawdownPayment/paymentDate >= loanContract/effectiveDate.
Test cases: [Invalid]
ln-15 (Mandatory)
If dealIdentifier/creditAgreementDate exists, then loanContract/effectiveDate and drawdownPayment/paymentDate >= dealIdentifier/creditAgreementDate.
Test cases: [Invalid]
ln-16 (Mandatory)
Preconditions: SameCurrency
If facilityCommitmentPosition/priorAmount/shareAmount exists, then drawdownPayment/shareLoanContractAmount <= facilityCommitmentPosition/priorAmount/shareAmount.
Test cases: [Invalid]
ln-17 (Mandatory)
Preconditions: SameCurrency
If loanContract exists, then loanContract/amount/amount >= drawdownPayment/shareLoanContractAmount/amount.
Test cases: [Invalid]
ln-18 (Mandatory)
Preconditions: SameCurrency
If loanContractIdentifier exists, then loanContractIdentifier/originalAmount/amount >= drawdownPayment/shareLoanContractAmount/amount.
Test cases: [Invalid]
ln-19 (Mandatory)
If drawdownEventType = RateSetEvent and loanContract exists, then loanContract/currentInterestRatePeriod/interestRate and loanContract/currentInterestRatePeriod/margin and loanContract/currentInterestRatePeriod/allInRate and loanContract/currentInterestRatePeriod/interestDayBasis and loanContract/currentInterestRatePeriod/indexTenor must exist.
Test cases: [Invalid]

Context: InterestPaymentNotice (complex type)

ln-20 (Mandatory)
Preconditions: SameCurrency
interestPayment/amount/shareAmount/amount must be equal to the sum of all interestAccrualSchedule/interestAccrualPeriod/shareInterestAccrualAmount/amount.
Test cases: [Invalid]
ln-21 (Mandatory)
interestAccrualSchedule/interestRatePeriod/interestRate and interestAccrualSchedule/interestRatePeriod/margin and interestAccrualSchedule/interestRatePeriod/allInRate and interestAccrualSchedule/interestRatePeriod/interestDayBasis and interestAccrualSchedule/interestRatePeriod/indexTenor must exist.
Test cases: [Invalid]

Context: LoanContractRepayment (complex type)

ln-22 (Mandatory)
Preconditions: SameCurrency
If loanContractIdentifier/originalAmount exists, then loanContractIdentifier/originalAmount/amount >= amount/globalAmount/amount.
Test cases: [Invalid]

Context: Repayment (complex type)

ln-23 (Mandatory)
Preconditions: SameCurrency
facilityRepayment/amount/globalAmount/amount must be >= the sum of all loanContractRepayment/loanContractIdentifier/originalAmount/amount.
Test cases: [Invalid]
ln-25 (Mandatory)
Preconditions: SameCurrency
facilityRepayment/amount/shareAmount/amount must be >= the sum of all loanContractRepayment/amount/shareAmount/amount.
Test cases: [Invalid]
ln-26 (Mandatory)
Preconditions: SameCurrency
If loanContractRepayment/amount/globalAmount exists, then facilityRepayment/amount/globalAmount/amount must be >= the sum of all loanContractRepayment/amount/globalAmount/amount.
Test cases: [Invalid]

Context: RepaymentNotice (complex type)

ln-24 (Mandatory)
Preconditions: SameCurrency
If facilityCommitmentPosition exists, then facilityCommitmentPosition/priorAmount/shareAmount/amount >= repayment/facilityRepayment/amount/shareAmount/amount.
Test cases: [Invalid]

Context: OneOffFeeNotice (complex type)

ln-27 (Mandatory)
If feePayment/feeType = BreakageFee then loanContractIdentifier must exist.
Test cases: [Invalid]
ln-28 (Mandatory)
If feePayment/feeType = AssignmentFee then loanContractIdentifier must not exist.
Test cases: [Invalid]

Context: OneOffFeePayment (complex type)

ln-29 (Mandatory)
paymentDate >= effectiveDate.
Test cases: [Invalid]

Deprecated rules

Removed rules


Attachment: invalid-loan-testcases.zip
Description: Zip compressed data