OptionEmbeddedFixedBond

OptionEmbeddedFixedBond объект прибора

Описание

Создайте и оцените OptionEmbeddedFixedBond объект инструмента, использующий этот рабочий процесс:

  1. Использовать fininstrument для создания OptionEmbeddedFixedBond объект прибора.

  2. использовать finmodel для задания HullWhite или BlackKarasinski модель для OptionEmbeddedFixedBond прибора.

  3. Использовать finpricer для задания IRTree метод ценообразования для OptionEmbeddedFixedBond прибора.

Дополнительные сведения об этом рабочем процессе см. в разделе Запуске с рабочими процессами с использованием объектной среды для ценообразования финансовых инструментов.

Для получения дополнительной информации о доступных моделях и методах ценообразования для OptionEmbeddedFixedBond инструмент, см. «Выбор инструментов», «Модели» и «Цены».

Создание

Описание

пример

OptionEmbeddedFixedBondObj = fininstrument(InstrumentType,'CouponRate',couponrate_value,'Maturity',maturity_date,'CallSchedule',call_schedule_value) создает OptionEmbeddedFixedBond объект путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" CouponRate, Maturity, и CallSchedule.

The OptionEmbeddedFixedBond инструмент поддерживает ванильную связь со встроенной опцией, ступенчатую купонную связь со встроенной опцией и амортизационную связь со встроенной опцией. Дополнительные сведения см. в разделе Дополнительные сведения.

пример

OptionEmbeddedFixedBondObj = fininstrument(InstrumentType,'CouponRate',couponrate_value,'Maturity',maturity_date,'PutSchedule',put_schedule_value) создает OptionEmbeddedFixedBond объект путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" CouponRate, Maturity, и PutSchedule.

пример

OptionEmbeddedFixedBondObj = fininstrument(___,Name,Value) устанавливает необязательные свойства с помощью дополнительных пар "имя-значение" в дополнение к необходимым аргументам в предыдущем синтаксисе. Для примера, OptionEmbeddedFixedBondObj = fininstrument("OptionEmbeddedFixedBond",'CouponRate',0.034,'Maturity',datetime(2019,1,30),'Period',2,'Basis',1,'Principal',100,'CallSchedule',schedule,'CallExerciseStyle',"American",'Name',"optionembeddedfixedbond_instrument") создает OptionEmbeddedFixedBond инструмент с американским упражнением и расписанием вызовов. Можно задать несколько аргументы пары "имя-значение".

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

расширить все

Тип инструмента, заданный как строка со значением "OptionEmbeddedFixedBond" или вектор символов со значением 'OptionEmbeddedFixedBond'.

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

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

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

Пример: OptionEmbeddedFixedBondObj = fininstrument("OptionEmbeddedFixedBond",'CouponRate',0.034,'Maturity',datetime(2019,1,30),'Period',2,'Basis',1,'Principal',100,'CallSchedule',schedule,'CallExerciseStyle',"American",'Name',"optionembeddedfixedbond_instrument")
Требуемая OptionEmbeddedFixedBond Аргументы в виде пар имя-значение

расширить все

Ставка купона для OptionEmbeddedFixedBond, заданная как разделенная разделенными запятой парами, состоящая из 'CouponRate' в виде скалярного десятичного числа для годовой скорости или расписания, где первый столбец является датами, а второй столбец связан со скоростями. Дата указывает на последний день действия ставки купона.

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

Дата погашения OptionEmbeddedFixedBond, заданная как разделенная разделенными запятой парами, состоящая из 'Maturity' и скалярное значение datetime, серийный номер даты, вектор символов даты или строка даты.

Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что Maturity свойство сохранено как datetime.

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

Расписание вызовов, заданное как разделенная разделенными запятой парами, состоящая из 'CallSchedule' и расписание дат вызовов и забастовок.

Если вы используете вектор символов даты или строку даты для дат в этом расписании, формат должен быть распознаваемым datetime потому что CallSchedule свойство сохранено как datetime.

Примечание

The OptionEmbeddedFixedBond инструмент поддерживает либо CallSchedule и CallExerciseStyle или PutSchedule и PutExerciseStyle, но не то и другое.

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

Поместите расписание, заданное как разделенная разделенными запятой парами, состоящая из 'PutSchedule' и расписание дат вызовов и забастовок.

