Excel) (WorksheetFunction.MDuration 方法
傳回假定面額為 100 元之證券的 Macauley 修正有效期間。
語法
運算式。MDuration (Arg1、 Arg2、 Arg3、 Arg4、 Arg5、 Arg6)
表達 代表 WorksheetFunction 物件的 變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
Arg1 | 必要 | Variant | Settlement - 證券的結算日。 證券結算日是證券交割給買方後的次日。 |
Arg2 | 必要 | Variant | Maturity - 證券的到期日。 超過此日,證券即過期。 |
Arg3 | 必要 | Variant | Coupon - 證券的年度票息率。 |
Arg4 | 必要 | Variant | Yld - 證券的年收益。 |
Arg5 | 必要 | Variant | Frequency - 每年票息付款的次數。 若每年付款一次,則 frequency = 1;若半年付款一次,則 frequency = 2;若每季付款一次,則 frequency = 4。 |
Arg6 | 選用 | Variant | Basis - 要使用的日計數基礎類型。 |
傳回值
雙精確度
註解
重要事項
日期必須使用 DATE 函數來輸入,或是使用其他公式或函數的計算結果來輸入。 例如,使用 DATE(2008,5,23) 表示 2008 年 5 月 23 日。 若使用文字格式輸入日期,可能會發生問題。
下表描述可用於 Arg6 的值。
基礎 | 日計數基礎 |
---|---|
0 或省略 | US (NASD) 30/360 |
1 | 實際/實際 |
2 | 實際/360 |
3 | 實際/365 |
4 | 歐洲 30/360 |
Microsoft Excel 會以連續的序列值來儲存日期,以便用來計算。 根據預設,1900 年 1 月 1 日是序列值 1,而 2008 年 1 月 1 日則是序列值 39448,因為這是 1900 年 1 月 1 日之後的第 39,448 天。 Microsoft Excel for the Macintosh 則使用不同的預設日期系統。
注意事項
Visual Basic for Applications (VBA) 會以不同于 Excel 的方式計算序列日期。 在 VBA 中,序號 1 是 1899 年 12 月 31 日,而不是 1900 年 1 月 1 日。
結算日期是買方購買優待券的日期,例如證券。 到期日是優待券到期的日期。 例如,假設 30 年期的證券是在 2008 年 1 月 1 日發行,而買方會在六個月後購買。 發行日期為 2008 年 1 月 1 日,結算日期為 2008 年 7 月 1 日,到期日為 2038 年 1 月 1 日之後的 30 年 1 月 1 日發行日期。
會將 settlement、maturity、frequency 及 basis 無條件捨去成整數。
如果 settlement 或 maturity 不是有效的日期, MDuration 會 傳回#VALUE! 錯誤值。
如果 yld < 0 或優待券 < 0, MDuration 會 傳回#NUM! 錯誤值。
如果 frequency 是 1、2 或 4 以外的任何數位, MDuration 會傳回#NUM! 錯誤值。
如果 basis < 0 或 basis > 4, MDuration 會傳回#NUM! 錯誤值。
如果 settlement ≥ maturity, MDuration 會 傳回#NUM! 錯誤值。
修改的持續時間定義為
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。