instswap

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

Описание

пример

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

пример

InstSet = instswap(InstSet,LegRate,Settle,Maturity) добавляет инструменты Swap к существующему набору приборов.

пример

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

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

свернуть все

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

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

Скорость ног, заданная в виде скаляра или NINST-by- 2 матрица с каждой строкой, заданной как одна из следующих:

  • [CouponRate Spread] (с фиксированной запятой)

  • [Spread CouponRate] (с фиксированной запятой)

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

  • [Spread Spread] (с плавающей запятой)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

Подробнее о

свернуть все

Амортизация свопа

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

Прямая замена

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

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