Исследуйте арбитраж актива Одно Периода

Этот пример исследует основные арбитражные концепции в одно период, портфель активов с двумя состояниями. Портфель состоит из связи, длинного запаса и длинного колл-опциона на запасе.

Это использует эти функции Symbolic Math Toolbox™:

  • equationsToMatrix, чтобы преобразовать линейную систему уравнений к матрице.

  • linsolve, чтобы решить систему.

  • Символьные эквиваленты стандартных функций MATLAB®, такие как diag.

Этот пример символически выводит нейтральные к риску вероятности и досрочную цену в течение одно периода, сценария с двумя состояниями.

Задайте параметры портфеля

Создайте символьную переменную r, представляющую безрисковый уровень за период. Установите предположение, что r является положительным значением.

syms r positive

Задайте параметры в течение начала одного периода, time = 0. Здесь S0 является курсом акций, и C0 является ценой колл-опциона с забастовкой, K.

syms S0 C0 K positive

Теперь, задайте параметры для конца периода, time = 1. Маркируйте два возможных состояния в конце периода как U (курс акций за этот период повышается), и D (курс акций за этот период понижается). Таким образом SU и SD являются курсами акций в состояниях U и D, и CU является значением вызова в состоянии U. Обратите внимание на то, что SD<=K<=SU.

syms SU SD CU positive

Цена облигаций в time = 0 равняется 1. Обратите внимание на то, что этот пример игнорирует затраты на трение.

Соберите цены в time = 0 в вектор-столбец.

prices = [1 S0 C0]'
prices = 

(1S0C0)

Соберите выплаты портфеля в time = 1 в матрицу payoff. Столбцы payoff соответствуют выплатам для состояний D и U. Строки соответствуют выплатам для связи, запаса и вызова. Выплатой для связи является 1 + r. Выплата для вызова в состоянии D является нулем, поскольку это не осуществлено (потому что SD<=K).

payoff = [(1 + r), (1 + r); SD, SU; 0, CU]
payoff = 

(r+1r+1SDSU0CU)

CU стоит SU - K в состоянии U. Замените этим значением в payoff.

payoff = subs(payoff, CU, SU - K)
payoff = 

(r+1r+1SDSU0SU-K)

Решите для нейтральных к риску вероятностей

Задайте вероятности достижения состояний U и D.

syms pU pD real

Под без арбитражей eqns == 0 должен всегда сохраняться с положительным pU и pD.

eqns = payoff*[pD; pU] - prices
eqns = 

(фунтr+1+pUr+1-1SDфунт-S0+SUpU-C0-pUK-SU)

Преобразуйте уравнения, чтобы использовать нейтральные к риску вероятности.

syms pDrn pUrn real;
eqns = subs(eqns, [pD; pU], [pDrn; pUrn]/(1 + r))
eqns = 

(pDrn+pUrn-1SDpDrnr+1-S0+SUpUrnr+1-C0-pUrnK-SUr+1)

Неизвестными переменными является pDrn, pUrn и C0. Преобразуйте линейную систему к матричной форме с помощью этих неизвестных переменных.

[A, b] = equationsToMatrix(eqns, [pDrn, pUrn, C0]')
A = 

(110SDr+1SUr+100-K-SUr+1-1)

b = 

(1S00)

Используя linsolve, найдите решение для нейтральных к риску вероятностей и досрочной цены.

x = linsolve(A, b)
x = 

(S0-SU+S0rSD-SU-S0-SD+S0rSD-SUK-SUS0-SD+S0rSD-SUr+1)

Проверьте решение

Проверьте, что под нейтральными к риску вероятностями, x(1:2), ожидаемой нормой прибыли для портфеля, E_return равняется безрисковому уровню, r.

E_return = diag(prices)\(payoff - [prices,prices])*x(1:2);
E_return = simplify(subs(E_return, C0, x(3)))
E_return = 

(rrr)

Протестируйте на нарушения без Арбитражей

Как пример тестирования нарушений без арбитражей, используйте следующие значения: r = 5%, S0 = 100 и K = 100. Для SU < 105 нарушено условие без арбитражей, потому что pDrn = xSol(1) отрицателен (SU >= SD). Далее, для любой досрочной цены кроме xSol(3), существует арбитраж.

xSol = simplify(subs(x, [r,S0,K], [0.05,100,100]))
xSol = 

(-SU-105SD-SUSD-105SD-SU20SD-105SU-10021SD-SU)

Постройте досрочную цену как поверхность

Постройте досрочную цену, C0 = xSol(3), для 50 <= SD <= 100 и 105 <= SU <= 150. Обратите внимание на то, что вызов стоит больше, когда "отклонение" базового курса акций выше, например, SD = 50, SU = 150.

fsurf(xSol(3), [50,100,105,150])
xlabel SD
ylabel SU
title 'Call Price'

Ссылка

Advanced Derivatives, Pricing and Risk Management: Theory, Tools and Programming Applications Альбанезе, C., Campolieti, G.

Для просмотра документации необходимо авторизоваться на сайте