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.