Bond price, yield and duration calculator

Calculate a bond's price from its yield to maturity, or the YTM from its price, with current yield, Macaulay and modified duration and convexity.

更新日 検証済みの例:7

$
%
years
%
試す
Price
$
Price: $925.61
小数点以下の桁数:2;最も近い値へ、等距離なら末尾が偶数の値へ
Yield to maturity (annual, bond-equivalent)
6%
Effective annual yield
6.09%
Current yield
5.4%
Price as % of face
92.56%
Macaulay duration
7.895years
Modified duration
7.665years
Convexity
71.7854years²
Price change per 0.01% yield change
$0.71

At a 6% yield the bond is worth $925.61, a discount to its $1,000.00 face value. A one-percentage-point rise in the yield would cut the price by about 7.67%.

Price against yield

$600$800$1,000$1,200$1,4000%2.5%5%7.5%10%Yield to maturityPricePar6% → 925.61

Where the price comes from

$926price
Coupons40.2%Face value59.8%
Cash flows 行数:20
Period年Coupon元金Discount factorPresent value
10.5$25.00$0.000.9709$24.27
21$25.00$0.000.9426$23.56
31.5$25.00$0.000.9151$22.88
42$25.00$0.000.8885$22.21
52.5$25.00$0.000.8626$21.57
63$25.00$0.000.8375$20.94
73.5$25.00$0.000.8131$20.33
84$25.00$0.000.7894$19.74
94.5$25.00$0.000.7664$19.16
105$25.00$0.000.7441$18.60
115.5$25.00$0.000.7224$18.06
126$25.00$0.000.7014$17.53
計算方法 S
  1. Per-period values

    c=1,000×5%2=25.00,y=6%2=0.03,n=20c = \frac{1{,}000 \times 5\%}{2} = 25.00,\quad y = \frac{6\%}{2} = 0.03,\quad n = 20
  2. Price

    P=25.00×1−(1+0.03)−200.03+1,000(1+0.03)20=925.61P = 25.00 \times \frac{1-(1+0.03)^{-20}}{0.03} + \frac{1{,}000}{(1+0.03)^{20}} = 925.61

    Valued on a coupon date, so there is no accrued interest and the clean and full prices are equal.

  3. Macaulay duration

    Dmac=1P⋅2∑t=120t⋅CFt(1+y)t=7.894997 yearsD_{mac} = \frac{1}{P \cdot 2} \sum_{t=1}^{20} \frac{t \cdot CF_t}{(1+y)^t} = 7.894997\ \text{years}
  4. Modified duration

    Dmod=Dmac1+y=7.8949971.03=7.665046D_{mod} = \frac{D_{mac}}{1+y} = \frac{7.894997}{1.03} = 7.665046
  5. Convexity

    C=1P (1+y)2 22∑t=120t(t+1) CFt(1+y)t=71.785398C = \frac{1}{P\,(1+y)^2\,2^2} \sum_{t=1}^{20} \frac{t(t+1)\,CF_t}{(1+y)^t} = 71.785398

    Fabozzi's convexity measure in years². A 1-point yield rise changes the price by about −D_mod × Δy + ½ C × Δy².

Bond price, yield and duration calculatorについて

A bond's price is the present value of its coupons and its face value, each discounted at the yield to maturity for the coupon period. With semi-annual coupons, a 5% coupon on 1,000 pays 25 every six months and the annual yield is halved per period, the bond-equivalent convention. Solving the same equation for the rate turns a market price into a yield. Duration is the present-value-weighted average time until the cash flows arrive; modified duration and convexity estimate how far the price moves when the yield changes.

With the defaults, a 10-year 5% semi-annual bond with a face value of 1,000, priced to yield 6%, is worth 925.61: a discount, because its coupon is below the yield. Its Macaulay duration is 7.895 years and its modified duration 7.665, so a 0.01% rise in yield lowers the price by about 0.71.

The price assumes settlement on a coupon date, so there is no accrued interest. Credit risk, call features and taxes are not modeled.

計算例

10-year 5% semi-annual bond at 6%

Solve for
Price from yield
Face value
1000
Coupon rate (per year)
5%
Years to maturity
10 years
Coupons per year
Semi-annual
Yield to maturity (per year)
6%
Price
925.61
Macaulay duration
7.894997 years
Modified duration
7.665046 years
Convexity
71.785398 years²
Current yield
5.401828%

照合元:Python decimal (prec 50): cash flows discounted term by term; Fabozzi convexity Σt(t+1)PV/((1+y)²·P·f²); current yield 50/925.6126 = 5.4018278%

Microsoft DURATION example

