MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
 

Financial Derivatives Toolbox

Financial Toolbox: разбор демонстрационных примеров

  В оглавление \ К предыдущему разделу \ К следующему разделу

Функция bondbybk

Назначение: Определение цены облигации на основе дерева процентных ставок модели BK.

Синтаксис:

[Price, PriceTree] = bondbybk(BKTree, CouponRate, Settle, Maturity,
Period, Basis, EndMonthRule, IssueDate, FirstCouponDate,
LastCouponDate,StartDate, Face, Options)

Аргументы:

  • BKTree - Структура дерева форвардных процентных ставок, созданная с помощью функции bktree.
  • CouponRate - Годовая ставка, в десятичном виде
  • Settle - Дата поставки. Может быть выражена в виде серийной даты внутреннего формата MATLAB или строкой данных. Settle должна быть раньше или равна дате погашения - Maturity.
  • Maturity - Дата погашения. Может быть выражена в виде серийной даты внутреннего формата MATLAB или строкой данных.
  • Period - (Обязательный). Количество выплат купонов по облигации в год. Вектор целых значений. Допускаются значения равные 1,2,3,4,6 или 12. По умолчанию равно 2.
  • Basis - (Обязательный). Базисный интервал расчетов для финансового инструмента, выраженный в днях. Вектор целых значений. 0 = действительное/действительное (по умолчанию). 1=30/360 (SIA), 2=действительное/360, 3=действительное/365, 4=30/360 (PSA), 5 = 30/360 (ISDA), 6=30/360 (Европейский), 7=действительное/365(Японский).
  • EndMonthRule - (Обязательный). Правило, на конец месяца. Вектор. Это правило применяется только, когда дата погашения совпадает с последним днем месяца, для месяцев, содержащих 30 дней. Значение 0 = игнорирует правило, это означает, что дата выплаты купона на облигацию всегда совпадает с номером дня месяца. 1 = устанавливает правило (по умолчанию), по которому дата выплаты купона по облигации всегда является последним действительным днем месяца.
  • IssueDate - (Обязательный). Дата, выпуска облигации.
  • FirstCouponDate - (Обязательный). Дата, когда по облигации осуществляется первая выплата купона. Когда FirstCouponDate и LastCouponDate обе определены, в этом случае FirstCouponDate имеет преимущество в определении структуры купонных выплат.
  • LastCouponDate - (Обязательный). Последняя дата выплаты купона по облигации, перед датой погашения. Когда FirstCouponDate не задана, тогда LastCouponDate определяет структуру купонных выплат. Структура купонных выплат по облигации завершается на момент LastCouponDate, и она, в любом случае, должна предшествовать дате погашения облигации.
  • StartDate - Игнорируется.
  • Face - (Обязательный). Номинальное значение облигации. По умолчанию равно 100.
  • Options - (Обязательный). Структура опциона как производного финансового инструмента, созданного функцией derivset.

Дата поставки Settle для каждой облигации устанавливается параметром ValuationDate при построении BK дерева. Аргумент Settle в облигациях игнорируется.

Описание: Обращением к функции bondbybk:

[Price, PriceTree] = bondbybk(BKTree, CouponRate, Settle, Maturity,
Period, Basis, EndMonthRule, IssueDate, FirstCouponDate,
LastCouponDate, StartDate, Face, Options)

осуществляется определение цены облигации на основе BK дерева процентных ставок.

Price – вектор числа финансовых инструментов размерности NINST:1, цен для каждого финансового инструмента, определяемых на момент 0.

PriceTree – Внутренняя структура MATLAB для дерева, содержащая вектора цен финансовых инструментов и приведенную процентную ставку, а также вектор моментов наблюдения в каждой вершине, внутри дерева PriceTree.

PriceTree.PTree – содержит действительные цены.

PriceTree.AITree – содержит приведенную процентную ставку.

PriceTree.t0bs - содержит моменты времени наблюдения.

Пример: Определим цену 4% облигации с использованием дерева процентных ставок модели BK.

Загрузим файл deriv.mat, содержащий дерево BKTree. Дерево BKTree содержит моменты времени и информацию относительно процентных ставок, необходимых для определения цены облигации. Выполним команды:

load deriv;

Установим необходимые значения переменных. Остальные аргументы остаются равными по умолчанию. Выполним команды:

CouponRate = 0.04;
Settle = '01-Jan-2004';
Maturity = '31-Dec-2008';

Используем функцию bondbybk для вычисления цены облигации.

Price = bondbybk(BKTree, CouponRate, Settle, Maturity)

В результате получим:

Вычисление цены  облигации


См. также: Функции bkprice, bktree, hwprice, hwtree, instbond

  В оглавление \ К предыдущему разделу \ К следующему разделу

 

Поиск по сайту:

Система Orphus

Яндекс.Метрика