I
IntraRELY
Hello All,
There is an excel help file titled YIELD. I will copy any paste the file
below. I am writing a VB.NET web application and need the formula which is
included with in the help file, but doesnt give all that is needed to make
the calculation. For instance here is an excerpt from one of the remarks:
"If there is more than one coupon period until redemption, YIELD is
calculated through a hundred iterations. The resolution uses the
Newton method, based on the formula used for the function PRICE. The yield
is changed until the estimated price given the yield is close to
price."
The help file titled PRICE gives the equation, but the whole "100
iterations" is unfamiliar to me. I know what they are doing, but want to
find out how they calculate this programatically. The PRICE/YIELD add-ins
must be added in order for them to work under the add-ins setcion and is
called Analysis ToolPak - VBA. Is there a way to get a hold of this VBA and
then I can convert the code to the language I am using.
If you have any other ideas to help me...I am all game, just point the
direction.
Thank you,
Steve Wofford
www.IntraRELY.com
Excert from the Excel help file:
----------------------------------------------------------------------------
-------------------------------------
YIELD
Returns the yield on a security that pays periodic interest. Use YIELD to
calculate bond yield.
If this function is not available, and returns the #NAME? error, install and
load the Analysis ToolPak add-in.
On the Tools menu, click Add-Ins.
1.. In the Add-Ins available list, select the Analysis ToolPak box, and
then click OK.
2.. If necessary, follow the instructions in the setup program.
Syntax
YIELD(settlement,maturity,rate,pr,redemption,frequency,basis)
Important Dates should be entered by using the DATE function, or as
results of other formulas or functions. For example, use DATE(2008,5,23) for
the 23rd day of May, 2008. Problems can occur if dates are entered as text.
Settlement is the security's settlement date. The security settlement date
is the date after the issue date when the security is traded to the buyer.
Maturity - is the security's maturity date. The maturity date is the date
when the security expires.
Rate - is the security's annual coupon rate.
Pr - is the security's price per $100 face value.
Redemption - is the security's redemption value per $100 face value.
Frequency - is the number of coupon payments per year. For annual
payments, frequency = 1; for semiannual, frequency = 2; for quarterly,
frequency = 4.
Basis is the type of day count basis to use.
Basis Day count basis
0 or omitted US (NASD) 30/360
1 Actual/actual
2 Actual/360
3 Actual/365
4 European 30/360
Remarks
a.. Microsoft Excel stores dates as sequential serial numbers so they can
be used in calculations. By default, January 1, 1900 is serial number 1, and
January 1, 2008 is serial number 39448 because it is 39,448 days after
January 1, 1900. Microsoft Excel for the Macintosh uses a different date
system as its default.
b.. The settlement date is the date a buyer purchases a coupon, such as a
bond. The maturity date is the date when a coupon expires. For example,
suppose a 30-year bond is issued on January 1, 2008, and is purchased by a
buyer six months later. The issue date would be January 1, 2008, the
settlement date would be July 1, 2008, and the maturity date would be
January 1, 2038, which is 30 years after the January 1, 2008, issue date.
c.. Settlement, maturity, frequency, and basis are truncated to integers.
d.. If settlement or maturity is not a valid date, YIELD returns the
#VALUE! error value.
e.. If rate < 0, YIELD returns the #NUM! error value.
f.. If pr ? 0 or if redemption ? 0, YIELD returns the #NUM! error value.
g.. If frequency is any number other than 1, 2, or 4, YIELD returns the
#NUM! error value.
h.. If basis < 0 or if basis > 4, YIELD returns the #NUM! error value.
i.. If settlement ? maturity, YIELD returns the #NUM! error value.
j.. If there is one coupon period or less until redemption, YIELD is
calculated as follows:
where:
A = number of days from the beginning of the coupon period to the
settlement date (accrued days).
DSR = number of days from the settlement date to the redemption date.
E = number of days in the coupon period.
k.. If there is more than one coupon period until redemption, YIELD is
calculated through a hundred iterations. The resolution uses the Newton
method, based on the formula used for the function PRICE. The yield is
changed until the estimated price given the yield is close to price.
There is an excel help file titled YIELD. I will copy any paste the file
below. I am writing a VB.NET web application and need the formula which is
included with in the help file, but doesnt give all that is needed to make
the calculation. For instance here is an excerpt from one of the remarks:
"If there is more than one coupon period until redemption, YIELD is
calculated through a hundred iterations. The resolution uses the
Newton method, based on the formula used for the function PRICE. The yield
is changed until the estimated price given the yield is close to
price."
The help file titled PRICE gives the equation, but the whole "100
iterations" is unfamiliar to me. I know what they are doing, but want to
find out how they calculate this programatically. The PRICE/YIELD add-ins
must be added in order for them to work under the add-ins setcion and is
called Analysis ToolPak - VBA. Is there a way to get a hold of this VBA and
then I can convert the code to the language I am using.
If you have any other ideas to help me...I am all game, just point the
direction.
Thank you,
Steve Wofford
www.IntraRELY.com
Excert from the Excel help file:
----------------------------------------------------------------------------
-------------------------------------
YIELD
Returns the yield on a security that pays periodic interest. Use YIELD to
calculate bond yield.
If this function is not available, and returns the #NAME? error, install and
load the Analysis ToolPak add-in.
On the Tools menu, click Add-Ins.
1.. In the Add-Ins available list, select the Analysis ToolPak box, and
then click OK.
2.. If necessary, follow the instructions in the setup program.
Syntax
YIELD(settlement,maturity,rate,pr,redemption,frequency,basis)
Important Dates should be entered by using the DATE function, or as
results of other formulas or functions. For example, use DATE(2008,5,23) for
the 23rd day of May, 2008. Problems can occur if dates are entered as text.
Settlement is the security's settlement date. The security settlement date
is the date after the issue date when the security is traded to the buyer.
Maturity - is the security's maturity date. The maturity date is the date
when the security expires.
Rate - is the security's annual coupon rate.
Pr - is the security's price per $100 face value.
Redemption - is the security's redemption value per $100 face value.
Frequency - is the number of coupon payments per year. For annual
payments, frequency = 1; for semiannual, frequency = 2; for quarterly,
frequency = 4.
Basis is the type of day count basis to use.
Basis Day count basis
0 or omitted US (NASD) 30/360
1 Actual/actual
2 Actual/360
3 Actual/365
4 European 30/360
Remarks
a.. Microsoft Excel stores dates as sequential serial numbers so they can
be used in calculations. By default, January 1, 1900 is serial number 1, and
January 1, 2008 is serial number 39448 because it is 39,448 days after
January 1, 1900. Microsoft Excel for the Macintosh uses a different date
system as its default.
b.. The settlement date is the date a buyer purchases a coupon, such as a
bond. The maturity date is the date when a coupon expires. For example,
suppose a 30-year bond is issued on January 1, 2008, and is purchased by a
buyer six months later. The issue date would be January 1, 2008, the
settlement date would be July 1, 2008, and the maturity date would be
January 1, 2038, which is 30 years after the January 1, 2008, issue date.
c.. Settlement, maturity, frequency, and basis are truncated to integers.
d.. If settlement or maturity is not a valid date, YIELD returns the
#VALUE! error value.
e.. If rate < 0, YIELD returns the #NUM! error value.
f.. If pr ? 0 or if redemption ? 0, YIELD returns the #NUM! error value.
g.. If frequency is any number other than 1, 2, or 4, YIELD returns the
#NUM! error value.
h.. If basis < 0 or if basis > 4, YIELD returns the #NUM! error value.
i.. If settlement ? maturity, YIELD returns the #NUM! error value.
j.. If there is one coupon period or less until redemption, YIELD is
calculated as follows:
where:
A = number of days from the beginning of the coupon period to the
settlement date (accrued days).
DSR = number of days from the settlement date to the redemption date.
E = number of days in the coupon period.
k.. If there is more than one coupon period until redemption, YIELD is
calculated through a hundred iterations. The resolution uses the Newton
method, based on the formula used for the function PRICE. The yield is
changed until the estimated price given the yield is close to price.