Solve for
Price from yield
Face value
100
Coupon rate (per year)
8%
Years to maturity
29.5 years
Coupons per year
Semi-annual
Yield to maturity (per year)
9%
Macaulay duration
10.919145 years
Modified duration
10.448943 years

照合元:Microsoft DURATION documentation (settlement 2018-07-01 is a coupon date, maturity 2048-01-01): 10.9191453; Python decimal agrees

Microsoft MDURATION example

Solve for
Price from yield
Face value
100
Coupon rate (per year)
8%
Years to maturity
8 years
Coupons per year
Semi-annual
Yield to maturity (per year)
9%
Modified duration
5.73567 years
Price
94.38

照合元:Microsoft MDURATION documentation (2008-01-01 to 2016-01-01, a coupon date): 5.73567; Python decimal price 94.382992

Par bond: coupon equals yield

Solve for
Price from yield
Face value
1000
Coupon rate (per year)
6%
Years to maturity
10 years
Coupons per year
Semi-annual
Yield to maturity (per year)
6%
Price
1,000.00
Price as % of face
100%

照合元:A bond whose coupon rate equals its yield prices at par (definition)

よくある質問

How do you calculate the price of a bond?

Discount every coupon and the face value at the yield per period and add them. A 10-year 5% bond paying 25 twice a year, at a 6% yield (3% per half-year), is worth 371.94 for its 20 coupons plus 1,000 ÷ 1.03^20 = 553.68 for the face value: 925.61 in total. Excel's =PV(3%, 20, -25, -1000) gives the same price.

What is the difference between yield to maturity and current yield?

Current yield is the annual coupon divided by the price; yield to maturity also counts the gain or loss to face value at maturity and the timing of every payment. A 5% bond bought at 925.61 has a current yield of 50 ÷ 925.61 = 5.40% but a yield to maturity of 6%, because the buyer also gains 74.39 when the bond repays 1,000.

Why do bond prices fall when interest rates rise?

The coupons are fixed, so a higher yield discounts the same payments more heavily. The default 10-year 5% bond is worth 1,081.76 at a 4% yield, exactly 1,000 at 5%, 925.61 at 6% and 857.88 at 7%. When the yield equals the coupon rate the bond trades at par; above it, at a discount; below it, at a premium.

What does bond duration tell you?

Modified duration is the approximate percentage change in price for a one-percentage-point change in yield. The default bond's modified duration is 7.665, so a rise from 6% to 7% should cut the price by about 7.67%; the actual fall, from 925.61 to 857.88, is 7.32%, because convexity cushions large moves. Macaulay duration, 7.895 years here, is the weighted average time to the cash flows.

How often do US Treasury notes and bonds pay interest?

Every six months. The US Treasury issues notes with terms of 2, 3, 5, 7 and 10 years and bonds with terms of 20 and 30 years, and both pay interest semi-annually, which is why this page defaults to two coupons a year. Choose annual, quarterly or monthly coupons for bonds that pay on another schedule.

「Bond price, yield and duration calculator」の精度はどのくらいですか?

精度は入力値と計算方法の前提に依存します。十進演算には有効数字50桁を使いますが、推定、数値計算手法、元データの精度はそれより低い場合があります。表示の丸め処理でこれらの制約がなくなるわけではありません。 独立した出典の解答と照合した計算例:7。 例えば、「10-year 5% semi-annual bond at 6%」はPython decimal (prec 50): cash flows discounted term by term; Fabozzi convexity Σt(t+1)PV/((1+y)²·P·f²); current yield 50/925.6126 = 5.4018278%と照合しています。

この計算方法の出典は何ですか?

Microsoft Excel DURATION function; Microsoft Excel MDURATION function; Fabozzi — Bond Markets, Analysis, and Strategies, ch. 2 and 4 (pricing, duration, convexity).

この計算機について

P=∑t=1nc(1+y)t+F(1+y)n,Dmac=1P f∑t=1nt CFt(1+y)t,Dmod=Dmac1+yP = \sum_{t=1}^{n} \frac{c}{(1+y)^t} + \frac{F}{(1+y)^n},\quad D_{mac} = \frac{1}{P\,f}\sum_{t=1}^{n} \frac{t\,CF_t}{(1+y)^t},\quad D_{mod} = \frac{D_{mac}}{1+y}

出典

  1. Microsoft Excel DURATION function
  2. Microsoft Excel MDURATION function
  3. Fabozzi — Bond Markets, Analysis, and Strategies, ch. 2 and 4 (pricing, duration, convexity)

計画の参考用です。金融機関、税務当局、市場は独自の丸め方、手数料、規則を適用します。契約などの前に該当機関へ金額を確認してください。

出典と照合済み

この計算機には、独立した出典の解答を使った計算例が 7 件あります。テストに組み込まれており、ここでも実行できます。

関連する計算ツール