exponenta event banner

instswap

Создание инструмента подкачки

Описание

пример

InstSet = instswap(LegRate,Settle,Maturity) создает новый набор инструментов, содержащий инструменты Swap.

пример

InstSet = instswap(InstSet,LegRate,Settle,Maturity) Добавление перестановочных инструментов в существующий набор инструментов.

пример

InstSet = instswap(___,LegReset,Basis,Principal,LegType,EndMonthRule,StartDate) добавляет необязательные аргументы для LegReset, Basis, Principal, LegType, EndMonthRule, и StartDate.

пример

[FieldList,ClassList,TypeString] = instswap содержит метаданные полей для инструмента Swap.

Примеры

свернуть все

Создайте ванильный своп с использованием рыночных данных.

Используйте следующие рыночные данные для создания инструмента свопа.

LegRate = [0.065, 0]
LegRate = 1×2

    0.0650         0

Settle = 'jan-1-2007';    
Maturity = 'jan-1-2012';
LegReset = [1, 1];
Basis = 0
Basis = 0
Principal = 100    
Principal = 100
LegType = [1, 0]   
LegType = 1×2

     1     0

InstSet = instswap(LegRate, Settle, Maturity, LegReset, Basis, Principal, LegType)
InstSet = struct with fields:
        FinObj: 'Instruments'
    IndexTable: [1x1 struct]
          Type: {'Swap'}
     FieldName: {{9x1 cell}}
    FieldClass: {{9x1 cell}}
     FieldData: {{9x1 cell}}

Просмотр инструмента подкачки с помощью instdisp.

instdisp(InstSet)
Index Type LegRate    Settle         Maturity       LegReset Basis Principal LegType EndMonthRule StartDate
1     Swap [0.065  0] 01-Jan-2007    01-Jan-2012    [1  1]   0     100       [1  0]  1            NaN      
 

Использовать instswap чтобы создать плавающий своп и оценить своп с intenvprice.

RateSpec = intenvset('Rates',.05,'StartDate',today,'EndDate',datemnth(today,60));
IS = instswap([40 20],today,datemnth(today,60),[], [], [], [0 0]);
intenvprice(RateSpec,IS)
ans =

    0.8644

Использовать instswap для создания свопов и ценообразования свопов с intenvprice.

RateSpec = intenvset('Rates',.05,'StartDate',today,'EndDate',datemnth(today,60));
IS = instswap([.03 .02],today,datemnth(today,60),[], [], [], [1 1]);
IS = instswap(IS,[200 300],today,datemnth(today,60),[], [], [], [0 0]);
IS = instswap(IS,[300 .07],today,datemnth(today,60),[], [], [], [0 1]);
intenvprice(RateSpec,IS)
ans = 3×1

    4.3220
   -4.3220
    4.5921

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

свернуть все

Переменная инструмента, заданная только при добавлении инструментов замены в существующий набор инструментов. Для получения дополнительной информации о InstSet переменная, см. instget.

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

Скорость передачи, заданная как скаляр или NINSTоколо-2 с каждой строкой, определенной как одна из следующих:

  • [CouponRate Spread] (фиксированный поплавок)

  • [Spread CouponRate] (поплавковый)

  • [CouponRate CouponRate] (фиксированный-фиксированный)

  • [Spread Spread] (поплавок-поплавок)

CouponRate - десятичная годовая ставка. Spread - количество базисных пунктов над эталонной скоростью. Первый столбец представляет принимающую ветвь, а второй столбец - платящую ветвь.

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

Дата расчета, указанная как скаляр или NINSTоколо-1 вектор серийных номеров дат или векторы символов дат.

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

Дата погашения, указанная как скаляр или NINSTоколо-1 вектор серийных номеров дат или векторы символов дат, представляющие дату погашения для каждого свопа.

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

(Необязательно) Частота сброса в год для каждого свопа, указанная как NINSTоколо-2 вектор.

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

(Необязательно) База подсчета дней, представляющая основу для каждого этапа, указанная как NINSTоколо-1 массив (или NINSTоколо-2 если 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 принимает NINSTоколо-1 вектор или NINSTоколо-1 массив ячеек (или NINSTоколо-2 если Principal отличается для каждой ветви) условных сумм основной суммы или графиков основной стоимости. Для расписаний каждый элемент массива ячеек является NumDatesоколо-2 массив, где первый столбец - даты, а второй столбец - связанное с ним условное основное значение. Дата указывает последний день, когда действительным является основное значение.

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

(Необязательно) Тип ножки, указанный как NINSTоколо-2 матрица со значениями [1 1] (фиксированный-фиксированный), [1 0] (фиксированный поплавок), [0 1] (поплавковый), или [0 0] (поплавок-поплавок). Каждая строка представляет инструмент. Каждый столбец указывает, является ли соответствующая ветвь фиксированной (1) или плавающий (0). Эта матрица определяет интерпретацию значений, введенных в LegRate. LegType позволяет [1 1] (фиксированный-фиксированный), [1 0] (фиксированный поплавок), [0 1] (поплавковый), или [0 0] (float-float) свопы

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

(Необязательно) Флаг правила конца месяца для генерации дат, когда Maturity - дата конца месяца, имеющая 30 или менее дней, указанная как неотрицательное целое число; 0 или 1использование NINSTоколо-1 (или NINSTоколо-2 если EndMonthRule отличается для каждой ветви).

  • 0 = Игнорировать правило, означающее, что дата платежа всегда совпадает с числовым днем месяца.

  • 1 = Установите правило, означающее, что дата платежа всегда является последним фактическим днем месяца.

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

(Необязательно) Дата фактического начала свопа, указанная как NINSTоколо-1 вектор дат с использованием серийного номера даты или символьного вектора.

Используйте этот аргумент для ценовых свопов, то есть свопов, которые начинаются в будущем

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

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

свернуть все

Переменная, содержащая набор инструментов, возвращаемых в виде структуры. Инструменты разбиваются по типам, и каждый тип может иметь различные поля данных. Каждое сохраненное поле данных имеет вектор строки или строку для каждого инструмента. Для получения дополнительной информации о InstSet переменная, см. instget.

Имя каждого поля данных для инструмента Swap, возвращаемого как NFIELDSоколо-1 клеточный массив символьных векторов.

Класс данных для каждого поля, возвращаемый как NFIELDSоколо-1 клеточный массив символьных векторов. Класс определяет способ синтаксического анализа аргументов. Допустимыми векторами символов являются 'dble', 'date', и 'char'.

Тип инструмента, возвращаемый как символьный вектор. Для инструмента замены, TypeString = 'Swap'.

Подробнее

свернуть все

Амортизирующий своп

В амортизирующем свопе условная основная сумма периодически уменьшается, поскольку она привязана к базовому финансовому инструменту с уменьшающимся (амортизирующим) основным балансом, таким как ипотека.

Перемотка вперед

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

Представлен до R2006a