simTermStructs

Моделируйте структуры термина для Модели Рынка LIBOR

Синтаксис

[ZeroRates,ForwardRates] = simTermStructs(LMM,nPeriods)
[ZeroRates,ForwardRates] = simTermStructs(___,Name,Value)

Описание

пример

[ZeroRates,ForwardRates] = simTermStructs(LMM,nPeriods) моделирует будущие пути к кривой нулевой ширины с помощью заданного объекта LiborMarketModel.

пример

[ZeroRates,ForwardRates] = simTermStructs(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение".

Примеры

свернуть все

Создайте объект LMM.

Settle = datenum('15-Dec-2007');
CurveTimes = [1:5 7 10 20]';
ZeroRates = [.01 .018 .024 .029 .033 .034 .035 .034]';
CurveDates = daysadd(Settle,360*CurveTimes,1);
 
irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates);
 
LMMVolFunc = @(a,t) (a(1)*t + a(2)).*exp(-a(3)*t) + a(4);
LMMVolParams = [.3 -.02 .7 .14];
  
numRates = 20;
VolFunc(1:numRates-1) = {@(t) LMMVolFunc(LMMVolParams,t)};
  
Beta = .08;
CorrFunc = @(i,j,Beta) exp(-Beta*abs(i-j));
Correlation = CorrFunc(meshgrid(1:numRates-1)',meshgrid(1:numRates-1),Beta);
  
LMM = LiborMarketModel(irdc,VolFunc,Correlation,'Period',1)
LMM = 
  LiborMarketModel with properties:

       ZeroCurve: [1x1 IRDataCurve]
    VolFunctions: {1x19 cell}
     Correlation: [19x19 double]
      NumFactors: NaN
          Period: 1

Моделируйте термин структуры для заданного объекта LMM.

[ZeroRates, ForwardRates] = simTermStructs(LMM, 20,'nTrials',100);

Входные параметры

свернуть все

Объект LiborMarketModel, заданное использование объекта LMM, созданного с помощью LiborMarketModel.

Типы данных: object

Количество периодов симуляции, заданных как числовое значение. Значение nPeriods определяется swaption истечением и периодичностью уровней модели. Например, если бы необходимо было оценить swaption, истекающий через 5 лет с полугодовой Моделью рынка LIBOR (LMM), затем nPeriods был бы 10.

Типы данных: double

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: [ZeroRates, ForwardRates] = simTermStructs(LMM, 20,'nTrials',100)

Количество моделируемых испытаний (демонстрационные пути), заданный как пара, разделенная запятой, состоящая из 'nTrials' и значение положительного скалярного целого числа наблюдений nPeriods каждый. Если вы не задаете значение для этого аргумента, значением по умолчанию является 1, указывая на один путь коррелированых переменных состояния.

Типы данных: double

Отметьте указание, используется ли прямо противоположная выборка, чтобы сгенерировать Гауссовы случайные варьируемые величины, которые управляют смещением нуля, уровень модульного отклонения Броуновский векторный dW (t), заданный как пара, разделенная запятой, состоящая из 'antithetic' и булева скалярного флага. Для получения дополнительной информации на Броуновском векторе, смотрите simBySolution.

Типы данных: логический

Прямая спецификация зависимого случайного шумового процесса, заданного как пара, разделенная запятой, состоящая из 'Z' и числового значения. Значение Z используется, чтобы сгенерировать смещение нуля, уровень модульного отклонения Броуновский векторный dW (t), который управляет симуляцией. Для получения дополнительной информации смотрите simBySolution для модели GBM.

Типы данных: double

Сроки платежа, чтобы вычислить на каждом временном шаге, заданном как пара, разделенная запятой, состоящая из 'Tenor' и числового вектора.

Tenor позволяет вам выбрать различный набор уровней, чтобы вывести, чем базовые уровни. Например, можно хотеть моделировать ежеквартальные данные, но только сообщить о годовых показателях; это может быть сделано путем определения дополнительного входа Tenor.

Значением по умолчанию для tenor является количество уровней в объекте LiborMarketModel, как задано Correlation и входными параметрами VolFunc для объекта LiborMarketModel.

Типы данных: double

Выходные аргументы

свернуть все

Моделируемые структуры термина нулевого уровня, возвращенные как nPeriods+1-by-nTenors-by-nTrials матрица.

Моделируемые структуры термина нулевого уровня, возвращенные как nPeriods+1-by-nTenors-by-nTrials матрица.

Введенный в R2013a