IFinance.Disc

Syntax

Disc(Settlement: DateTime; Maturity: DateTime; NominalCost: Double; Redemption: Double; [Basis: Integer = 0]): Double;

Disc(Settlement: System.DateTime; Maturity: System.DateTime; NominalCost: double; Redemption: double; Basis: integer): double;

Parameters

Settlement. The payment day on securities. Must be less than Maturity

Maturity. The security's maturity date. Must be greater than Settlement

NominalCost. Face value of securities. Must be positive

Redemption. The security's redemption price per $100 face value. Must be positive

Basis. The day calculation method used. Select a value from 0 to 4:

Optional parameter.

Description

The Disc method returns discount rate for securities.

Comments

The agreement date is the date of selling a coupon, for example, a bond, to the buyer. The payment date is the coupon expiry date. For example, a bond with duration of 30 years was issued on Jan 1 2008 and was acquired by a buyer in 6 months after the issue date. The issue date is Jan 1 2008, the settlement date - July 1 2008, and the maturity date is Jan 1 2038, that is, 30 years after the issue date.

Disc is calculated using the following formula:

,

where:

Example

Add a link to the MathFin system assembly.

Sub UserProc;
Var
    r: Double;
Begin
    r := Finance.
Disc(DateTime.ComposeDay(2008,01,01), DateTime.ComposeDay(2008,06,01), 501000);
    Debug.WriteLine(r);
End Sub UserProc;

Imports Prognoz.Platform.Interop.MathFin;

Public Shared Sub Main(Params: StartParams);
Var
    r: double;
    Finance: FinanceClass = New FinanceClass();
    DateTime1, DateTime2: System.DateTime;
Begin
    DateTime1 := New DateTime(2008,01,01);
    DateTime2 := New DateTime(2008,06,01);
    r := Finance.Disc(DateTime1, DateTime2, 501000);
    System.Diagnostics.Debug.WriteLine(r);
End Sub;

After executing the example the console window displays the discounting rate equal to -2.4.

See also:

IFinance