PRICE 関数は、利息を定期的に払う債券の価格(額面 100 あたり)を、利回りから求める関数です。反対に YIELD 関数は、価格から利回りを求めます。
この記事では、年 2% のクーポンで 5 年後に満期になる債券を例に、2 つの関数の使い方を、実際の Excel で確かめた結果で説明します。
練習用Excelファイル(無料ダウンロード)
受渡日・満期日・利率・利回りの表と、この記事の PRICE・YIELD の式をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次
PRICE・YIELD 関数の書き方
=PRICE(受渡日, 満期日, 利率, 利回り, 償還価額, 頻度, [基準])
=YIELD(受渡日, 満期日, 利率, 価格, 償還価額, 頻度, [基準])
| 引数 | 意味 |
|---|---|
| 利率 | 債券の年利率(クーポン) |
| 利回り・価格 | PRICE は利回りを、YIELD は価格(額面 100 あたり)を入れる |
| 償還価額 | 満期に返ってくる額(額面 100 あたり、ふつうは 100) |
| 頻度 | 年の利払回数(1・2・4) |
基準(日数の数え方)は ACCRINT関数で説明しています。
1. 利回りから価格を出す(PRICE)
利回り 2.5% で買うときの価格を出します。
=PRICE(B2,B3,B4,B5,B6,B7)

結果は 97.66 でした。利回りがクーポンより高いので、100 より安くなりました。
2. 価格から利回りを出す(YIELD)
1 で出した価格を YIELD に入れて、利回りに戻します。
=YIELD(B2,B3,B4,PRICE(B2,B3,B4,B5,B6,B7),B6,B7)

結果は 2.50% で、もとの利回りにもどりました。
3. 100 より高く買ったときの利回り
価格 101 で買うときの利回りを出します。
=YIELD(B2,B3,B4,101,B6,B7)

結果は 1.79% で、クーポンの 2% より低くなりました。
4. 利回りとクーポンが同じとき
利回りにクーポンと同じ 2% を入れます。
=PRICE(B2,B3,B4,B4,B6,B7)

結果は 100.00 でした。
【実機で検証】PRICE でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| 利回り 1% の価格 | =PRICE(例!B2,例!B3,例!B4,0.01,100,2) | 104.87 |
| 利回り 3% の価格 | =PRICE(例!B2,例!B3,例!B4,0.03,100,2) | 95.39 |
| 受渡日と満期日が逆 | =PRICE(例!B3,例!B2,例!B4,例!B5,100,2) | #NUM! |
| 頻度 3 | =PRICE(例!B2,例!B3,例!B4,例!B5,100,3) | #NUM! |
| マイナスの利回り -1% | =PRICE(例!B2,例!B3,例!B4,-0.01,100,2) | #NUM! |
| 年 1 回払い(頻度 1) | =PRICE(例!B2,例!B3,例!B4,例!B5,100,1) | 97.68 |
利回り 1% なら 104.87、3% なら 95.39 で、利回りが上がると価格が下がりました。
受渡日と満期日が逆だと #NUM!、頻度 3 は #NUM! になりました。
マイナスの利回り -1% は #NUM!、年 1 回払いにすると 97.68 でした。
よくある質問
経過利息を出したいときは?
ACCRINT 関数で説明しています。
金利の変化で価格がどれだけ動くかは?
DURATION・MDURATION 関数で目安を出せます。
割引債の利回りは?
DISC・INTRATE 関数で出せます。
練習用Excelファイル(無料ダウンロード)
この記事の例をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

コメント