MATLAB è Simulink íà ðóññêîì

https://hub.exponenta.ru/
 

Financial Derivatives Toolbox

Financial Toolbox: разбор демонстрационных примеров

  В оглавление \ К предыдущему разделу \ К следующему разделу

Функция hedgeslf

Назначение: Определение самофинансируемого хеджа

Синтаксис:

[PortSens, PortValue, PortHolds] = hedgeslf(Sensitivities, Price,
CurrentHolds, FixedInd, ConSet)

Аргументы:

  • Sensitivities - Матрица, размерностью числа инструментов (NINST) на число характеристик чуствительности (NSENS) в долларах (абсолютная чуствительность) для каждого финансового инструмента. Каждая строка представляет собой различные инструменты. Каждый столбец представляет собой различные характеристики чуствительности.
  • Price - Вектор, размерности NINST:1, цен портфеля финансовых инструментов.
  • CurrentHolds - Вектор, размерности NINST:1, количества контрактов для каждого финансового инструмента.
  • FixedInd - (Обязательный). Вектор, размерности (NFIXED:1) числа индексов финансовых инструментов, которые фиксируются в портфеле. По умолчанию, FixedInd=1; в этом случае фиксируется первый инструмент в портфеле. Если NFIXED инструментов не изменяются, тогда весь состав финансовых инструментов портфеля вводится вектор. Если отсутствуют фиксируемые инструменты в портфеле, вводится FixedInd = [].
  • ConSet - (Обязательный). Матрица, размерности (NCONS) на число финансовых инструментов (NINST), представляющая собой число ограничений как дополнительных условий для проведения операции ребалансировки портфеля. Все значения вектора размерности (NINST:1) допустимого количества удерживаемых контрактов в портфеле, PortHolds должны удовлетворять неравенству , где A=ConSet(: , 1:end – 1) и b = ConSet (: , end).

Описание: Обращением к функции hedgeslf:

[PortSens, PortValue, PortHolds] = hedgeslf(Sensitivities, Price,
CurrentHolds, FixedInd, ConSet)

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

PortSens – Матрица чуствительностей портфеля размерности NPOINTS:NSENS. В случае, когда существует реальный хедж PortSens равно нулю. Иначе, осуществляется выбор наилучшего хеджа.

PortValue – полная стоимость портфеля. Скаляр. Если существует самофинансируемый хедж, тогда PortValue эквивалентно первоначальной стоимости портфеля. dot(Price, CurrentWts).

PortHolds – матрица, размерности NPOINTS:NINST, контрактов для каждого инструмента портфеля. Представляет собой состав ребалансировочного портфеля.

Замечание.
1. Ограничения, PortHolds(FixedInd) = CurrentHolds(FixedInd) добавляются до ограничений, передаваемых в ConSet. Значением FixedInd = [] специфицируются все ограничения в ConSet.
2. Ограничения, по умолчанию, генерируемые функцией portcons являются неудовлетворительными, так как они требуют, чтобы сумма всех удерживаемых контрактов была положительной и равна единице.
3. Функция hedgeself сначала пытается найти такой состав портфеля, который является наиболее близким к самофинансируемому, так что бы чуствительность была близка к 0. Если решения не найдено, она находит состав портфеля, в котором осуществляется минимизация чуствительности. Если результирующий портфель является самофинансируемым, PortValue равно стоимости первоначального портфеля.

Пример: Пример №1. Абсолютная чуствительность не может быть достигнутой. Выполним команды:

Sens = [0.44 0.32; 1.0 0.0];
Price = [1.2; 1.0];
W0 = [1; 1];
[PortSens, PortValue, PortHolds]= hedgeslf(Sens, Price, W0)

Что подтверждается полученными результатами:

Пример №2. Конфликтные ограничения. Выполним команды:

Sens = [0.44 0.32; 1.0 0.0];
Price = [1.2; 1.0];
W0 = [1; 1];
ConSet = pcalims([2 2])
[PortSens, PortValue, PortHolds]= hedgeslf(Sens, Price, W0,...
[], ConSet)

В результате имеем:

Далее выполним команду:

[PortSens, PortValue, PortHolds] = hedgeslf(Sens, Price, W0,...
1, ConSet)

Результат выполненя будет неудовлетворительный:

??? Error using ==> hedgeslf
Overly restrictive allocation constraints implied by ConSet and by fixing the weight of instruments(s): 1

Пример №3. Ограничения невозможно задавать позднее: Выполним команды:

Sens = [0.44 0.32; 1.0 0.0];
Price = [1.2; 1.0];
W0 = [1; 1];
ConSet = pcalims([2 2],[1 1]);
[PortSens, PortValue, PortHolds] = hedgeslf(Sens, Price, W0,...
[],ConSet)

В результате получим:

См. также: Функцию hedgeopt
Функцию portcons в документации Financial Toolbox
Функцию lsqlin в документации OptimizationToolbox

  В оглавление \ К предыдущему разделу \ К следующему разделу

 

Поиск по сайту:


Система Orphus