PriceMat(Settlement: DateTime; Maturity: DateTime; Issue: DateTime; Rate: Double; YieldP: Double; [Basis: Integer = 0]): Double;
PriceMat(Settlement: System.DateTime; Maturity: System.DateTime; Issue: System.DateTime; Rate: double; YieldP: double; Basis: integer): double;
Settlement. The payment day on securities. Must be less than Maturity
Maturity. The security's maturity date. Must be greater than Settlement
Issue. The security's issue date. Must be less than Settlement.
Rate. The security's interest rate. Must be positive.
YieldP. The annual income on securities. Must be positive.
Basis. The day calculation method used. Select a value from 0 to 4:
0. Day calculation method - American/360 days (NSAD method). Default value.
1. Day calculation method - Actual/actual.
2. Day calculation method - Actual/360 days.
3. Day calculation method - Actual/365 days.
4. Day calculation method - European 30/360 days.
Optional parameter.
The PriceMat method returns the price for $100 of principal value for securities, for which interest is paid on maturity.
PriceMat is calculated using the following formula:
,
where:
B. The number of days in a year, depends on the used basis.
DSM. The number of days from settlement date to maturity date.
DIM. The number of days from issue date to maturity date.
A. The number of days from coupon issue date to settlement date.
Add a link to the MathFin system assembly.
Sub UserProc;
Var
r: Double;
Begin
r := Finance.PriceMat(DateTime.ComposeDay(2008,01,01), DateTime.ComposeDay(2008,06,01),
DateTime.ComposeDay(2007,10,01), 0.15, 0.2, 0);
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, DateTime3: System.DateTime;
Begin
DateTime1 := New DateTime(2008,01,01);
DateTime2 := New DateTime(2008,06,01);
DateTime3 := New DateTime(2007,10,01);
r := Finance.PriceMat(DateTime1, DateTime2, DateTime3, 0.15, 0.2, 0);
System.Diagnostics.Debug.WriteLine(r);
End Sub;
After executing the example the console window displays the price equal to 97.79.
See also: