共用方式為


WorksheetFunction.Duration 方法 (Excel)

傳回假設面額為 100 元的 Macauley 證券之有效期間。 存續期 定義為現金流量現值的加權平均值,用作衡量債券價格對收益率變化反應的指標。

語法

表達。持續時間 (arg1arg2arg3arg4arg5arg6)

代表 WorksheetFunction 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Arg1 必要 Variant Settlement - 證券的結算日。 證券結算日是證券交割給買方後的次日。
Arg2 必要 Variant Maturity - 證券的到期日。 超過此日,證券即過期。
Arg3 必要 Variant Coupon - 證券的年度票息率。
Arg4 必要 Variant Yld - 證券的年收益。
引數5 必要 Variant Frequency - 每年票息付款的次數。 若每年付款一次,則 frequency = 1;若半年付款一次,則 frequency = 2;若每季付款一次,則 frequency = 4。
引數6 選用 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日,即2008年1月1日發行日期後的30年。

會將 settlement、maturity、frequency 及 basis 無條件捨去成整數。

如果結算或到期不是有效日期,則 Duration 會傳回 #VALUE! 錯誤值。

如果coupon < 0或yld < 0,則 Duration 會傳回 #NUM! 錯誤值。

如果 frequency 是 1、2 或 4 以外的任何數字,則 Duration 會傳回 #NUM! 錯誤值。

如果基準 < 為 0 或如果基準 > 為 4,則 Duration 會傳回 #NUM! 錯誤值。

如果結算≥到期,則 Duration 會傳回 #NUM! 錯誤值。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應