Returns the yield of a security that pays periodic interest.

Namespace: Imsl.Finance
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.0.0

Syntax

C#
public static double Yield(
	DateTime settlement,
	DateTime maturity,
	double rate,
	double price,
	double redemption,
	Bond..::.Frequency frequency,
	DayCountBasis basis
)
Visual Basic (Declaration)
Public Shared Function Yield ( _
	settlement As DateTime, _
	maturity As DateTime, _
	rate As Double, _
	price As Double, _
	redemption As Double, _
	frequency As Bond..::.Frequency, _
	basis As DayCountBasis _
) As Double
Visual C++
public:
static double Yield(
	DateTime settlement, 
	DateTime maturity, 
	double rate, 
	double price, 
	double redemption, 
	Bond..::.Frequency frequency, 
	DayCountBasis^ basis
)

Parameters

settlement
Type: System..::.DateTime
The DateTime settlement date of the security.
maturity
Type: System..::.DateTime
The DateTime maturity date of the security.
rate
Type: System..::.Double
A double which specifies the security's annual coupon rate.
price
Type: System..::.Double
A double which specifies the security's price per $100 face value.
redemption
Type: System..::.Double
A double which specifies the security's redemption value per $100 face value.
frequency
Type: Imsl.Finance..::.Bond..::.Frequency
A int which specifies the number of coupon payments per year (1 for annual, 2 for semiannual, 4 for quarterly).
basis
Type: Imsl.Finance..::.DayCountBasis
A DayCountBasis object which contains the type of day count basis to use.

Return Value

A double which specifies the yield of a security that pays periodic interest.

Remarks

If there is one coupon period use the following:

{{{\left( {{{\it redemption} \over {100}}
            + {{\it rate} \over {\it frequency}}} \right) - \left[ {{{\it price}
            \over {100}} + \left( {{A \over E} \times {{\it rate} \over {\it
            frequency}}} \right)} \right]} \over {{{\it price} \over {100}} +
            \left( {{A \over E} \times {{\it rate} \over {\it frequency}}}
            \right)}}}  \times {{{{\it frequency} \times E} \over
            {\it DSR}}}
In the equation above, DSR represents the number of days in the period starting with the settlement date and ending with the redemption date. E represents the number of days within the coupon Frequency. A represents the number of days in the period starting with the beginning of coupon period and ending with the settlement date.

If there is more than one coupon period use the following:

{\it price} - {{\it redemption} \over
            {\left( {1 + {\it yield} \over {\it frequency}} \right)}^{N - 1 +
            {\it DSC} \over E}} - {\left( {\sum\limits_{k = 1}^N { {100 \times
            {{\it rate} \over {\it frequency}}} \over {\left( {1 + {\it yield}
            \over {\it frequency}} \right)}^{k - 1 + {\it DSC} \over E} }}
            \right) } + {100 \times {{\it rate} \over {\it frequency}} \times
            {A \over E} }  = 0

In the equation above, {\it DSC} represents the number of days in the period from the settlement to the next coupon date. E represents the number of days within the coupon Frequency.N represents the number of coupons payable in the period starting with the settlement date and ending with the redemption date. A represents the number of days in the period starting with the beginning of the coupon period and ending with the settlement date.

See Also