Если вы используете вектор символов даты или строку даты для дат в этом расписании, формат должен быть распознаваемым datetime потому что PutSchedule свойство сохранено как datetime.

Примечание

The OptionEmbeddedFixedBond инструмент поддерживает либо CallSchedule и CallExerciseStyle или PutSchedule и PutExerciseStyle, но не то и другое.

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

Необязательные OptionEmbeddedFixedBond Аргументы в виде пар имя-значение

расширить все

Частота платежей в год, заданная как разделенная разделенными запятой парами, состоящая из 'Period' и скалярное целое число. Значения для Period являются: 1, 2, 3, 4, 6, и 12.

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

Стиль упражнения опции вызова, заданный как разделенная разделенными запятой парами, состоящая из 'CallExerciseStyle' и скалярную строку или вектор символов.

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

Стиль упражнения опции Пут, заданный как разделенная разделенными запятой парами, состоящая из 'PutExerciseStyle' и скалярную строку или вектор символов.

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

Базис отсчета дней, заданный как разделенная разделенными запятой парами, состоящая из 'Basis' и скалярное целое число с использованием одного из следующих значений:

  • 0 - факт/факт

  • 1 - 30/360 (SIA)

  • 2 - факт/360

  • 3 - фактический/365

  • 4 - 30/360 (PSA)

  • 5 - 30/360 (ISDA)

  • 6 - 30/360 (европейский)

  • 7 - фактический/365 (японский)

  • 8 - факт/факт (ICMA)

  • 9 - факт/360 (ICMA)

  • 10 - факт/365 (ICMA)

  • 11 - 30/360E (ICMA)

  • 12 - факт/365 (ISDA)

  • 13 - BUS/252

Для получения дополнительной информации см. раздел Базиса.

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

Условная сумма основной суммы или график основного значения, заданный как разделенная разделенными запятой парами, состоящая из 'Principal' и скаляр число или расписание.

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

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

Флаг, указывающий, корректируется ли денежный поток к соглашению о подсчете дней, задается как разделенная разделенными запятой парами, состоящая из 'DaycountAdjustedCashFlow' и скаляр логический со значением true или false.

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

Соглашения о рабочих днях, заданные как разделенная разделенными запятой парами, состоящая из 'BusinessDayConvention' и скалярную строку или вектор символов. Выбор для соглашения о рабочих днях определяет, как обрабатываются дни небизнеса. Дни небизнеса определяются как выходные дни плюс любая другая дата, когда предприятия не открыты (для примера, уставных праздников). Значения:

  • "actual" - Дни небизнеса эффективно игнорируются. Денежные потоки, которые приходятся на нерабочие дни, считаются распределенными на фактическую дату.

  • "follow" - Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными на следующий рабочий день.

  • "modifiedfollow" - Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными на следующий рабочий день. Однако если следующий рабочий день находится в другом месяце, то вместо этого принимается предыдущий рабочий день.

  • "previous" - Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными в предыдущий рабочий день.

  • "modifiedprevious" - Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными в предыдущий рабочий день. Однако, если предыдущий рабочий день находится в другом месяце, вместо этого принимается следующий рабочий день.

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

Праздничные дни, используемые в вычислении рабочих дней, заданные как разделенная разделенными запятой парами, состоящая из 'Holidays' и дат с использованием datetimes, серийных номеров дат, массива ячеек векторов символов дат или строковых массивов дат. Для примера:

H = holidays(datetime('today'),datetime(2025,12,15));
OptionEmbeddedFixedBondObj = fininstrument("OptionEmbeddedFixedBond",'CouponRate',0.34,'Maturity',datetime(2025,12,15),...
'CallSchedule',schedule,'CallExerciseStyle',"american",'Holidays',H)

Типы данных: double | cell | datetime | string

Флаг правила конца месяца для генерации дат при Maturity - дата конца месяца для месяца с 30 или менее дней, заданная как разделенная разделенными запятой парами, состоящая из 'EndMonthRule' и скаляр логическое значение true или false.

  • Если вы задаете EndMonthRule на falseпрограммное обеспечение игнорирует правило, означающее, что дата платежа всегда является одним и тем же числовым днем месяца.

  • Если вы задаете EndMonthRule на trueпрограммное обеспечение устанавливает правило, означающее, что дата платежа всегда является последним фактическим днем месяца.

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

