setPutExercisePolicy

Установите помещенную политику осуществления для OptionEmbeddedFixedBond, OptionEmbeddedFloatBond, или ConvertibleBond инструмент

Описание

пример

UpdatedInstrumentObject = setPutExercisePolicy(InstrumentObject,exerciseSchedule,exerciseStyle) устанавливает помещенную политику осуществления для OptionEmbeddedFixedBond, OptionEmbeddedFloatBond, или ConvertibleBond инструментальный объект.

Примеры

свернуть все

В этом примере показано, как использовать setPutExercisePolicy чтобы обеспечить непротиворечивость между расписанием осуществления и осуществлением разрабатывают при использовании OptionEmbeddedFixedBond инструментальный объект.

Создайте OptionEmbeddedFixedBond Инструментальный объект

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

Maturity = datetime(2024,1,1);
Strike = [100;100];
ExerciseDates = [datetime(2020,1,1); datetime(2024,1,1)];
Period = 1;
PutSchedule =  timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); 

PuttableBond = fininstrument("OptionEmbeddedFixedBond",'Maturity',Maturity,...
                              'CouponRate',0.025,'Period',Period, ...
                              'PutSchedule',PutSchedule)
PuttableBond = 
  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: [0x1 datetime]
                    PutDates: [2x1 datetime]
                CallSchedule: [0x0 timetable]
                 PutSchedule: [2x1 timetable]
           CallExerciseStyle: [0x0 string]
            PutExerciseStyle: "american"
                        Name: ""

Установите стиль осуществления на бермудца

Используйте setPutExercisePolicy задавать PutExerciseStyle как Bermudan.

PuttableBond = setPutExercisePolicy(PuttableBond, PutSchedule, "Bermudan") 
PuttableBond = 
  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: [0x1 datetime]
                    PutDates: [2x1 datetime]
                CallSchedule: [0x0 timetable]
                 PutSchedule: [2x1 timetable]
           CallExerciseStyle: [0x0 string]
            PutExerciseStyle: "bermudan"
                        Name: ""

Используйте setPutExercisePolicy изменить PutSchedule и продолжите использовать бермудский стиль осуществления.

Strike = [100; 101;102;103];
ExerciseDates = [datetime(2018,1,1);datetime(2020,1,1);datetime(2022,1,1);datetime(2024,1,1)];

PutSchedule =  timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); 

PuttableBond = setPutExercisePolicy(PuttableBond, PutSchedule)   
PuttableBond = 
  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: [0x1 datetime]
                    PutDates: [4x1 datetime]
                CallSchedule: [0x0 timetable]
                 PutSchedule: [4x1 timetable]
           CallExerciseStyle: [0x0 string]
            PutExerciseStyle: "bermudan"
                        Name: ""

В этом примере показано, как использовать setPutExercisePolicy чтобы обеспечить непротиворечивость между расписанием осуществления и осуществлением разрабатывают при использовании OptionEmbeddedFixedBond инструментальный объект с тремя OptionEmbeddedFixedBond инструменты.

Создайте OptionEmbeddedFixedBond Инструментальный объект

Используйте fininstrument создать OptionEmbeddedFixedBond инструментальный объект для трех Опций Встроенные Фиксированные инструменты Связи с American осуществите стили.

Maturity = datetime([2024,1,1 ; 2024,4,1 ; 2024,8,1]);
Strike = [100;100];
ExerciseDates = [datetime(2020,1,1); datetime(2024,1,1)];
Period = 1;
PutSchedule =  timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); 

PuttableBond = fininstrument("OptionEmbeddedFixedBond",'Maturity',Maturity,...
                              'CouponRate',0.025,'Period',Period, ...
                              'PutSchedule',PutSchedule)
PuttableBond=3×1 object
  3x1 OptionEmbeddedFixedBond array with properties:

    CouponRate
    Period
    Basis
    EndMonthRule
    Principal
    DaycountAdjustedCashFlow
    BusinessDayConvention
    Holidays
    IssueDate
    FirstCouponDate
    LastCouponDate
    StartDate
    Maturity
    CallDates
    PutDates
    CallSchedule
    PutSchedule
    CallExerciseStyle
    PutExerciseStyle
    Name

PuttableBond.PutExerciseStyle
ans = 
"american"
ans = 
"american"
ans = 
"american"

PutExerciseStyle "American" потому что fininstrument синтаксис не содержит PutExercideStyle спецификация и существует две даты осуществления, заданные в PutSchedule.

Установите стиль осуществления на бермудца

Используйте setPutExercisePolicy задавать PutExerciseStyle как Bermudan для второго (PuttableBond(2)) инструмент.

PuttableBond(2) = setPutExercisePolicy(PuttableBond(2), PutSchedule, "Bermudan") 
PuttableBond=3×1 object
  3x1 OptionEmbeddedFixedBond array with properties:

    CouponRate
    Period
    Basis
    EndMonthRule
    Principal
    DaycountAdjustedCashFlow
    BusinessDayConvention
    Holidays
    IssueDate
    FirstCouponDate
    LastCouponDate
    StartDate
    Maturity
    CallDates
    PutDates
    CallSchedule
    PutSchedule
    CallExerciseStyle
    PutExerciseStyle
    Name

PuttableBond.PutExerciseStyle
ans = 
"american"
ans = 
"bermudan"
ans = 
"american"

Используйте setPutExercisePolicy изменить PutSchedule и продолжите использовать Bermudan осуществите стиль.

Strike = [100; 101;102;103];
ExerciseDates = [datetime(2018,1,1);datetime(2020,1,1);datetime(2022,1,1);datetime(2024,1,1)];

PutSchedule =  timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); 

PuttableBond(2) = setPutExercisePolicy(PuttableBond(2), PutSchedule)   
PuttableBond=3×1 object
  3x1 OptionEmbeddedFixedBond array with properties:

    CouponRate
    Period
    Basis
    EndMonthRule
    Principal
    DaycountAdjustedCashFlow
    BusinessDayConvention
    Holidays
    IssueDate
    FirstCouponDate
    LastCouponDate
    StartDate
    Maturity
    CallDates
    PutDates
    CallSchedule
    PutSchedule
    CallExerciseStyle
    PutExerciseStyle
    Name

PuttableBond.PutExerciseStyle
ans = 
"american"
ans = 
"bermudan"
ans = 
"american"

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

свернуть все

Инструментальный объект, заданное использование ранее созданного OptionEmbeddedFixedBond, OptionEmbeddedFloatBond, или ConvertibleBond инструментальный объект.

Примечание

Если OptionEmbeddedFixedBond, OptionEmbeddedFloatBond, или ConvertibleBond инструментальный объект является вектором из инструментов, необходимо использовать setCallExercisePolicy отдельно с каждым инструментом.

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

Поместите расписание осуществления в виде расписания. Расписание должно содержать обоих exerciseDate значение и Strike информация.

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

Осуществление пут-опциона разрабатывает в виде скалярной строки или вектора символов.

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

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

свернуть все

Обновленный инструмент, возвращенный как объект.

Введенный в R2020b