MDURATION
\$100 と想定される同等の値を持つセキュリティの変更されたマコーレー期間を返します。
構文
MDURATION(<settlement>, <maturity>, <coupon>, <yld>, <frequency>[, <basis>])
パラメーター
用語 | 定義 |
---|---|
settlement |
証券の受渡日。 証券決済日は、証券が購入者に取引される発行日の後の日付です。 |
maturity |
セキュリティの成熟日。 満期日は、セキュリティの有効期限が切れる日付です。 |
coupon |
セキュリティの年間利率。 |
yld |
セキュリティの年間利回り。 |
frequency |
1 年あたりのクーポン支払いの数。 年間支払いの場合、頻度 = 1。半期の場合は frequency = 2。四半期の場合は frequency = 4 です。 |
basis |
(省略可能)使用する日数基準の種類。 基準を省略すると、0 と見なされます。 この表の下に、使用できる値を示します。 |
basis
パラメーターは、次の値を受け入れます。
Basis |
日数基準 |
---|---|
0 または省略 | 米国 (NASD) 30/360 |
1 | Actual/actual |
2 | 実績/360 |
3 | 実績/365 |
4 | ヨーロッパ 30/360 |
戻り値
変更されたマコーレー期間。
備考
日付は連続したシリアル番号として格納されるため、計算に使用できます。 DAXでは、1899 年 12 月 30 日は 0 日目、1899 年 12 月 30 日から 39,448 日後であるため、2008 年 1 月 1 日は 39448 です。
受渡日は、買い手が債券などのクーポンを購入した日付です。 満期日は、クーポンの有効期限が切れる日付です。 たとえば、30 年債が 2008 年 1 月 1 日に発行され、6 か月後に購入者によって購入されたとします。 発行日は 2008 年 1 月 1 日、受渡日は 2008 年 7 月 1 日、満期日は発行日の 2008 年 1 月 1 日から 30 年後の 2038 年 1 月 1 日です。
変更された期間は次のように定義されます。
$$\text{MDURATION} = \frac{\text{DURATION}}{1 + (\frac{\text{Market yield}}}{\text{Coupon payments per year}})}$$
受渡日と満期日は整数に切り捨てられます。
頻度と基準は、最も近い整数に丸められます。
次の場合、エラーが返されます。
- 受渡日または満期日が有効な日付ではありません。
- 受渡日≥満期日
- クーポン < 0。
- yld < 0
- 頻度は、1、2、または 4 以外の任意の数です。
- 基準 < 0 または基準 > 4。
この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例
データ | 説明 |
---|---|
1/1/2008 | 受渡日 |
1/1/2016 | 満期日 |
8% | パーセントクーポン |
9% | 利回り率 |
2 | 頻度は半期です (上記を参照) |
1 | 実績/実績基準 (上記参照) |
次の DAX クエリ:
EVALUATE
{
MDURATION(DATE(2008,1,1), DATE(2016,1,1), 0.08, 0.09, 2, 1)
}
上記で指定した条件を使用して、債券の変更されたマコーレー期間を返します。
[値] |
---|
5.73566981391884 |