Дата выпуска облигации, заданная как разделенная разделенными запятой парами, состоящая из 'IssueDate' и скалярное значение datetime, серийный номер даты, вектор символов даты или строка даты.

Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что IssueDate свойство сохранено как datetime.

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

Нерегулярная дата первого купона, заданная как разделенная разделенными запятой парами, состоящая из 'FirstCouponDate' и скалярное значение datetime, серийный номер даты, вектор символов даты или строка даты.

Когда FirstCouponDate и LastCouponDate оба заданы, FirstCouponDate имеет приоритет при определении структуры купонного платежа. Если вы не задаете FirstCouponDateДаты платежа денежного потока определяются из других входов.

Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что FirstCouponDate свойство сохранено как datetime.

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

Нерегулярная дата последнего купона, заданная как разделенная разделенными запятой парами, состоящая из 'LastCouponDate' и скалярное значение datetime, серийный номер даты, вектор символов даты или строка даты.

Если вы задаете LastCouponDate но не FirstCouponDate, LastCouponDate определяет купонную структуру облигации. Купонная структура облигации усечена на LastCouponDate, независимо от того, где он падает, и сопровождается только датой движения денежных средств по облигации со сроком погашения. Если вы не задаете LastCouponDateДаты платежа денежного потока определяются из других входов.

Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что LastCouponDate свойство сохранено как datetime.

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

Дата начала пересчета платежей, заданная как разделенная разделенными запятой парами, состоящая из 'StartDate' и скалярное значение datetime, серийный номер даты, вектор символов даты или строка даты.

Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что StartDate свойство сохранено как datetime.

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

Определяемое пользователем имя инструмента, заданное как разделенная разделенными запятой парами, состоящая из 'Name' и скалярную строку или вектор символов.

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

Свойства

расширить все

Годовая ставка купона, возвращенная в виде скалярного десятичного знака или расписания.

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

Дата погашения, возвращенная как datetime.

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

Расписание вызовов, возвращаемое как расписание.

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

Поставьте расписание, вернитесь как расписание.

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

Купоны в год, возвращаются в виде скалярного целого числа.

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

Базис отсчета дней, возвращенный как скалярное целое число.

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

Условная сумма основной суммы или график основного значения, возвращаемый в виде скалярного числа или расписания.

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

Флаг, указывающий, скорректирован ли денежный поток по соглашению о подсчете дней, возвращен как скалярный логический со значением true или false.

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

Соглашения о рабочих днях, возвращенные как строка

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

Праздничные дни, используемые в вычислении рабочих дней, возвращенные как datetimes.

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

Флаг правила конца месяца для генерации дат при Maturity - дата конца месяца для месяца с 30 или менее дней, возвращаемая как скаляр логическая.

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

Дата выпуска облигаций, возвращенная как datetime.

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

Нерегулярная дата первого купона, возвращенная как datetime.

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

Нерегулярная дата последнего купона, возвращенная как datetime.

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

Форвардная дата начала платежей, возвращенная как datetime.

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

Это свойство доступно только для чтения.

Стиль упражнения опции вызова, возвращенный как строка со значением "European", "American", или "Bermuda".

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

Это свойство доступно только для чтения.

Поместите опцию стиль упражнения, возвращенный как строка со значением "European", "American", или "Bermuda".

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

Определяемое пользователем имя инструмента, возвращаемое как строка.

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

Функции объекта

setCallExercisePolicyУстановите политику выполнения вызовов для OptionEmbeddedFixedBond, OptionEmbeddedFloatBond, или ConvertibleBond инструмент
setPutExercisePolicyУстановите политику упражнений put для OptionEmbeddedFixedBond, OptionEmbeddedFloatBond, или ConvertibleBond инструмент

Примеры

свернуть все

Этот пример показывает рабочий процесс по цене американских, европейских и бермудских стилей упражнений для трех вызываемых OptionEmbeddedFixedBond инструменты, когда вы используете HullWhite модель и IRTree метод ценообразования.

Создание ratecurve Объект

Создайте ratecurve объект, использующий ratecurve.

