IFinance.YieldDisc

Syntax

YieldDisc(Settlement: DateTime; Maturity: DateTime; Price: Double; Redemption: Double; [Basis: Integer = 0]): Double;

YieldDisc(Settlement: System.DateTime; Maturity: System.DateTime; Price: 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.

Price. The security's price per $100 face value. 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 YieldDisc method returns annual profit for discounted 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. Consider 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.

YieldDisc is calculated using the following formula:

,

where:

Example

Add a link to the MathFin system assembly.

Sub UserProc;
Var
    r: Double;
Begin
    r := Finance.
YieldDisc(DateTime.ComposeDay(2008,02,16), DateTime.ComposeDay(2008,03,01), 99.7951002);
    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,02,16);
    DateTime2 := New DateTime(2008,03,01);
    r := Finance.YieldDisc(DateTime1, DateTime2, 99.7951002);
    System.Diagnostics.Debug.WriteLine(r);
End Sub;

After executing the example the console window displays the annual profit equal to 0.0528.

See also:

IFinance