SQL Server MDURATION function

Use MDURATION to calculate the modified duration for a security with an assumed par value of 100.

Syntax

SELECT [westclintech].[wct].[MDURATION] (

<@Settlement,datetime,>

,<@Maturity,datetime,>

,<@Coupon,float,>

,<@Yld,float,>

,<@Frequency,float,>

,<@Basis,nvarchar(4000),>)

Arguments

@Settlement

the settlement date of the security. @Settlement is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@Maturity

the maturity date of the security. @Maturity is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@Coupon

the security’s annual coupon rate. @Coupon is an expression of type float or of a type that can be implicitly converted to float.

@Yld

the security’s annual yield. @Yld is an expression of type float or of a type that can be implicitly converted to float.

@Frequency

the number of coupon payments per year. For annual payments, @Frequency = 1; for semi-annual, @Frequency = 2; for quarterly, @Frequency = 4; for monthly, @Frequency = 12. @Frequency is an expression of type float or of a type that can be implicitly converted to float.

@Basis

is the type of day count to use. @Basis is an expression of the character string data type category.

@Basis

Day count basis

0 or omitted

US (NASD) 30/360

1

Actual/Actual

2

Actual/360

3

Actual/365

4

European 30/360

Return Type

float

Remarks

·If @Yld < 0 or if @Coupon < 0, MDURATION returns an error

·If the @Frequency is any number other than 1, 2, 4, or 12, MDURATION returns an error