Settle = datetime(2018,1,1);
ZeroTimes = calyears(1:10)';
ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';
ZeroDates = Settle + ZeroTimes;
Compounding = 1;
ZeroCurve = ratecurve("zero",Settle,ZeroDates,ZeroRates, "Compounding",Compounding);

Создание OptionEmbeddedFixedBond Объекты приборов

Использование fininstrument создать три OptionEmbeddedFixedBond объекты инструмента с различными стилями упражнений.

Maturity = datetime(2024,1,1);

% Option embedded bond (Bermudan callable bond)
Strike = [100; 100];
ExerciseDates = [datetime(2020,1,1); datetime(2024,1,1)];
Period = 1;
CallSchedule =  timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); 

CallableBondBermudan = fininstrument("OptionEmbeddedFixedBond",'Maturity',Maturity,...
                              'CouponRate',0.025,'Period',Period, ...
                              'CallSchedule',CallSchedule,'CallExerciseStyle', "bermudan")
CallableBondBermudan = 
  OptionEmbeddedFixedBond with properties:

                  CouponRate: 0.0250
                      Period: 1
                       Basis: 0
                EndMonthRule: 1
                   Principal: 100
    DaycountAdjustedCashFlow: 0
       BusinessDayConvention: "actual"
                    Holidays: NaT
                   IssueDate: NaT
             FirstCouponDate: NaT
              LastCouponDate: NaT
                   StartDate: NaT
                    Maturity: 01-Jan-2024
                   CallDates: [2x1 datetime]
                    PutDates: [0x1 datetime]
                CallSchedule: [2x1 timetable]
                 PutSchedule: [0x0 timetable]
           CallExerciseStyle: "bermudan"
            PutExerciseStyle: [0x0 string]
                        Name: ""

% Option embedded bond (American callable bond)
Strike = 100;
ExerciseDates = datetime(2024,1,1);
CallSchedule =  timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); 
Period = 1;

CallableBondAmerican = fininstrument("OptionEmbeddedFixedBond",'Maturity',Maturity,...
                              'CouponRate',0.025,'Period', Period, ...
                              'CallSchedule',CallSchedule,'CallExerciseStyle',"american")
CallableBondAmerican = 
  OptionEmbeddedFixedBond with properties:

                  CouponRate: 0.0250
                      Period: 1
                       Basis: 0
                EndMonthRule: 1
                   Principal: 100
    DaycountAdjustedCashFlow: 0
       BusinessDayConvention: "actual"
                    Holidays: NaT
                   IssueDate: NaT
             FirstCouponDate: NaT
              LastCouponDate: NaT
                   StartDate: NaT
                    Maturity: 01-Jan-2024
                   CallDates: 01-Jan-2024
                    PutDates: [0x1 datetime]
                CallSchedule: [1x1 timetable]
                 PutSchedule: [0x0 timetable]
           CallExerciseStyle: "american"
            PutExerciseStyle: [0x0 string]
                        Name: ""

% Option embedded bond (European callable bond)
Strike = 100;
ExerciseDates = datetime(2024,1,1);
CallSchedule =  timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); 
Period = 1;

CallableBondEuropean = fininstrument("OptionEmbeddedFixedBond",'Maturity',Maturity,...
                              'CouponRate',0.025,'Period',Period, ...
                              'CallSchedule',CallSchedule)                          
CallableBondEuropean = 
  OptionEmbeddedFixedBond with properties:

                  CouponRate: 0.0250
                      Period: 1
                       Basis: 0
                EndMonthRule: 1
                   Principal: 100
    DaycountAdjustedCashFlow: 0
       BusinessDayConvention: "actual"
                    Holidays: NaT
                   IssueDate: NaT
             FirstCouponDate: NaT
              LastCouponDate: NaT
                   StartDate: NaT
                    Maturity: 01-Jan-2024
                   CallDates: 01-Jan-2024
                    PutDates: [0x1 datetime]
                CallSchedule: [1x1 timetable]
                 PutSchedule: [0x0 timetable]
           CallExerciseStyle: "european"
            PutExerciseStyle: [0x0 string]
                        Name: ""

Создание HullWhite Объект модели

Использование finmodel для создания HullWhite объект модели.

VolCurve = 0.01;
AlphaCurve = 0.1;

HWModel = finmodel("HullWhite",'alpha',AlphaCurve,'sigma',VolCurve);

Создание IRTree Объект прейскуранта

