exponenta event banner

optstocksensbyls

Расчет цены и чувствительности для европейских, бермудских или американских вариантов ванили с использованием моделирования Монте-Карло

Описание

пример

PriceSens = optstocksensbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates) возвращает цены опционов на ваниль или чувствительность с помощью модели Лонгстафа-Шварца. optstocksensbyls вычисляет цены или чувствительность европейских, бермудских и американских вариантов ванили.

Для американских и бермудских вариантов используется метод наименьших квадратов Лонгстаффа-Шварца для расчета ранней надбавки за упражнения.

пример

PriceSens = optstocksensbyls(___,Name,Value)добавляет необязательные аргументы пары имя-значение.

пример

[PriceSens,Path,Times,Z] = optstocksensbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates) возвращает цены опционов на ваниль или чувствительность с помощью модели Лонгстафа-Шварца.

пример

[PriceSens,Path,Times,Z] = optstocksensbyls(___,Name,Value) добавляет необязательные аргументы пары имя-значение.

Примеры

свернуть все

Определите RateSpec.

StartDates = 'Jan-1-2013';
EndDates = 'Jan-1-2015';
Rates = 0.05;
RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates, ...
'EndDates', EndDates, 'Rates', Rates)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: 2
             Disc: 0.9060
            Rates: 0.0500
         EndTimes: 4
       StartTimes: 0
         EndDates: 735965
       StartDates: 735235
    ValuationDate: 735235
            Basis: 0
     EndMonthRule: 1

Определите StockSpec для основного средства.

AssetPrice = 100;
Sigma = 0.1;
DivType = 'continuous';
DivAmounts = 0.04;
StockSpec = stockspec(Sigma, AssetPrice, DivType, DivAmounts)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1000
         AssetPrice: 100
       DividendType: {'continuous'}
    DividendAmounts: 0.0400
    ExDividendDates: []

Определите параметр vanilla.

OptSpec = 'call';  
Settle = 'jan-1-2013';
ExerciseDates = 'jan-1-2015';
Strike = 105;

Вычислите Delta чувствительность для варианта ванили с использованием модели Лонгстафа-Шварца.

Antithetic = true;
OutSpec = {'Delta'};
PriceSens = optstocksensbyls(RateSpec, StockSpec, OptSpec, Strike, ...
Settle, ExerciseDates,'Antithetic', Antithetic, 'OutSpec', OutSpec)
PriceSens = 0.3945

Отображение выходных данных для Price, Delta, Path, и Times, используйте следующее:

OutSpec = {'Price','Delta'};
[Price, Delta, Path, Times] = optstocksensbyls(RateSpec, StockSpec, OptSpec, Strike, ...
Settle, ExerciseDates,'Antithetic', Antithetic, 'OutSpec', OutSpec);

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

свернуть все

Структура срока действия процентной ставки (в годовом исчислении и с постоянным усложнением), определяемая RateSpec получено из intenvset. Для получения информации о спецификации процентной ставки см. intenvset.

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

Спецификация запаса для базового основного средства, указанная с помощью StockSpec получено из stockspec. Для получения информации о спецификации заготовки см. stockspec.

stockspec может обрабатывать другие типы базовых активов. Например, акции, фондовые индексы и товары.

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

Определение опции, указанной как 'call' или 'put' с использованием символьного вектора.

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

Цена страйка опциона, заданная неотрицательным скалярным целым числом:

  • Для европейского варианта используйте скаляр цены страйка.

  • Для варианта на Бермудских островах используйте 1около-NSTRIKES вектор цены страйка.

  • Для американского варианта используйте скаляр цены страйка.

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

Дата расчета или торговая дата для опции «ваниль», указанная как вектор символов даты или серийный номер даты.

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

