次の方法で共有


WorksheetFunction.MDuration メソッド (Excel)

額面価格を $100 と仮定して、証券に対する修正マコーレー デュレーションを返します。

構文

MDuration (Arg1Arg2Arg3Arg4Arg5Arg6)

: WorksheetFunction オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Arg1 必須 バリアント型 (Variant) 受渡日: 証券の受渡日を指定します。 受渡日とは、発行日以降に証券が買い手に引き渡される日付です。
Arg2 必須 バリアント型 (Variant) 満期日: 証券の満期日を指定します。 満期日とは、証券の支払期日です。
Arg3 必須 バリアント型 (Variant) 利率: 証券の年利を指定します。
Arg4 必須 バリアント型 (Variant) 利回り: 証券の年間配当を指定します。
Arg5 必須 バリアント型 (Variant) 頻度: 年間の利息支払回数を指定します。 年 1 回の場合は頻度 = 1、年 2 回の場合は頻度 = 2、四半期ごとの場合は頻度 = 4 を指定します。
Arg6 省略可能 バリアント型 (Variant) 基準: 利息計算に使う基準日数を示す数値を指定します。

戻り値

Double

注釈

重要

日付は、DATE 関数を使って入力するか、他の数式または他の関数の結果を指定します。 たとえば、2008 年 5 月 23 日を入力する場合は、DATE (2008,5,23) を使用します。 日付を文字列として入力した場合、エラーが発生することがあります。

次の表では、 Arg6 に使用できる値について説明します。

基礎 基準日数 (月/年)
0 または省略 30 日/360 日 (NASD 方式)
1 実際の日数/実際の日数
2 実際の日数/360 日
3 実際の日数/365 日
4 30 日/360 日 (ヨーロッパ方式)

Excel では、日付は集計に使用できるようにシリアル値として格納されます。 既定では、1900 年 1 月 1 日のシリアル値は 1、2008 年 1 月 1 日は 1900 年 1 月 1 日から 39,448 日後であるためシリアル値は 39,448 になります。 Macintosh 用の Microsoft Excel では、既定として別の日付システムが使用されます。

注:

Visual Basic for Applications (VBA) では、Excel と異なる方法でシリアル日付が計算されます。 VBA では、シリアル日付値 1 は 1900 年 1 月 1 日ではなく、1899 年 12 月 31 日に該当します。

受渡日とは、債券などの証券の売買代金を決済した日付です。 満期日とは、証券の支払期日です。 たとえば、2008 年 1 月 1 日に発行された 30 年債券を、発行日の 6 か月後に購入したとします。 この債券は、発行日が 2008 年 1 月 1 日、受渡日が 2008 年 7 月 1 日になり、満期日は、発行日の 30 年後に当たる 2038 年 1 月 1 日になります。

受渡日、満期日、頻度、基準に整数以外の値を指定すると、小数点以下が切り捨てられます。

決済または満期日が有効な日付でない場合、 MDuration は#VALUEを返します。 が返されます。

yld < 0 の場合、またはクーポン < 0 の場合、 MDuration は#NUMを返します。 が返されます。

frequency が 1、2、または 4 以外の数値の場合、 MDuration は#NUMを返します。 が返されます。

基準 < が 0 の場合、または基準 > 4 の場合、 MDuration は#NUMを返します。 が返されます。

決済≥満期日の場合、 MDuration は#NUMを返します。 が返されます。

変更された期間は数式として定義されます

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。