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

Financial Derivatives Toolbox

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

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

Спецификация модели волатильности (VolSpec)

Ввиду того, что модель HJM поддерживает многофакторные модели волатильности (до трех), а BDT (в том числе ВК и HW) поддерживает только однофакторную модель, функции hjmvolspec и bdtvolspec требуют различных входных данных и генерируют разные выходные данные. Например, что бы увидеть это, можно обратиться к разделу "Создание HJM модели волатильности". Примеры, связанные с использованием модели BDT можно изучить в разделе "Создание BDT модели волатильности".

Создание HJM модели волатильности

Функция hjmvolspec генерирует структуру VolSpec, которая определяет процесс σ(t,T), используемый для создания дерева форвардных процентных ставок. В этом контексте T представляет собой начальное время для форвардной процентной ставки, а t представляет собой момент времени наблюдения. Процесс моделирования волатильности может быть сконструирован из комбинации факторов, определяющихся последовательностью вызовов функции, которая создает эти факторы. Спецификация каждого фактора в модельном процессе волатильности начинается со строки определения имени фактора, которая предшествует параметрам спецификации.

Пример спецификации волатильности c использованием модели HJM

Рассмотрим пример, который использует один фактор спецификации - постоянный параметр сигма. Определение постоянного фактора спецификации требует только одного параметра, а именно значения σ. В данном примере, значение равно 0.10.

Выполним следующую команду MATLAB:

HJMVolSpec = hjmvolspec ('Constant', 0.10)

Результат выполнения последовательности команды MATLAB представлен ниже:

Поле NumFactors структуры VolSpec, обращение к которой осуществляется в соответствии с правилом VolSpec.NumFactors = 1, показывает, что число факторов для генерации структуры VolSpec равно 1. Поле FactorModels показывает, что в модели используется постоянный фактор волатильности - 'Constant', а поле NumBranches показывает количество выходящих из вершины дерева ветвей. Таким образом, каждая вершина дерева в модели имеет две ветви, которые указывают соответственно изменение волатильности вверх (up, увеличение) и вниз (down, уменьшение).

Теперь рассмотрим двухфакторный процесс волатильности, в котором используются факторы пропорциональный и экспоненциальный.

Выполним следующие команды MATLAB:

% Exponential factor
Sigma_0 = 0.1;
Lambda = 1;
% Proportional factor
CurveProp = [0.11765; 0.08825; 0.06865];
CurveTerm = [ 1 ; 2 ; 3 ];
% Build VolSpec
HJMVolSpec = hjmvolspec('Proportional', CurveProp, CurveTerm,...
1e6,'Exponential', Sigma_0, Lambda)

Результат выполнения последовательности команды MATLAB представлен ниже:

Результат выполнения последовательности команд MATLAB показывает, что спецификации волатильности генерируются с использованием 2 факторов. В этом случае, дерево имеет 3 ветви, для каждой вершины дерева. Каждая ветвь имеет следующие вероятности для последующих состояний каждой вершины: up, unchanged, down соответственно равные 0.25, 0.25, 0.5.

Создание BDT модели волатильности

Функция bdtvolspec генерирует структуру VolSpec, которая также специфицирует модельный процесс волатильности. Функция требует три входных аргумента:

  • Дату оценивания ValuationDate
  • Доходность волатильности на конечные даты VolDates
  • Доходность волатильности по значениям VolCurve

Обязательный четвертый аргумент InterpMethod, специфицирует метод интерполяции, который будет использоваться.

Синтаксис, используемый для вызова функции bdtvolspec:

BDTVolSpec = bdtvolspec(ValuationDate, VolDates, VolCurve,...
InterpMethod)

где:

  • ValuationDate - представляет собой первую дату наблюдения в дереве
  • VolDates - вектор дат, представляющий собой доходность волатильности и соответствующие даты
  • VolCurve - вектор значений доходности волатильности .
  • InterpMethod - используемый метод интерполяции. По умолчанию используется линейный метод - 'linear'.

Пример спецификации волатильности c использованием модели BDT

Рассмотрим пример:

ValuationDate = datenum ('01-01-2000');
EndDates = datenum (['01-01-2001'; '01-01-2002'; '01-01-2003';...
'01-01-2004'; '01-01-2005']);
Volatility = [.2; .19; .18; .17; .16];

Используем функцию bdtvolspec для создания спецификаций волатильности. Ввиду того, что точно не указано метода интерполяции, функция использует по умолчанию линейный метод интерполяции - 'linear'.

BDTVolSpec = bdtvolspec (ValuationDate, EndDates, Volatility)

После выполнения вышеприведенных команд MATLAB получим следующий результат:

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

 

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

Система Orphus

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