ODDLPRICE関数 は、最後の利払期間が通常と異なる債券の価格を求める関数です。
通常の債券は一定間隔で利息が支払われますが、満期直前の期間だけ長さが異なる場合があります。
このような不規則な最終期間を考慮して、正確な債券価格を計算できるのがODDLPRICE関数です。
ODDLPRICE関数とは?
ODDLPRICE関数は、最終利払期間が不規則な債券の価格を求める関数です。
通常のPRICE関数では対応できない、満期直前の利息期間のズレを考慮した価格を算出できます。
書式
ODDLPRICE関数の書式は次のとおりです。
=ODDLPRICE(受渡日, 満期日, 最終利払日, 利率, 利回り, 償還価額, 頻度, [基準])
引数の説明
- 受渡日:債券を購入する日を指定します。
- 満期日:債券の満期日を指定します。
- 最終利払日:受渡日より前の最後の利払日を指定します。
- 利率:クーポン利率(年利)を指定します。
- 利回り:市場利回りを指定します。
- 償還価額:満期時に支払われる金額(通常は100)を指定します。
- 頻度(支払回数):利息の支払回数(1・2・4)を指定します。
- 基準(省略可):数計算方式を指定します。
ODDLPRICE関数の使い方
たとえば、次の条件の債券の価格を求めます。
受渡日:2024/4/1
満期日:2024/6/15
最終利払日:2024/1/1
利率:3.75%
利回り:4%
償還価額:100
頻度(支払回数):年2回

=ODDLPRICE("2024/4/1","2024/6/15","2024/1/1",0.0375,0.04,100,2)

この結果の 99.94 は、最終利払期間が不規則な条件を考慮した債券価格を表しています。
ここで重要なのが「最終利払日」の意味です。
ODDLPRICE関数で指定する最終利払日は、通常のクーポン支払いの最後の日(通常クーポンの最終日)を指します。
通常であれば次の利払日は「2024/7/1」になるはずですが、満期が「2024/6/15」となっているため、最後の期間だけ短くなっています。
つまり、
👉 2024/1/1 までは通常の利払周期
👉 その後(2024/1/1〜2024/6/15)が不規則な最終期間
という構造です。
さらに、この債券はクーポン利率(3.75%)より利回り(4%)の方が高いため、額面よりやや低い価格(ディスカウント)で評価されます。これらの条件が組み合わさることで、最終的に 99.94 という価格が算出されます。
活用例
ODDLPRICE関数は、満期直前の利払期間が特殊な債券の価格評価に利用されます。
金融分析や投資判断において、より正確な価格を把握するために役立ちます。
注意点
- 日付は満期日 > 受渡日 > 最終利払日の順で指定する
- 最終利払日は受渡日より前の日付にする
- 支払回数は「1・2・4」のいずれかを指定する
- 日付の関係が不正だと「#NUM!」エラーになる
関連関数
| 関数名 | 説明 |
|---|---|
| ODDLYIELD関数 | 最終利払期間が不規則な債券の利回りを求める |
| ODDFPRICE関数 | 初回利払期間が不規則な債券の価格を求める |
| PRICE関数 | 通常の債券の価格を求める |
| YIELD関数 | 債券の利回りを求める |
| DURATION関数 | 債券のデュレーションを求める |
まとめ
ODDLPRICE関数は、最終利払期間が不規則な債券の価格を求める関数です。
満期直前の期間のズレを考慮できるため、通常のPRICE関数では対応できないケースにも対応できます。
ODDLYIELD関数とあわせて理解することで、債券の分析精度を高めることができます。