Использование finpricer для создания IRTree и используйте объект pricer ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

HWTreePricer = finpricer("IRTree",'Model',HWModel,'DiscountCurve',ZeroCurve,'TreeDates',ZeroDates)
HWTreePricer = 
  HWBKTree with properties:

             Tree: [1x1 struct]
        TreeDates: [10x1 datetime]
            Model: [1x1 finmodel.HullWhite]
    DiscountCurve: [1x1 ratecurve]

Ценовые OptionEmbeddedFixedBond Инструменты

Использование price вычислить цену и чувствительность для трех OptionEmbeddedFixedBond приборы.

[Price, outPR] = price(HWTreePricer,CallableBondBermudan,["all"])
Price = 103.2729
outPR = 
  priceresult with properties:

       Results: [1x4 table]
    PricerData: [1x1 struct]

outPR.Results
ans=1×4 table
    Price      Vega      Gamma      Delta 
    ______    _______    ______    _______

    103.27    -148.28    1375.9    -290.33

[Price, outPR] = price(HWTreePricer,CallableBondAmerican,["all"])
Price = 100
outPR = 
  priceresult with properties:

       Results: [1x4 table]
    PricerData: [1x1 struct]

outPR.Results
ans=1×4 table
    Price    Vega    Gamma    Delta
    _____    ____    _____    _____

     100      0        0        0  

[Price, outPR] = price(HWTreePricer,CallableBondEuropean,["all"])
Price = 107.7023
outPR = 
  priceresult with properties:

       Results: [1x4 table]
    PricerData: [1x1 struct]

outPR.Results
ans=1×4 table
    Price    Vega    Gamma      Delta 
    _____    ____    ______    _______

    107.7     0      4086.4    -602.56

В этом примере показан рабочий процесс для оценки вызываемого OptionEmbeddedFixedBond инструмент и получите вероятности упражнений, когда вы используете BlackKarasinski модель и IRTree метод ценообразования.

Создание ratecurve Объект

Создайте ratecurve объект, использующий ratecurve.

Settle = datetime(2018, 1, 1);
ZeroTimes = calyears(1:4)';
ZeroRates = [0.035; 0.042147; 0.047345; 0.052707];
ZeroDates = Settle + ZeroTimes;
Compounding = 1;
ZeroCurve = ratecurve("zero",Settle,ZeroDates,ZeroRates, "Compounding",Compounding)
ZeroCurve = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: 1
                Basis: 0
                Dates: [4x1 datetime]
                Rates: [4x1 double]
               Settle: 01-Jan-2018
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

Создание OptionEmbeddedFixedBond Объект прибора

Использование fininstrument для создания OptionEmbeddedFixedBond объект инструмента с американским стилем упражнений.

CouponRate = 0.0425;
Strike = [95; 98];
ExerciseDates = [datetime(2021,1,1); datetime(2022,1,1)];
Maturity = datetime(2022,1,1);
Period = 1;
CallSchedule =  timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); 
CallableBond = fininstrument("OptionEmbeddedFixedBond", 'Maturity',Maturity,...
                              'CouponRate',CouponRate,'Period', Period, ...
                              'CallSchedule',CallSchedule,...
                              'CallExerciseStyle', "American",...
                              'Name',"MyCallableBond")                
CallableBond = 
  OptionEmbeddedFixedBond with properties:

                  CouponRate: 0.0425
                      Period: 1
                       Basis: 0
                EndMonthRule: 1
                   Principal: 100
    DaycountAdjustedCashFlow: 0
       BusinessDayConvention: "actual"
                    Holidays: NaT
                   IssueDate: NaT
             FirstCouponDate: NaT
              LastCouponDate: NaT
                   StartDate: NaT
                    Maturity: 01-Jan-2022
                   CallDates: [2x1 datetime]
                    PutDates: [0x1 datetime]
                CallSchedule: [2x1 timetable]
                 PutSchedule: [0x0 timetable]
           CallExerciseStyle: "american"
            PutExerciseStyle: [0x0 string]
                        Name: "MyCallableBond"

Создание BlackKarasinski Объект модели

Использование finmodel для создания BlackKarasinski объект модели.

