Поделиться через


Метод WorksheetFunction.Price (Excel)

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

Синтаксис

expression. Цена (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)

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

Параметры

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

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

Double

Замечания

Важно!

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

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

Основе База подсчета дней
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! значение ошибки.

Если значение yld < 0 или значение < 0, функция Price возвращает #NUM! значение ошибки.

Если активация ≤ 0, цена возвращает #NUM! значение ошибки.

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

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

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

Цена рассчитывается следующим образом:

Формула

где:

  • DSC = количество дней от расчетов до следующей даты купона.
  • E = количество дней в купонном периоде, в который приходится дата расчетов.
  • N = количество купонов, выплачиваемых между датой расчетов и датой погашения.
  • A = количество дней с начала купонного периода до даты расчетов.

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

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