スプレッドシートのMDURATION関数とは
MDURATION関数は、米国債などの定期的に利息が支払われる証券の修正マコーレー デュレーションを予想利回りに基づいて計算するGoogle スプレッドシートの会計系関数です。この関数は投資の価格感応度やボラティリティを測定する指標として使用され、金融分析において重要な役割を果たしています。
修正デュレーションは通常のマコーレー デュレーション関数であるDURATION関数とは異なり、投資の価格変動リスクを評価する機能を持ちます。MDURATION = DURATION / [1 + (yield / frequency)]という数式で計算され、金利変動に対する債券価格の敏感性を数値化できます。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
MDURATION関数の基本的な構文と引数
MDURATION関数の基本構文はMDURATION(受渡日, 満期, 利率, 利回り, 頻度, 日数の計算方法)
で構成されており、6つの引数を指定して使用します。受渡日は証券が買い手に引き渡される決済日、満期は証券が額面価格で償還される満期日をそれぞれDATE関数で指定する必要があります。
=MDURATION(DATE(2010,1,2), DATE(2039,12,31), 3, 1.2, 2, 1)
利率は年利率をパーセンテージではなく小数点で入力し、利回りは証券の予想年利回りを同様に小数点で指定します。頻度は年間の利息支払い回数で1(年1回)、2(半年1回)、4(四半期1回)のいずれかを選択し、最後の日数計算方法は省略可能な引数です。
日数計算方法には0から4までの5つの選択肢があり、0はUS(NASD) 30/360方式、1は実際/実際方式を意味します。実際/実際方式は米国財務省証券で使用される標準的な計算方法であり、実際の日数に基づいて正確な計算を行う方式として広く採用されています。
実用的な使用例とエラー対処法
実際の投資分析では、複数のセルに値を入力してMDURATION関数を参照する方法が一般的に使われています。例えばA列に受渡日、B列に満期日、C列に利率といったデータ配置を行い、関数内でセル参照を利用することで効率的な計算が可能です。
=MDURATION(A2, B2, C2, D2, E2, 1)
エラーが発生する主な原因として、日付の形式が正しくない場合やテキストとして入力された日付データが挙げられます。DATE関数、TO_DATE関数、または他の日付解析関数を使用して適切な日付形式に変換することで、このようなエラーを回避できます。
頻度パラメータに1、2、4以外の値を入力した場合や、利率・利回りに負の値を指定した場合もエラーの原因となります。また、受渡日が満期日よりも後の日付になっている論理的な矛盾も関数の実行エラーを引き起こすため、入力値の妥当性を事前に確認することが重要です。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介