Modeling a Fixed Income Contract and Quotation Conventions

Overview


When modeling a bond or loan, the following details of the instrument need to be accounted for.

  • Principal - the amount agreed to be paid at the maturity of the bond. (in addition to an interest payment)
  • Coupon Rate (Nominal Rate) - is the annual rate that is paid in interest each year. The coupon rate multiplied by the principal gives the dollar amount of interest paid.
  • Payment Date - the date on which a payment is contractually payable.
  • Pay Date - is the date that the payment (of interest or principal) is actually made. In theory, this can be different from the date from which the interest is considered to have been fully earned. (payment date above)
  • Issue Date (Settlement Date) - the date when a bond offering is settled. That is cash is received and the bond certificate is transferred. Is also the date on which the bond officially begins to accrue interest.
  • Maturity Date - the date at which the bonds principal becomes due for payment.
  • Premium - the amount, if any that is paid over and above the principal when the bond is bought. This is used for accounting purposes. The premium represents an asset that is amortized over time to the maturity date.
  • Discount - the amount, if any that is paid less than the principal when the bond is purchased. The discount is amortized over time to the maturity.

The Basic Fixed Income Instrument


When modeling a fixed income security, one needs to represent the contract details in code. A simple way to do this, is to create a Javascript object to contain the information.

The following code creates a simple object to contain information about the modeled instrument,starting with the principal and the issue date.


let bond = {
  "issue-date":"2000-01-15",
  principal:10000
};
					

Contract Details


The following contract details need to be calculated.

  • Pay Dates - the set of dates on which payments are scheduled
  • Date Rolling - when a payment is scheduled to fall on a particular set of dates, it may be moved, or rolled.
  • Calculating Payment Amounts
  • Calculating Accrued Interest (Day Count) - when the bond is sold between payment dates, the seller is entitled to the interest that has already accrued on the instrument.