<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>リスク管理 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e3%83%aa%e3%82%b9%e3%82%af%e7%ae%a1%e7%90%86/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 07 May 2026 12:43:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>リスク管理 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのDURATION関数の使い方｜マコーレー・デュレーション</title>
		<link>https://mashukabu.com/excel-duration-function/</link>
					<comments>https://mashukabu.com/excel-duration-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:43:15 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[DURATION]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[リスク管理]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6582</guid>

					<description><![CDATA[ExcelのDURATION関数でマコーレー・デュレーションを計算する方法を、基本構文から実務での金利感応度予測まで詳しく解説。MDURATION関数との違い、よくあるエラー対処法、債券ポートフォリオ管理での活用例も紹介します。]]></description>
										<content:encoded><![CDATA[
<p>ExcelのDURATION関数は、債券のマコーレー・デュレーションを計算する財務関数です。マコーレー・デュレーションは、債券のキャッシュフロー（利息と元本）を現在価値で加重平均した期間を指します。簡単に言えば「投資資金の平均回収期間」を表すリスク指標です。</p>



<p>単なる残存年数ではなく、金利が変動したときの価格変動を予測する指標として、運用や財務の現場で日常的に使われていますよ。</p>



<p>ただ、業務で初めて触れる方からは「年単位で出るのに年数ではないってどういうこと？」という疑問をよく聞きます。MDURATION（修正デュレーション）との違いも分かりにくいですよね。この記事では構文と使い方の基本から、修正デュレーションとの違い、金利感応度の予測まで、実務で活用できる形で詳しく解説していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのDURATION関数とは？マコーレー・デュレーションの考え方</a></li><li><a href="#toc2" tabindex="0">DURATION関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">DURATION関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">例: 5年・半年クーポン・利率5%・利回り4%</a></li><li><a href="#toc5" tabindex="0">日付はDATE関数で渡すのが安全</a></li><li><a href="#toc6" tabindex="0">ゼロクーポン債で残存年数と一致するか確認</a></li></ol></li><li><a href="#toc7" tabindex="0">マコーレー・デュレーションが「加重平均期間」である理由</a></li><li><a href="#toc8" tabindex="0">DURATIONとMDURATION（修正デュレーション）の違い</a><ol><li><a href="#toc9" tabindex="0">数式上の関係</a></li><li><a href="#toc10" tabindex="0">関数比較表</a></li><li><a href="#toc11" tabindex="0">使い分けの判断基準</a></li></ol></li><li><a href="#toc12" tabindex="0">金利感応度の予測（実務での主用途）</a><ol><li><a href="#toc13" tabindex="0">一次近似式</a></li><li><a href="#toc14" tabindex="0">実例: 0.5%の金利上昇で価格はいくら下がる？</a></li><li><a href="#toc15" tabindex="0">Excelで実装してみる</a></li><li><a href="#toc16" tabindex="0">凸性（コンベキシティ）の補足</a></li></ol></li><li><a href="#toc17" tabindex="0">DURATION関数のよくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">特に注意したいfrequencyの仕様</a></li><li><a href="#toc19" tabindex="0">日付フォーマットの罠</a></li></ol></li><li><a href="#toc20" tabindex="0">DURATION関数とあわせて使う関連関数</a><ol><li><a href="#toc21" tabindex="0">MDURATION関数(修正デュレーション)</a></li><li><a href="#toc22" tabindex="0">PRICE関数(債券価格の計算)</a></li><li><a href="#toc23" tabindex="0">YIELD関数(最終利回りの計算)</a></li><li><a href="#toc24" tabindex="0">XIRR関数(不規則キャッシュフローの内部収益率)</a></li><li><a href="#toc25" tabindex="0">PV関数(現在価値の計算)</a></li></ol></li><li><a href="#toc26" tabindex="0">イミュナイゼーション戦略でのデュレーション活用</a><ol><li><a href="#toc27" tabindex="0">仕組み</a></li><li><a href="#toc28" tabindex="0">簡単なシミュレーション例</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのDURATION関数とは？マコーレー・デュレーションの考え方</span></h2>



<p>ExcelのDURATION関数は、<strong>マコーレー・デュレーション</strong>を計算する関数です。</p>



<p>マコーレー・デュレーション（Macaulay Duration）は、1938年にアメリカの経済学者フレデリック・マコーレーが提唱した概念です。債券の各キャッシュフローを現在価値で重みづけして加重平均した期間を指します。単位は「年」ですが、これは単純な残存年数とは異なる意味を持ちますよ。</p>



<p>たとえば残存5年のクーポン債の場合、満期前にも利息（クーポン）を受け取れますよね。途中で資金が戻ってくる分、実質的な回収期間は5年より短くなります。この「現金の重みで均した平均的な回収期間」がマコーレー・デュレーションです。</p>



<figure class="wp-block-table"><table><thead><tr><th>債券タイプ</th><th>マコーレー・デュレーション</th></tr></thead><tbody><tr><td>ゼロクーポン債（残存5年）</td><td>5.0年（残存年数と完全一致）</td></tr><tr><td>クーポン付き債券（残存5年）</td><td>5年より短い</td></tr></tbody></table></figure>



<p>ゼロクーポン債は途中の利息支払いがなく、満期時に元本がまとめて戻るだけです。そのためデュレーション=残存年数と一致します。一方、クーポン債は途中で利息が入る分、加重平均期間は短くなりますよ。</p>



<p>この値が大きいほど、金利変動による価格変動が大きくなります。つまりデュレーションは「<strong>金利リスクの大きさ</strong>」を測る指標としても機能するわけです。</p>



<h2 class="wp-block-heading"><span id="toc2">DURATION関数の構文と引数</span></h2>



<p>DURATION関数の構文は次の通りです。</p>



<pre class="wp-block-code"><code>=DURATION(settlement, maturity, coupon, yld, frequency, [basis])</code></pre>



<p>各引数の意味を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>settlement</td><td>必須</td><td>受渡日（債券を購入する日）</td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還される日）</td></tr><tr><td>coupon</td><td>必須</td><td>年利クーポンレート（5%なら0.05）</td></tr><tr><td>yld</td><td>必須</td><td>年間最終利回り（4%なら0.04）</td></tr><tr><td>frequency</td><td>必須</td><td>年間利払回数（1=年1回、2=半年、4=四半期）</td></tr><tr><td>basis</td><td>任意</td><td>日数計算基準（0〜4、省略時は0）</td></tr></tbody></table></figure>



<p>frequency引数は <strong>1、2、4 のいずれかのみ有効</strong>です。3や12を指定すると <code>#NUM!</code> エラーになるので注意してください。</p>



<p>basis引数（日数計算基準）は次の5種類から選びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>日数計算基準</th><th>主な用途</th></tr></thead><tbody><tr><td>0（既定）</td><td>NASD 30/360</td><td>米国社債の標準</td></tr><tr><td>1</td><td>実日数/実日数</td><td>日本国債、米国財務省証券</td></tr><tr><td>2</td><td>実日数/360</td><td>一部マネーマーケット</td></tr><tr><td>3</td><td>実日数/365</td><td>一部の社債</td></tr><tr><td>4</td><td>European 30/360</td><td>欧州社債</td></tr></tbody></table></figure>



<p>日本国債のデュレーションを計算する場合は、basis=1（実日数/実日数）に近い計算を選ぶのが一般的ですよ。</p>



<h2 class="wp-block-heading"><span id="toc3">DURATION関数の基本的な使い方</span></h2>



<p>実際に5年債のデュレーションを計算してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc4">例: 5年・半年クーポン・利率5%・利回り4%</span></h3>



<p>次のような条件の債券を考えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>値</th></tr></thead><tbody><tr><td>受渡日</td><td>2026/1/1</td></tr><tr><td>満期日</td><td>2031/1/1</td></tr><tr><td>クーポンレート</td><td>5%（年率）</td></tr><tr><td>最終利回り</td><td>4%（年率）</td></tr><tr><td>利払回数</td><td>半年に1回（frequency=2）</td></tr><tr><td>日数基準</td><td>NASD 30/360（basis=0）</td></tr></tbody></table></figure>



<p>数式は次のように書きます。</p>



<pre class="wp-block-code"><code>=DURATION(&quot;2026/1/1&quot;, &quot;2031/1/1&quot;, 0.05, 0.04, 2, 0)</code></pre>



<p>結果は <strong>約 4.499 年</strong> になります。残存期間は5年ですが、半年ごとにクーポンを受け取る分だけ平均回収期間が短くなりました。</p>



<p>クーポンレート（5%）が利回り（4%）より高いので、この債券は若干プレミアム（額面より高い価格）で取引される状態ですね。</p>



<h3 class="wp-block-heading"><span id="toc5">日付はDATE関数で渡すのが安全</span></h3>



<p>文字列で日付を直接書いても動きますが、地域設定によって解釈が変わる場合があります。実務ではDATE関数（年月日から日付値を作る関数）を使うのが安全ですよ。</p>



<pre class="wp-block-code"><code>=DURATION(DATE(2026,1,1), DATE(2031,1,1), 0.05, 0.04, 2, 0)</code></pre>



<p>セル参照で渡す場合も、対象セルが日付型として認識されているかを確認してください。</p>



<h3 class="wp-block-heading"><span id="toc6">ゼロクーポン債で残存年数と一致するか確認</span></h3>



<p>ゼロクーポン債（クーポンレート=0%）でデュレーションを計算すると、残存年数と完全一致するはずです。実際に試してみましょう。</p>



<pre class="wp-block-code"><code>=DURATION(DATE(2026,1,1), DATE(2031,1,1), 0, 0.03, 1, 0)</code></pre>



<p>結果は <strong>5.0 年</strong>。残存5年のゼロクーポン債のデュレーションは、定義通り残存年数と一致します。これは概念の確認に有用な計算ですので、覚えておいてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc7">マコーレー・デュレーションが「加重平均期間」である理由</span></h2>



<p>ここで一度、マコーレー・デュレーションの計算式を見ておきましょう。</p>



<pre class="wp-block-code"><code>マコーレー・デュレーション = Σ(t × PVCF_t) / Σ(PVCF_t)</code></pre>



<ul class="wp-block-list"><li>t: 各キャッシュフローまでの期間（年）</li><li>PVCF_t: 期間tのキャッシュフローの現在価値</li><li>分母 Σ(PVCF_t) = 債券の理論価格</li></ul>



<p>つまり各時点 t を、その時点のキャッシュフロー現在価値で重みづけして加重平均しているわけです。</p>



<p>たとえば残存5年・クーポン4%・年1回・利回り4%の債券（額面100）で考えてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>経過年t</th><th>キャッシュフロー</th><th>現在価値PVCF_t</th><th>t × PVCF_t</th></tr></thead><tbody><tr><td>1</td><td>4</td><td>3.85</td><td>3.85</td></tr><tr><td>2</td><td>4</td><td>3.70</td><td>7.40</td></tr><tr><td>3</td><td>4</td><td>3.56</td><td>10.67</td></tr><tr><td>4</td><td>4</td><td>3.42</td><td>13.68</td></tr><tr><td>5</td><td>104</td><td>85.48</td><td>427.40</td></tr><tr><td>合計</td><td>—</td><td>100.00</td><td>463.00</td></tr></tbody></table></figure>



<p>マコーレー・デュレーション = 463.00 / 100.00 = <strong>4.63 年</strong></p>



<p>5年目のキャッシュフロー（元本+利息=104）が現在価値ベースで圧倒的に大きいため、加重平均がほぼ5年寄りに引っ張られます。途中のクーポン4ずつの貢献で4.63年に少しだけ短縮された、というイメージですね。</p>



<p>この「キャッシュフローを現在価値で重みづけして時間を加重平均する」発想こそが、マコーレー・デュレーションの本質です。年単位で出るのは t（期間）の単位が年だからで、決して「年数」を意味しているわけではないんですよ。</p>



<h2 class="wp-block-heading"><span id="toc8">DURATIONとMDURATION（修正デュレーション）の違い</span></h2>



<p>DURATIONを業務で扱う方が必ずぶつかる疑問が、「MDURATION（修正デュレーション）と何が違うのか？」です。</p>



<h3 class="wp-block-heading"><span id="toc9">数式上の関係</span></h3>



<p>両者の関係はとてもシンプルです。</p>



<pre class="wp-block-code"><code>MDuration = Macaulay Duration / (1 + y/n)</code></pre>



<ul class="wp-block-list"><li>y: 年間最終利回り</li><li>n: 年間利払回数（frequency）</li></ul>



<p>つまり修正デュレーションは、マコーレー・デュレーションを「(1 + y/n)」で割った値です。マコーレー・デュレーションより必ず小さくなりますよ。</p>



<p>先ほどの5年債の例で確認しましょう。</p>



<pre class="wp-block-code"><code>=MDURATION(DATE(2026,1,1), DATE(2031,1,1), 0.05, 0.04, 2, 0)</code></pre>



<p>結果は <strong>約 4.411 年</strong>。マコーレー（4.499）÷(1 + 0.04/2) = 4.499 / 1.02 ≈ 4.411 となり、関係式通りの結果が得られています。</p>



<h3 class="wp-block-heading"><span id="toc10">関数比較表</span></h3>



<p>両関数の使い分けを表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DURATION（マコーレー）</th><th>MDURATION（修正）</th></tr></thead><tbody><tr><td>関数の意味</td><td>加重平均された期間（年）</td><td>金利感応度の指標</td></tr><tr><td>単位</td><td>年</td><td>年（実態は %/% に近い）</td></tr><tr><td>主な用途</td><td>概念理解、ポートフォリオ平均期間</td><td>価格変動予測、リスク管理</td></tr><tr><td>大小関係</td><td>MDurationより必ず大きい</td><td>Macaulayより必ず小さい</td></tr><tr><td>実務での使用頻度</td><td>教科書・概念理解で頻用</td><td>日常の業務で頻用</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc11">使い分けの判断基準</span></h3>



<ul class="wp-block-list"><li><strong>概念や教科書的な議論</strong>ではマコーレー・デュレーションを使う</li><li><strong>価格変動を予測する実務計算</strong>ではMDURATION（修正デュレーション）を使う</li></ul>



<p>詳しい使い方は<a href="https://mashukabu.com/2026-XX-XX-excel-mduration-function/">ExcelのMDURATION関数の使い方</a>も参考にしてみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc12">金利感応度の予測（実務での主用途）</span></h2>



<p>DURATION関数の最も実務的な使い道は、<strong>金利が動いたときの債券価格の変動を予測すること</strong>です。</p>



<h3 class="wp-block-heading"><span id="toc13">一次近似式</span></h3>



<p>修正デュレーションを使った価格変動の近似式は次の通りです。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −MDuration × Δy</code></pre>



<ul class="wp-block-list"><li>ΔP/P: 価格の変動率</li><li>Δy: 利回りの変化（小数表記。1%なら0.01）</li></ul>



<p>利回りが上がると価格は下がるので、マイナス符号が付いていますね。</p>



<h3 class="wp-block-heading"><span id="toc14">実例: 0.5%の金利上昇で価格はいくら下がる？</span></h3>



<p>先ほどの5年債（MDuration=4.411）で、利回りが 4% から 4.5% に上昇した場合を考えましょう。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −4.411 × 0.005 = −0.02206 = −2.21%</code></pre>



<p>つまり価格は <strong>約 2.21% 下落</strong>する見込みになります。100万円分保有していれば約2.2万円の評価損ですね。</p>



<h3 class="wp-block-heading"><span id="toc15">Excelで実装してみる</span></h3>



<p>次のようにセルを組み合わせれば、金利変化に対する価格変動を即座に計算できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内容</th><th>値</th></tr></thead><tbody><tr><td>A1</td><td>受渡日</td><td>2026/1/1</td></tr><tr><td>A2</td><td>満期日</td><td>2031/1/1</td></tr><tr><td>A3</td><td>クーポン</td><td>0.05</td></tr><tr><td>A4</td><td>利回り</td><td>0.04</td></tr><tr><td>A5</td><td>利払回数</td><td>2</td></tr><tr><td>A6</td><td>利回り変化Δy</td><td>0.005</td></tr><tr><td>A7</td><td>=MDURATION(A1,A2,A3,A4,A5,0)</td><td>4.411</td></tr><tr><td>A8</td><td>=-A7*A6</td><td>-0.0221（-2.21%）</td></tr></tbody></table></figure>



<p>現実のポートフォリオでは数千銘柄を保有することもあります。各銘柄のMDURATIONを計算してエクスポージャー（保有額×MDuration）を集計すれば、ポートフォリオ全体の金利感応度を一目で把握できますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">凸性（コンベキシティ）の補足</span></h3>



<p>このΔP/P ≈ −MDuration × Δy はあくまで<strong>一次近似</strong>です。利回りが大きく動く局面（1%以上の金利変動など）では、実際の価格曲線とのズレが目立ってきます。</p>



<p>より正確に予測したい場合は、二次の項である<strong>凸性（Convexity）</strong>を加えます。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −MDuration × Δy + (1/2) × Convexity × (Δy)²</code></pre>



<p>Excelには凸性専用の関数はありませんが、SUMPRODUCTで自前実装することは可能です。CFA試験などで頻出のテーマですね。</p>



<h2 class="wp-block-heading"><span id="toc17">DURATION関数のよくあるエラーと対処法</span></h2>



<p>DURATION関数でつまずきやすいエラーを表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>発生条件</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>日付として認識されない文字列を渡した</td><td>DATE関数または日付型セル参照を使う</td></tr><tr><td>#NUM!</td><td>settlement >= maturity（受渡日が満期日以降）</td><td>日付の前後関係を確認</td></tr><tr><td>#NUM!</td><td>coupon < 0 または yld < 0</td><td>利率を 0% 以上に修正</td></tr><tr><td>#NUM!</td><td>frequency が 1, 2, 4 以外</td><td>年1回・半年・四半期のいずれかに修正</td></tr><tr><td>#NUM!</td><td>basis が 0〜4 の範囲外</td><td>日数基準を 0〜4 で指定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">特に注意したいfrequencyの仕様</span></h3>



<p>frequency引数は <strong>1（年1回）、2（半年）、4（四半期）のみ有効</strong>です。月次クーポン（12）や年3回（3）の債券は計算できません。</p>



<p>たとえば次の数式は #NUM! エラーになります。</p>



<pre class="wp-block-code"><code>=DURATION(&quot;2026/1/1&quot;, &quot;2031/1/1&quot;, 0.05, 0.04, 12, 0)  ← 月次は不可</code></pre>



<p>月次キャッシュフローを扱いたい場合の対処は2通りです。SUMPRODUCTで自前計算するか、不規則な現金流入を扱える<a href="https://mashukabu.com/2025-XX-XX-excel-xirr-function/">XIRR関数</a>を組み合わせる流れになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">日付フォーマットの罠</span></h3>



<p><code>"2026/1/1"</code> のような文字列リテラルは、地域設定によっては解釈が変わる場合があります。実務では DATE関数 またはセル参照（日付型として認識されているセル）を使うのが鉄則です。</p>



<h2 class="wp-block-heading"><span id="toc20">DURATION関数とあわせて使う関連関数</span></h2>



<p>DURATION関数は、債券分析の関数群と組み合わせて使うのが基本です。よく一緒に使う関数を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc21">MDURATION関数(修正デュレーション)</span></h3>



<p>価格変動の一次近似に使う、実務で最も使用頻度の高い関数です。引数構造はDURATIONと完全に同じなので、両方を並べて使えます。詳細は<a href="https://mashukabu.com/2026-XX-XX-excel-mduration-function/">MDURATION関数の使い方</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc22">PRICE関数(債券価格の計算)</span></h3>



<p>利回りから債券価格（クリーンプライス）を計算する関数です。デュレーションで予測した価格変動の検証にも使えますよ。詳細は<a href="https://mashukabu.com/2026-XX-XX-excel-price-function/">PRICE関数の使い方</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc23">YIELD関数(最終利回りの計算)</span></h3>



<p>債券価格から最終利回りを逆算する関数です。市場価格を入力してYIELDで利回りを求め、それをDURATIONの yld引数に渡す流れがよくあります。詳細は<a href="https://mashukabu.com/2026-XX-XX-excel-yield-function/">YIELD関数の使い方</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc24">XIRR関数(不規則キャッシュフローの内部収益率)</span></h3>



<p>DURATION関数は定期キャッシュフロー（年1・半年・四半期）専用です。月次や不規則な支払いは扱えません。XIRR関数で内部収益率を計算してから、別途デュレーションをSUMPRODUCTで実装する流れになりますよ。詳細は<a href="https://mashukabu.com/2025-XX-XX-excel-xirr-function/">XIRR関数の使い方</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc25">PV関数(現在価値の計算)</span></h3>



<p>マコーレー・デュレーションの計算式の核は「キャッシュフローの現在価値」です。デュレーションを手計算で検証する際にPV関数が役立ちます。詳細は<a href="https://mashukabu.com/2025-XX-XX-excel-pv-function/">PV関数の使い方</a>を参照してください。</p>



<h2 class="wp-block-heading"><span id="toc26">イミュナイゼーション戦略でのデュレーション活用</span></h2>



<p>最後に、デュレーションが実務で果たす最も重要な役割の一つ、<strong>イミュナイゼーション戦略</strong>を紹介します。</p>



<p>イミュナイゼーション（immunization）とは、金利変動の影響を受けないように資産と負債を構築する戦略です。具体的には、保有資産と将来の支払い負債のデュレーションを一致させますよ。</p>



<h3 class="wp-block-heading"><span id="toc27">仕組み</span></h3>



<ul class="wp-block-list"><li>金利が上がる → 債券価格は下がる（含み損が発生）</li><li>金利が上がる → 再投資収益は上がる（クーポン再投資の利回り改善）</li></ul>



<p>この2つの効果は逆方向に働きますよね。資産デュレーションを負債デュレーションと等しくしておくと、両者がぴったり打ち消しあって金利変動の損益がほぼゼロになります。</p>



<p>生命保険会社や年金基金が「ALM（Asset-Liability Management、資産負債管理）」と呼ぶ手法の核心がこれです。Excelでは保有債券一覧のMDURATIONを計算し、保有金額をウェイトとした加重平均を取ります。それを目標負債のデュレーションと比較する作業が日常的に行われていますよ。</p>



<h3 class="wp-block-heading"><span id="toc28">簡単なシミュレーション例</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>資産</th><th>保有額</th><th>MDuration</th><th>エクスポージャー（額×MDur）</th></tr></thead><tbody><tr><td>5年国債</td><td>1,000万円</td><td>4.5</td><td>4,500万円・年</td></tr><tr><td>10年国債</td><td>500万円</td><td>8.5</td><td>4,250万円・年</td></tr><tr><td>30年国債</td><td>200万円</td><td>18.0</td><td>3,600万円・年</td></tr><tr><td>合計</td><td>1,700万円</td><td>平均 7.27年</td><td>12,350万円・年</td></tr></tbody></table></figure>



<p>ポートフォリオ加重平均MDuration = 12,350 / 1,700 = <strong>7.27年</strong></p>



<p>負債デュレーションが7.0年なら、もう少し短い債券を増やしてマッチングさせる、という判断ができます。</p>



<h2 class="wp-block-heading"><span id="toc29">まとめ</span></h2>



<p>ExcelのDURATION関数のポイントを整理します。</p>



<ul class="wp-block-list"><li>DURATION関数はマコーレー・デュレーション（債券キャッシュフローの加重平均期間）を計算する</li><li>単位は年だが、単純な残存年数ではなく「現在価値で重みづけされた平均回収期間」</li><li>ゼロクーポン債のデュレーション=残存年数（クーポンがあれば残存年数より短い）</li><li>構文は <code>=DURATION(settlement, maturity, coupon, yld, frequency, [basis])</code></li><li>frequency は 1、2、4 のいずれかのみ有効（月次は不可）</li><li>修正デュレーション（MDURATION）= マコーレー / (1 + y/n)</li><li>価格変動の予測は MDURATION を使い、<code>ΔP/P ≈ −MDuration × Δy</code> で近似</li><li>凸性（Convexity）まで含めると二次近似で精度が上がる</li><li>イミュナイゼーション戦略では資産と負債のデュレーションを一致させる</li></ul>



<p>債券投資・ALM・金利リスク管理の現場で、DURATION関数とMDURATION関数はセットで使う基本ツールです。両者の関係と使い分けを押さえておけば、業務でも試験でも安心して取り組めますよ。</p>



<p>関連する財務関数として、<a href="https://mashukabu.com/2026-XX-XX-excel-mduration-function/">MDURATION関数</a>、<a href="https://mashukabu.com/2026-XX-XX-excel-price-function/">PRICE関数</a>、<a href="https://mashukabu.com/2026-XX-XX-excel-yield-function/">YIELD関数</a>、<a href="https://mashukabu.com/2025-XX-XX-excel-xirr-function/">XIRR関数</a>、<a href="https://mashukabu.com/2025-XX-XX-excel-pv-function/">PV関数</a>もあわせて確認してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-duration-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのMDURATION関数の使い方｜修正デュレーションで金利感応度を計算</title>
		<link>https://mashukabu.com/excel-mduration-function/</link>
					<comments>https://mashukabu.com/excel-mduration-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:42:55 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[MDURATION]]></category>
		<category><![CDATA[リスク管理]]></category>
		<category><![CDATA[修正デュレーション]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6568</guid>

					<description><![CDATA[ExcelのMDURATION関数で修正デュレーション（金利感応度）を計算する方法を、構文・実例・DURATION関数との違いまで詳しく解説。価格変動の一次近似式 ΔP/P ≈ -MDuration×Δy の使い方、よくあるエラーの対処法、債券ポートフォリオ管理での活用例も紹介します。]]></description>
										<content:encoded><![CDATA[
<p>ExcelのMDURATION関数は、債券の修正デュレーション（Modified Duration）を計算する財務関数です。修正デュレーションは「金利が1%変動したら債券価格が何%動くか」を表す金利感応度の指標。債券の価格変動を予測する実務計算で日常的に使われていますよ。</p>



<p>DURATION関数（マコーレー・デュレーション）とよく混同されますが、両者の使い分けは明確です。学術的な期間構造の分析にはDURATION、価格変動の予測やリスク管理にはMDURATIONを使います。実務ではほぼMDURATIONの方が出番が多いですよ。</p>



<p>ただ、業務で初めて触れる方からは「マコーレーと修正、結局どっちを使えばいいの？」「数式上は単純な変換なのに、なぜ別の関数があるの？」という疑問をよく聞きます。この記事ではMDURATION関数の構文と基本的な使い方を解説します。さらにDURATION関数との使い分けまで、Excelで実務に使える形で詳しく見ていきますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのMDURATION関数とは？修正デュレーションの考え方</a><ol><li><a href="#toc2" tabindex="0">マコーレーとの違いを表で先に押さえる</a></li></ol></li><li><a href="#toc3" tabindex="0">MDURATION関数の構文と引数</a><ol><li><a href="#toc4" tabindex="0">frequencyは 1, 2, 4 のみ有効</a></li><li><a href="#toc5" tabindex="0">basis引数（日数計算基準）の早見表</a></li></ol></li><li><a href="#toc6" tabindex="0">MDURATION関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">例: 5年・半年クーポン・利率5%・利回り4%</a></li><li><a href="#toc8" tabindex="0">計算過程を確認する</a></li></ol></li><li><a href="#toc9" tabindex="0">修正デュレーションで価格変動を予測する</a><ol><li><a href="#toc10" tabindex="0">一次近似の公式</a></li><li><a href="#toc11" tabindex="0">実例：利回り0.5%上昇シナリオ</a></li><li><a href="#toc12" tabindex="0">Excelで複数シナリオを一覧する</a></li><li><a href="#toc13" tabindex="0">DV01（金利1bp変動の影響額）</a></li></ol></li><li><a href="#toc14" tabindex="0">DURATION関数とMDURATION関数の使い分け</a><ol><li><a href="#toc15" tabindex="0">使い分けフローチャート</a></li><li><a href="#toc16" tabindex="0">比較表（再掲・拡張版）</a></li><li><a href="#toc17" tabindex="0">よくある誤解</a></li></ol></li><li><a href="#toc18" tabindex="0">一次近似の限界とコンベクシティ</a><ol><li><a href="#toc19" tabindex="0">誤差の実例</a></li><li><a href="#toc20" tabindex="0">コンベクシティによる補正</a></li></ol></li><li><a href="#toc21" tabindex="0">実務での活用シーン</a><ol><li><a href="#toc22" tabindex="0">シーン1: 金利リスクの定量化</a></li><li><a href="#toc23" tabindex="0">シーン2: ポートフォリオの平均MDURATION</a></li><li><a href="#toc24" tabindex="0">シーン3: ALM（資産負債管理）</a></li><li><a href="#toc25" tabindex="0">シーン4: ヘッジ比率の算出</a></li></ol></li><li><a href="#toc26" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc27" tabindex="0">#NUM! エラー</a></li><li><a href="#toc28" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc29" tabindex="0">結果がおかしいケース（エラーにはならない）</a></li></ol></li><li><a href="#toc30" tabindex="0">まとめ</a><ol><li><a href="#toc31" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのMDURATION関数とは？修正デュレーションの考え方</span></h2>



<p>ExcelのMDURATION関数は、<strong>修正デュレーション（Modified Duration）</strong> を計算する関数です。</p>



<p>修正デュレーションは、債券のマコーレー・デュレーションを <code>(1 + 利回り/年複利回数)</code> で割ったもの。<strong>金利が1%変動したときに債券価格が何%動くかの感応度</strong>を表します。単位は「年」ですが、これは時間そのものではなく「価格弾力性の指標」と理解するのがおすすめですよ。</p>



<p>たとえばMDurationが4.4年の債券は、利回りが1%上昇すれば価格が約4.4%下落します。逆に1%下落すれば約4.4%上昇する、という関係です。この一次近似（細かい曲線を直線で近似する数学手法）は債券リスク管理の基本ですよ。</p>



<h3 class="wp-block-heading"><span id="toc2">マコーレーとの違いを表で先に押さえる</span></h3>



<p>ExcelにはDURATION関数（マコーレー・デュレーション）も用意されていて、両者は引数構造が完全に同じです。違いは戻り値の意味と用途だけ。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DURATION（マコーレー）</th><th>MDURATION（修正）</th></tr></thead><tbody><tr><td>戻り値</td><td>キャッシュフロー加重平均期間</td><td>金利1%変動時の価格変動率</td></tr><tr><td>主な用途</td><td>期間構造の分析・学術用途</td><td>価格変動の予測・リスク管理</td></tr><tr><td>大小関係</td><td>MDurationより必ず大きい</td><td>Macaulayより必ず小さい</td></tr><tr><td>実務での頻度</td><td>学術・解説で使う</td><td>業務ではこちらが主流</td></tr></tbody></table></figure>



<p>両者の数式関係はシンプルです。</p>



<pre class="wp-block-code"><code>Modified Duration = Macaulay Duration / (1 + y/n)</code></pre>



<ul class="wp-block-list"><li>y: 年率最終利回り（4%なら 0.04）</li><li>n: 年間利払回数（半年複利なら 2）</li></ul>



<p>たとえば利回り4%・半年複利の場合を考えてみましょう。Macaulay Durationを <code>1 + 0.04/2 = 1.02</code> で割った値が修正デュレーションになります。差は約2%程度ですが、この変換が「期間の指標」から「価格感応度の指標」へと意味を変えるのです。</p>



<p>詳しいマコーレー・デュレーションの考え方は<a href="https://mashukabu.com/excel-duration-function/">ExcelのDURATION関数の使い方</a>で解説しています。合わせて読んでみてください。</p>



<h2 class="wp-block-heading"><span id="toc3">MDURATION関数の構文と引数</span></h2>



<p>MDURATION関数の構文は次の通りです。</p>



<pre class="wp-block-code"><code>=MDURATION(settlement, maturity, coupon, yld, frequency, [basis])</code></pre>



<p>各引数の意味を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>settlement</td><td>必須</td><td>受渡日（債券を購入する日）</td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還される日）</td></tr><tr><td>coupon</td><td>必須</td><td>年利クーポンレート（5%なら0.05）</td></tr><tr><td>yld</td><td>必須</td><td>年間最終利回り（4%なら0.04）</td></tr><tr><td>frequency</td><td>必須</td><td>年間利払回数（1=年1回、2=半年、4=四半期）</td></tr><tr><td>basis</td><td>任意</td><td>日数計算基準（0〜4、省略時は0）</td></tr></tbody></table></figure>



<p>引数構造はDURATION関数とまったく同じです。同じセルを参照して両関数を並べれば、マコーレーと修正の両方を一気に確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc4">frequencyは 1, 2, 4 のみ有効</span></h3>



<p>frequency引数は <strong>1、2、4 のいずれかのみ有効</strong> です。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>利払頻度</th><th>主な用途</th></tr></thead><tbody><tr><td>1</td><td>年1回</td><td>米国国債の一部、欧州債券</td></tr><tr><td>2</td><td>半年に1回</td><td>米国社債・国債の標準</td></tr><tr><td>4</td><td>四半期に1回</td><td>一部社債</td></tr></tbody></table></figure>



<p>3、6、12 のような他の数値を指定すると <code>#NUM!</code> エラーになります。日本国債の半年クーポンは 2、米国財務省証券（Tノート、Tボンド）も 2 を指定するのが標準的ですよ。</p>



<h3 class="wp-block-heading"><span id="toc5">basis引数（日数計算基準）の早見表</span></h3>



<p>basis引数は債券の日数計算ルールを指定します。省略すると0（NASD 30/360）が使われます。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>日数計算基準</th><th>主な用途</th></tr></thead><tbody><tr><td>0（既定）</td><td>NASD 30/360</td><td>米国社債の標準</td></tr><tr><td>1</td><td>実日数/実日数</td><td>日本国債、米国財務省証券</td></tr><tr><td>2</td><td>実日数/360</td><td>一部マネーマーケット</td></tr><tr><td>3</td><td>実日数/365</td><td>一部の社債</td></tr><tr><td>4</td><td>European 30/360</td><td>欧州社債</td></tr></tbody></table></figure>



<p>業務でどのbasisを使うかは、対象債券の発行体規約で決まっています。日本国債なら1、米国社債なら0が一般的ですよ。</p>



<h2 class="wp-block-heading"><span id="toc6">MDURATION関数の基本的な使い方</span></h2>



<p>実際にExcelでMDURATION関数を動かしてみましょう。DURATION記事と同じ条件の5年債を使うので、両者の関係も実感できますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">例: 5年・半年クーポン・利率5%・利回り4%</span></h3>



<p>次のような条件の債券を考えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>値</th></tr></thead><tbody><tr><td>受渡日</td><td>2026/1/1</td></tr><tr><td>満期日</td><td>2031/1/1</td></tr><tr><td>クーポンレート</td><td>5%（年率）</td></tr><tr><td>最終利回り</td><td>4%（年率）</td></tr><tr><td>利払回数</td><td>半年に1回（frequency=2）</td></tr><tr><td>日数基準</td><td>NASD 30/360（basis=0）</td></tr></tbody></table></figure>



<p>Excelのセルに次のように入力します。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>入力値</th></tr></thead><tbody><tr><td>A1</td><td>2026/1/1</td></tr><tr><td>A2</td><td>2031/1/1</td></tr><tr><td>A3</td><td>0.05</td></tr><tr><td>A4</td><td>0.04</td></tr><tr><td>A5</td><td>2</td></tr></tbody></table></figure>



<p>数式は次のように書きます。</p>



<pre class="wp-block-code"><code>=MDURATION(A1, A2, A3, A4, A5, 0)</code></pre>



<p>DATE関数を使うとさらに分かりやすいです。</p>



<pre class="wp-block-code"><code>=MDURATION(DATE(2026,1,1), DATE(2031,1,1), 0.05, 0.04, 2, 0)</code></pre>



<p>結果は <strong>約 4.411 年</strong> になります。</p>



<h3 class="wp-block-heading"><span id="toc8">計算過程を確認する</span></h3>



<p>DURATION関数とMDURATION関数を並べて実行すると、関係性がはっきり見えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>数式</th><th>結果</th></tr></thead><tbody><tr><td>A6</td><td><code>=DURATION(A1,A2,A3,A4,A5,0)</code></td><td>4.499</td></tr><tr><td>A7</td><td><code>=MDURATION(A1,A2,A3,A4,A5,0)</code></td><td>4.411</td></tr><tr><td>A8</td><td><code>=A6/(1+A4/A5)</code></td><td>4.411</td></tr></tbody></table></figure>



<p>A7とA8の結果は完全に一致します。マコーレー 4.499 を 1.02 で割った値が修正デュレーション 4.411 です。Excelの内部でも同じ計算をしているわけですね。</p>



<h2 class="wp-block-heading"><span id="toc9">修正デュレーションで価格変動を予測する</span></h2>



<p>ここからがMDURATION関数の本領発揮です。修正デュレーションを使えば、利回り変化に対する価格変動を一次近似で予測できますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">一次近似の公式</span></h3>



<p>修正デュレーションを使った価格変動予測の公式は次の通りです。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −Modified Duration × Δy</code></pre>



<ul class="wp-block-list"><li>ΔP/P: 価格変動率</li><li>Δy: 利回りの変化量（小数表記。0.5% なら 0.005）</li></ul>



<p>マイナス符号は「金利と債券価格が逆方向に動く」ことを表します。利回りが上がれば価格は下がり、利回りが下がれば価格は上がる、というおなじみの関係ですね。</p>



<h3 class="wp-block-heading"><span id="toc11">実例：利回り0.5%上昇シナリオ</span></h3>



<p>先ほどの5年債（MDuration=4.411）で、利回りが 4% から 4.5% に上昇した場合を計算してみましょう。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −4.411 × 0.005 = −0.02206 = −2.21%</code></pre>



<p>つまり価格は <strong>約 2.21% 下落</strong>する見込みです。100万円分保有していれば約2.2万円の評価損になります。これがMDURATIONの直接的な使い方ですよ。</p>



<h3 class="wp-block-heading"><span id="toc12">Excelで複数シナリオを一覧する</span></h3>



<p>利回り変化のシナリオごとに価格変動を一覧する表を作ると、実務でそのまま使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>数式</th><th>結果</th></tr></thead><tbody><tr><td>A1</td><td>（MDURATIONの値）</td><td>4.411</td></tr><tr><td>B2</td><td><code>0.0025</code>（+25bp）</td><td>&nbsp;</td></tr><tr><td>B3</td><td><code>0.005</code>（+50bp）</td><td>&nbsp;</td></tr><tr><td>B4</td><td><code>0.01</code>（+100bp）</td><td>&nbsp;</td></tr><tr><td>B5</td><td><code>-0.005</code>（-50bp）</td><td>&nbsp;</td></tr><tr><td>C2</td><td><code>=-$A$1*B2</code></td><td>-1.10%</td></tr><tr><td>C3</td><td><code>=-$A$1*B3</code></td><td>-2.21%</td></tr><tr><td>C4</td><td><code>=-$A$1*B4</code></td><td>-4.41%</td></tr><tr><td>C5</td><td><code>=-$A$1*B5</code></td><td>+2.21%</td></tr></tbody></table></figure>



<p>利回りの変化（B列）を入れるだけで価格変動率（C列）が瞬時に出ます。リスク管理レポートで頻出するパターンですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">DV01（金利1bp変動の影響額）</span></h3>



<p>実務では「金利が1bp（0.01%）動いたらポートフォリオの価値が何円動くか」を <strong>DV01（Dollar Value of 01）</strong> として日次管理します。1bpは0.01%、つまり金利0.0001の変動を指します。</p>



<pre class="wp-block-code"><code>DV01 ≈ 額面 × Modified Duration × 0.0001</code></pre>



<p>額面1億円・MDuration 4.411 の場合は次のように計算できます。</p>



<pre class="wp-block-code"><code>=100000000 * 4.411 * 0.0001</code></pre>



<p>結果は <strong>約 44,110 円/bp</strong>。1bpの金利変動で約4.4万円の価値変動が発生する計算ですね。</p>



<figure class="wp-block-table"><table><thead><tr><th>額面</th><th>MDuration</th><th>DV01</th></tr></thead><tbody><tr><td>1億円</td><td>4.411</td><td>約 44,110 円/bp</td></tr><tr><td>10億円</td><td>4.411</td><td>約 441,100 円/bp</td></tr><tr><td>100億円</td><td>4.411</td><td>約 4,411,000 円/bp</td></tr></tbody></table></figure>



<p>トレーダーやリスク管理担当者は、毎朝このDV01を確認して当日の許容変動額をチェックしています。</p>



<h2 class="wp-block-heading"><span id="toc14">DURATION関数とMDURATION関数の使い分け</span></h2>



<p>ここまで見てきたように、DURATIONとMDURATIONは引数が同じで、戻り値の関係も明確です。実務での使い分けをフローチャートで整理しましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">使い分けフローチャート</span></h3>



<pre class="wp-block-code"><code>Q: 何を知りたい？
├─ 「キャッシュフローの加重平均期間」→ DURATION（マコーレー）
├─ 「金利が1%動いたら価格は何%動く？」→ MDURATION
├─ 「2銘柄の金利感応度を比較したい」→ MDURATION
├─ 「ALMでデュレーション・マッチング」→ MDURATION
└─ 「学術論文・教科書の説明用」→ DURATION（マコーレー）</code></pre>



<p>このフローチャートを見ると、<strong>実務ではほぼMDURATION</strong> を使うことが分かりますよね。マコーレー・デュレーションは「概念の説明や解説のため」に使うことが多く、実際の数値計算には修正デュレーションが選ばれます。</p>



<h3 class="wp-block-heading"><span id="toc16">比較表（再掲・拡張版）</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DURATION</th><th>MDURATION</th></tr></thead><tbody><tr><td>戻り値の意味</td><td>キャッシュフロー加重平均期間</td><td>金利1%変動時の価格変動率</td></tr><tr><td>計算式</td><td>Σ(t × PV) / Σ(PV)</td><td>Macaulay / (1 + y/n)</td></tr><tr><td>5年債(クーポン5%, 利回り4%)の値</td><td>4.499 年</td><td>4.411 年</td></tr><tr><td>価格変動の予測に使える</td><td>△（変換が必要）</td><td>○（そのまま使える）</td></tr><tr><td>引数構造</td><td>同じ</td><td>同じ</td></tr><tr><td>主な利用シーン</td><td>学術・解説</td><td>リスク管理・トレーディング</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">よくある誤解</span></h3>



<ul class="wp-block-list"><li>「DURATIONとMDURATIONは別物」→ <strong>数式関係で結ばれた変形版</strong>です</li><li>「マコーレーは古い、修正は新しい」→ どちらも歴史ある概念で <strong>役割が違う</strong>だけ</li><li>「両方計算する必要はない」→ 解説資料を作るなら両方並べる方が分かりやすい</li></ul>



<h2 class="wp-block-heading"><span id="toc18">一次近似の限界とコンベクシティ</span></h2>



<p>ΔP/P ≈ -MDuration × Δy はあくまで<strong>一次近似</strong>です。利回りが大きく動く局面（1%以上の金利変動など）では、実際の価格曲線との乖離が出てきますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">誤差の実例</span></h3>



<p>5年債（MDuration=4.411）で利回り変化シナリオ別に予測誤差を見てみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>利回り変化</th><th>一次近似</th><th>実際の変動</th><th>誤差</th></tr></thead><tbody><tr><td>+0.25%</td><td>-1.10%</td><td>-1.10%</td><td>0.00%</td></tr><tr><td>+0.50%</td><td>-2.21%</td><td>-2.18%</td><td>0.03%</td></tr><tr><td>+1.00%</td><td>-4.41%</td><td>-4.30%</td><td>0.11%</td></tr><tr><td>+2.00%</td><td>-8.82%</td><td>-8.43%</td><td>0.39%</td></tr></tbody></table></figure>



<p>利回り変化が小さいほど誤差は小さく、大きく動くほど誤差が広がります。日常業務の <code>±0.5%</code> 程度なら一次近似で十分実用的ですよ。ただし政策金利の急変時には注意してください。</p>



<h3 class="wp-block-heading"><span id="toc20">コンベクシティによる補正</span></h3>



<p>より精度の高い予測式は次のようになります。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −MDuration × Δy + (1/2) × Convexity × (Δy)²</code></pre>



<p>コンベクシティ（Convexity、価格-利回り曲線の凸性を表す二次微分項）はExcelに標準関数がありません。そのため自作するかPRICE関数で実価格を再計算するアプローチを取りますよ。</p>



<p>通常業務ではMDURATIONだけで十分です。ただしストレステストや極端な金利シナリオを扱う場合は、コンベクシティ補正を検討してみてください。</p>



<h2 class="wp-block-heading"><span id="toc21">実務での活用シーン</span></h2>



<p>MDURATION関数が活躍する代表的な業務シーンを4つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc22">シーン1: 金利リスクの定量化</span></h3>



<p>ある債券のMDURATIONが4.411で保有額1億円。市場金利が0.5%上昇すると評価損は約221万円と即時予測できます。</p>



<pre class="wp-block-code"><code>評価損 = 100,000,000 × 4.411 × 0.005 = 2,205,500 円</code></pre>



<p>リスク管理レポートで「金利上昇シナリオの影響額」として頻出する計算ですね。</p>



<h3 class="wp-block-heading"><span id="toc23">シーン2: ポートフォリオの平均MDURATION</span></h3>



<p>複数銘柄を保有する場合、各銘柄のMDURATIONを市場価値で加重平均しましょう。これでポートフォリオ全体のMDURATIONが算出できます。</p>



<pre class="wp-block-code"><code>ポートフォリオ MDuration = Σ(各銘柄 MDuration × 各銘柄の市場価値) / Σ(市場価値)</code></pre>



<p>ExcelではSUMPRODUCT関数を使うと一発で計算可能です。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(MDuration範囲, 市場価値範囲) / SUM(市場価値範囲)</code></pre>



<p>これにより「金利1%変動するとポートフォリオ全体で何%下落するか」を1つの数値に集約できますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">シーン3: ALM（資産負債管理）</span></h3>



<p>生命保険会社や年金基金は、保有資産（債券）と負債（保険契約や年金支払約束）の両方にデュレーションを持っています。両者のMDURATIONが一致していれば、金利変動時に資産と負債の価値変動が打ち消し合うのです。これが<strong>デュレーション・マッチング</strong>ですよ。</p>



<p>ALM（Asset-Liability Management、資産負債管理）の核心はこのマッチングにあります。MDURATIONはその測定の基本ツールになっていますよ。</p>



<h3 class="wp-block-heading"><span id="toc25">シーン4: ヘッジ比率の算出</span></h3>



<p>保有債券の金利リスクを別の債券（または金利先物）でヘッジする場合、ヘッジ比率はMDURATIONを使って算出します。</p>



<pre class="wp-block-code"><code>ヘッジ比率 = (保有債券のMDuration × 市場価値) / (ヘッジ手段のMDuration × 市場価値)</code></pre>



<p>たとえば10年債（MDuration=8.5）で5年債（MDuration=4.411）の金利リスクをヘッジしたいとします。5年債1億円のリスクを10年債で打ち消すには次のように計算します。</p>



<pre class="wp-block-code"><code>ヘッジ額 = (4.411 × 100,000,000) / 8.5 ≈ 51,894,000 円</code></pre>



<p>10年債を約5,189万円分ショートすれば、5年債1億円のロングポジションの金利リスクを概ね打ち消せます。</p>



<h2 class="wp-block-heading"><span id="toc26">よくあるエラーと対処法</span></h2>



<p>MDURATION関数でよく出るエラーと対処方法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc27">#NUM! エラー</span></h3>



<p>最も多いエラーパターンです。次の条件で発生します。</p>



<ol class="wp-block-list"><li><strong>settlement >= maturity</strong>：受渡日が満期日と同じか後になっている</li></ol>



<ul class="wp-block-list"><li>→ 日付セルの値を確認、settlement < maturity に修正</li></ul>



<ol class="wp-block-list"><li><strong>frequency が 1, 2, 4 以外</strong>：3、6、12などを指定</li></ol>



<ul class="wp-block-list"><li>→ frequency を 1（年1回）、2（半年）、4（四半期）に修正</li></ul>



<ol class="wp-block-list"><li><strong>basis が 0-4 の範囲外</strong>：5や負の数を指定</li></ol>



<ul class="wp-block-list"><li>→ basis を 0〜4 に修正</li></ul>



<ol class="wp-block-list"><li><strong>coupon が負</strong>：マイナスのクーポンレート</li></ol>



<ul class="wp-block-list"><li>→ 通常の債券では発生しない。逆さスプレッドを扱う場合は別関数を検討</li></ul>



<ol class="wp-block-list"><li><strong>yld が負（古いExcel）</strong>：マイナスの利回り</li></ol>



<ul class="wp-block-list"><li>→ 最近のExcelでは負利回りも受理される場合あり。バージョン確認</li></ul>



<h3 class="wp-block-heading"><span id="toc28">#VALUE! エラー</span></h3>



<p>引数の型が不正な場合に発生します。</p>



<ol class="wp-block-list"><li><strong>settlement / maturity が日付として認識されない</strong></li></ol>



<ul class="wp-block-list"><li>→ DATE関数を使うか、セル書式を「日付」に設定</li></ul>



<ol class="wp-block-list"><li><strong>数値型引数に文字列が入っている</strong></li></ol>



<ul class="wp-block-list"><li>→ coupon、yld、frequency、basis に数値が入っているか確認</li></ul>



<h3 class="wp-block-heading"><span id="toc29">結果がおかしいケース（エラーにはならない）</span></h3>



<ol class="wp-block-list"><li><strong>settlement と maturity の入れ違い</strong>：エラーの代わりに想定外の値が返ることがある</li></ol>



<ul class="wp-block-list"><li>→ 必ず受渡日 < 満期日 になっているか確認</li></ul>



<ol class="wp-block-list"><li><strong>クーポンが0</strong>：ゼロクーポン債扱いになり、Macaulay ≈ Modified ≈ 残存年数 になる</li></ol>



<ul class="wp-block-list"><li>→ 想定通りなら問題なし</li></ul>



<ol class="wp-block-list"><li><strong>利回りが0</strong>：1+y/n=1 となり Modified=Macaulay と一致する</li></ol>



<ul class="wp-block-list"><li>→ 数式上の挙動として正しい</li></ul>



<p>エラーが出たらまず引数の値と型を1つずつ確認するのが一番早いですよ。</p>



<h2 class="wp-block-heading"><span id="toc30">まとめ</span></h2>



<p>ExcelのMDURATION関数は、債券の修正デュレーション（金利感応度）を計算する財務関数です。最後に押さえておきたい3つのキーをまとめておきます。</p>



<ul class="wp-block-list"><li><strong>金利感応度の指標</strong>：MDURATIONは「金利1%変動で価格が何%動くか」の感応度。年単位だが時間ではなく、価格弾力性として理解する</li><li><strong>一次近似の公式</strong>：<code>ΔP/P ≈ -MDuration × Δy</code> で価格変動を予測。日常業務（±0.5%程度）では十分な精度</li><li><strong>DURATION関数との使い分け</strong>：マコーレーは学術・解説用、修正は実務・リスク管理用。実務ではほぼMDURATIONが選ばれる</li></ul>



<p>債券の金利リスクを定量化したい、ポートフォリオのデュレーションを管理したい、ALMでマッチングを取りたい。こうした場面でMDURATION関数は強力な武器になりますよ。</p>



<p>DURATIONとMDURATIONは引数が完全に同じです。同じデータで両方を並列実行して比較することもできます。最初のうちは両方を並べて関係性を体感してみてください。</p>



<h3 class="wp-block-heading"><span id="toc31">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-duration-function/">ExcelのDURATION関数の使い方</a> &#8211; マコーレー・デュレーションの考え方を解説</li><li>ExcelのPRICE関数の使い方 &#8211; 債券価格を計算する姉妹関数</li><li>ExcelのYIELD関数の使い方 &#8211; 最終利回りを計算する姉妹関数</li><li>ExcelのXIRR関数の使い方 &#8211; 不規則キャッシュフローの内部収益率</li><li>ExcelのPV関数の使い方 &#8211; 割引現在価値の基礎</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-mduration-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
