Метод WorksheetFunction.Duration (Excel)

Возвращает длительность Macauley для предполагаемого номинального значения в 100 долл. США. Длительность определяется как средневзвешенный показатель текущей стоимости денежных потоков и используется в качестве меры реакции цены облигаций на изменение доходности.

Синтаксис

expression. Длительность (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)

Выражение Переменная, представляющая объект WorksheetFunction .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Arg1 Обязательный Variant Расчет — дата расчетов по безопасности. Дата расчетов по безопасности — это дата после даты выдачи, когда безопасность торгуется покупателю.
Arg2 Обязательный Variant Срок погашения — дата погашения ценных бумаг. Дата погашения — это дата истечения срока действия безопасности.
Arg3 Обязательный Variant Купон — годовая ставка купона по ценных бумаги.
Arg4 Обязательный Variant Yld - годовая доходность ценной бумаги.
Arg5 Обязательный Variant Частота — количество выплат купонов в год. Для ежегодных платежей частота = 1; для полугодового значения, частота = 2; для ежеквартально, частота = 4.
Arg6 Необязательный Variant Basis — тип используемой базы подсчета дней.

Возвращаемое значение

Double

Замечания

Важно!

Даты следует вводить с помощью функции DATE или в качестве результатов других формул или функций. Например, используйте date(2008,5;23) для 23-го дня мая 2008 г. Проблемы могут возникнуть, если даты вводятся в виде текста.

В следующей таблице описаны значения, которые можно использовать для Arg6.

Основе База подсчета дней
0 или опущено США (NASD) 30/360
1 Фактическая/фактическая
2 Фактический/360
3 Фактический/365
4 Европейская 30/360

Microsoft Excel сохраняет даты как последовательные серийные номера, чтобы их можно было использовать в вычислениях. По умолчанию 1 января 1900 года — серийный номер 1, а 1 января 2008 года — серийный номер 39448, так как после 1 января 1900 г. это 39 448 дней. Microsoft Excel для Macintosh использует другую систему даты по умолчанию.

Примечание.

Visual Basic для приложений (VBA) вычисляет последовательные даты иначе, чем Excel. В VBA серийный номер 1 — 31 декабря 1899 года, а не 1 января 1900 года.

Дата расчетов — это дата покупки покупателем купона, например облигации. Дата погашения — это дата истечения срока действия купона. Например, предположим, что 30-летняя облигация выпущена 1 января 2008 года и приобретена покупателем через шесть месяцев. Дата выпуска — 1 января 2008 года, дата урегулирования — 1 июля 2008 года, а дата погашения — 1 января 2038 года, то есть через 30 лет после даты выпуска 1 января 2008 года.

Расчет, зрелость, частота и базис усекаются до целых чисел.

Если расчет или срок погашения не является допустимой датой, длительность возвращает #VALUE! значение ошибки.

Если купон < 0 или yld < 0, длительность возвращает #NUM! значение ошибки.

Если частота — это любое число, отличное от 1, 2 или 4, функция Duration возвращает #NUM! значение ошибки.

Если базис < 0 или > 4, длительность возвращает #NUM! значение ошибки.

Если расчет ≥ срок погашения, длительность возвращает #NUM! значение ошибки.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.