setCallExercisePolicy

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

Описание

пример

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

Примеры

свернуть все

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

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

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

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

CallableBond = fininstrument("OptionEmbeddedFixedBond",'Maturity',Maturity,...
                              'CouponRate',0.025,'Period',Period, ...
                              'CallSchedule',CallSchedule)
CallableBond = 
  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: "american"
            PutExerciseStyle: [0x0 string]
                        Name: ""

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

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

CallableBond = setCallExercisePolicy(CallableBond, CallSchedule, "Bermudan") 
CallableBond = 
  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: ""

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

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

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

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

В этом примере показано, как использовать setCallExercisePolicy чтобы обеспечить непротиворечивость между расписанием осуществления и осуществлением разрабатывают при использовании 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;
CallSchedule =  timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); 

CallableBond = fininstrument("OptionEmbeddedFixedBond",'Maturity',Maturity,...
                              'CouponRate',0.025,'Period',Period, ...
                              'CallSchedule',CallSchedule)
CallableBond=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

CallableBond.CallExerciseStyle
ans = 
"american"
ans = 
"american"
ans = 
"american"

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

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

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

CallableBond(2) = setCallExercisePolicy(CallableBond(2), CallSchedule, "Bermudan") 
CallableBond=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

CallableBond.CallExerciseStyle
ans = 
"american"
ans = 
"bermudan"
ans = 
"american"

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

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

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

CallableBond(2) = setCallExercisePolicy(CallableBond(2), CallSchedule)
CallableBond=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

CallableBond.CallExerciseStyle
ans = 
"american"
ans = 
"bermudan"
ans = 
"american"

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

свернуть все

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

Примечание

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

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

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

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

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

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

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

свернуть все

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

Введенный в R2020b