Дата исполнения опциона, указанная как вектор символов даты или серийный номер даты:

  • Для европейского варианта используйте 1около-1 вектор дат. Для европейского варианта есть только один ExerciseDates на дату истечения срока действия опциона.

  • Для варианта на Бермудских островах используйте 1около-NSTRIKES вектор дат.

  • Для американского варианта используйте 1около-2 вектор границ даты упражнения. Опцион может быть реализован на любую дату между или включая пару дат в этой строке. Если только один не -NaN дата указана, или если ExerciseDates является 1около-1 вектор серийных номеров дат или массив ячеек символьных векторов, опция может быть реализована между Settle и один из перечисленных ExerciseDates.

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

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: Price = optstocksensbyls(RateSpec,StockSpec, OptSpec,Strike,Settle,ExerciseDates,'AmericanOpt','1','NumTrials','2000','OutSpec',{'Price','Delta','Gamma'})

Тип опции, указанный как разделенная запятыми пара, состоящая из 'AmericanOpt' и положительный целый скалярный флаг со значениями:

  • 0 - Европейский или Бермудские острова

  • 1 - американский

Примечание

Для американских и бермудских вариантов используется метод наименьших квадратов Лонгстаффа-Шварца для расчета ранней надбавки за упражнения. Для получения дополнительной информации о методе наименьших квадратов см. https://people.math.ethz.ch / % 7Ehjfurrer/teaching/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.

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

Испытания моделирования, указанные как пара, разделенная запятыми, состоящая из 'NumTrials' и скалярное число независимых путей выборки.

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

Периоды моделирования для каждого испытания, указанные как пара, разделенная запятыми, состоящая из 'NumPeriods' и скалярное число. NumPeriods рассматривается только при ценообразовании европейских вариантов ванили. Для американских и бермудских вариантов ванили, NumPeriod равно числу Exercise дней в течение срока действия опциона.

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

Зависимые случайные вариации, используемые для генерации броуновского вектора движения (то есть процессов Винера), которые управляют моделированием, заданного как пара, разделенная запятыми, состоящая из 'Z' и NumPeriodsоколо-1около-NumTrials 3-D массив временных рядов.

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

Индикатор для антитетической выборки, указанный как пара, разделенная запятыми, состоящая из 'Antithetic' и значение true или false.

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

Определите выходы, указанные как разделенная запятыми пара, состоящая из 'OutSpec' и NOUTоколо-1 или 1около-NOUT массив ячеек символьных векторов с возможными значениями 'Price', 'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta', и 'All'.

OutSpec = {'All'} указывает, что выходные данные должны быть Delta, Gamma, Vega, Lambda, Rho, Theta, и Price, в таком порядке. Это то же самое, что указать OutSpec для включения каждой чувствительности:

Пример: OutSpec = {'delta','gamma','vega','lambda','rho','theta','price'}

Типы данных: char | cell

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

свернуть все

Ожидаемая цена или чувствительность (определяется OutSpec) опции ванили, возвращенной в виде 1около-1 массив.

Смоделированные пути коррелированных переменных состояния, возвращаемые как (NumPeriods + 1около-1около-NumTrials 3-D массив временных рядов. Каждая строка Paths является транспонированием вектора состояния X (t) в момент времени t для данного испытания.

Время наблюдения, связанное с моделируемыми путями, возвращаемое как (NumPeriods + 1около-1 вектор столбца времен наблюдения, связанных с моделируемыми путями. Каждый элемент Times связан с соответствующей строкой Paths.

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

Подробнее

свернуть все

Вариант ванили

Вариант ванили - это категория вариантов, включающая только самые стандартные компоненты.

Вариант ванили имеет срок годности и простую цену страйка. Варианты в американском и европейском стиле классифицируются как варианты ванили.

Окупаемость опциона на ваниль выглядит следующим образом:

  • Для вызова: max (St K, 0)

  • Для put: max (K St, 0)

где:

St - цена базового актива в момент времени t.

K - цена удара.

Дополнительные сведения см. в разделе Параметр ванили.

Представлен в R2013b