VolCurve = 0.01;
AlphaCurve = 0.1;
BKModel = finmodel("BlackKarasinski",'alpha',AlphaCurve,'sigma',VolCurve)
BKModel = 
  BlackKarasinski with properties:

    Alpha: 0.1000
    Sigma: 0.0100

Создание IRTree Объект прейскуранта

Использование finpricer для создания IRTree и используйте объект pricer ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

BKTreePricer = finpricer("IRTree",'Model',BKModel,'DiscountCurve',ZeroCurve,'TreeDates',ZeroDates)
BKTreePricer = 
  HWBKTree with properties:

             Tree: [1x1 struct]
        TreeDates: [4x1 datetime]
            Model: [1x1 finmodel.BlackKarasinski]
    DiscountCurve: [1x1 ratecurve]

Ценовые OptionEmbeddedFixedBond Инструмент

Использование price вычислить цену и чувствительность для OptionEmbeddedFixedBond прибора.

[Price,  PriceResults]= price(BKTreePricer, CallableBond)
Price = 92.5235
PriceResults = 
  priceresult with properties:

       Results: [1x1 table]
    PricerData: [1x1 struct]

Исследуйте выходные PriceResults.PricerData.PriceTree.ExTree, который содержит массивы индикаторов упражнений. В массиве ячеек a 1 указывает выполняемую опцию и 0 указывает на неэксперсную опцию.

PriceResults.PricerData.PriceTree.ExTree{5} 
ans = 1x7 logical array

   1   1   1   1   1   1   1

Опции не выполняются.

PriceResults.PricerData.PriceTree.ExTree{4} 
ans = 1x7 logical array

   0   0   0   0   0   0   0

Инструмент выполняется на всех узлах.

PriceResults.PricerData.PriceTree.ExTree{3} 
ans = 1x5 logical array

   0   0   0   0   0

Опции не выполняются.

PriceResults.PricerData.PriceTree.ExTree{2} 
ans = 1x3 logical array

   0   0   0

Опции не выполняются.

Просмотрите вероятность достижения каждого узла из корневого узла используя PriceResults.PricerData.PriceTree.ProbTree.

PriceResults.PricerData.PriceTree.ProbTree{2}
ans = 1×3

    0.1667    0.6667    0.1667

PriceResults.PricerData.PriceTree.ProbTree{3}
ans = 1×5

    0.0203    0.2206    0.5183    0.2206    0.0203

PriceResults.PricerData.PriceTree.ProbTree{4}
ans = 1×7

    0.0018    0.0395    0.2370    0.4433    0.2370    0.0395    0.0018

PriceResults.PricerData.PriceTree.ProbTree{5}
ans = 1×7

    0.0018    0.0395    0.2370    0.4433    0.2370    0.0395    0.0018

Просмотрите вероятности упражнений, используя PriceResults.PricerData.PriceTree.ExProbTree. PriceResults.PricerData.PriceTree.ExProbTree содержит вероятности упражнений. Каждый элемент массива ячеек является массивом, содержащим 0где нет упражнений или вероятность достижения этого узла, где выполняются упражнения.

PriceResults.PricerData.PriceTree.ExProbTree{5}
ans = 1×7

    0.0018    0.0395    0.2370    0.4433    0.2370    0.0395    0.0018

PriceResults.PricerData.PriceTree.ExProbTree{4}
ans = 1×7

     0     0     0     0     0     0     0

PriceResults.PricerData.PriceTree.ExProbTree{3}
ans = 1×5

     0     0     0     0     0

PriceResults.PricerData.PriceTree.ExProbTree{2}
ans = 1×3

     0     0     0

Просмотрите вероятности упражнений на каждом уровне дерева с помощью PriceResults.PricerData.PriceTree.ExProbsByTreeLevel. PriceResults.PricerData.PriceTree.ExProbsByTreeLevel - массив, в котором каждая строка сохраняет вероятность упражнения для заданной опции во время наблюдения дерева.

PriceResults.PricerData.PriceTree.ExProbsByTreeLevel
ans = 1×5

         0         0         0         0    1.0000

Подробнее о

расширить все

Совет

После создания OptionEmbeddedFixedBond объект, можно изменить CallSchedule и CallExerciseStyle использование setCallExercisePolicy. Или можно изменить PutSchedule и PutExerciseStyle значения с использованием setPutExercisePolicy.

Введенный в R2020a