1. Unlike the forward contract conventions on carryable financial assets (stocks, bonds, commodities), the valueDate for a FRA is taken to be the day when the forward loan or deposit begins and when full settlement takes place (based on the NPV of the contract on that date). maturityDate is the date when the forward loan or deposit ends. In fact, the FRA settles and expires on the valueDate, not on the (later) maturityDate. It follows that (maturityDate - valueDate) is the tenor/term of the underlying loan or deposit
2. Choose position type = Long for an "FRA purchase" (future long loan, short deposit [borrower])
3. Choose position type = Short for an "FRA sale" (future short loan, long deposit [lender])
4. If strike is given in the constructor, can calculate the NPV of the contract via NPV().
5. If forward rate is desired/unknown, it can be obtained via forwardRate(). In this case, the strike variable in the constructor is irrelevant and will be ignored. @todo Add preconditions and tests @todo Should put an instance of ForwardRateAgreement in theFraRateHelper to ensure consistency with the piecewise yield curve. @todo Differentiate between BBA (British)/AFB (French)[assumed here] and ABA (Australian) banker conventions in the calculations. @warning This class still needs to be rigorously tested @category instruments @author John Martin
|
|