Function SecurityDiscountedPrice(SettlementDate, MaturityDate, Redemption, DiscountRate, Basis)

SecurityDiscountedPrice

The function SecurityDiscountedPrice returns the price of a discounted security at settlement date.

SecurityDiscountedPrice(
    SettlementDate,  ! (input) scalar string expression
    MaturityDate,    ! (input) scalar string expression
    Redemption,      ! (input) numerical expression
    DiscountRate,    ! (input) numerical expression
    [Basis]          ! (optional) numerical expression
    )

Arguments

SettlementDate

The date of settlement of the security. SettlementDate must be given in a date format.

MaturityDate

The date of maturity of the security. MaturityDate must also be in date format and must be a date after SettlementDate.

Redemption

The amount repaid at maturity date. Redemption must be a positive real number.

DiscountRate

The rate the security’s value increases per year as a fraction of the redemption value. DiscountRate must be a positive real number.

Basis

The day-count basis method to be used. The default is 1.

Return Value

The function SecurityDiscountedPrice returns the price of the security at settlement date.

Note

  • This function can be used in an objective function or constraint and the input parameters Redemption and DiscountRate can be used as a variable.

  • The function SecurityDiscountedPrice is similar to the Excel function PRICEDISC <https://support.microsoft.com/en-us/office/pricedisc-function-d06ad7c1-380e-4be7-9fd9-75e3079acfd3>_.

Example

Selling a security one year before maturity with a discount rate of 10%:

_p_sdp := SecurityDiscountedPrice(
    SettlementDate :  "2024-01-01",
    MaturityDate   :  "2025-01-01",
    Redemption     :  100,
    DiscountRate   :  0.1,
    Basis          :  1);
block where single_column_display := 1, listing_number_precision := 6 ;
    display _p_sdp ;
endblock ;

This results in the following discounted price:

_p_sdp := 90 ;

References