Построение эффективной границы модели Шарпа при портфельной оптимизации



Скачать 103.6 Kb.
Дата03.12.2012
Размер103.6 Kb.
ТипДокументы

Построение эффективной границы модели Шарпа при портфельной оптимизации



Брусанов В.В.,

зам. нач. Управления организационно-технологического развития

ОАО "Россельхозбанк"
Данная публикация имеет сугубо прикладной характер и посвящена рассмотрению конкретного вопроса построения эффективной границы множества возможных портфелей в модели Шарпа. Распространено мнение о том, что расчет оптимальных портфелей является чрезвычайно сложной задачей, неразрешимой без специальных программ, - однако критерием истины все же следует считать практику. Публикация предназначена для подготовленных читателей, знакомых с современной портфельной теорией [1], [2] и имеющих навыки работы на персональном компьютере.
Построение эффективной границы является ключевым вопросом при определении структуры оптимального портфеля финансовых инструментов (активов). В модели Шарпа (рыночной модели, простой индексной модели), устанавливающей связь между прогнозируемой доходностью актива и ожидаемой доходностью рынка в форме

E(ri) = i E(rm) + ri + i,

где E(ri) - прогнозируемая доходность i-го актива,

E(rm) - ожидаемая доходность “рыночного портфеля” (рынка в целом),

i - коэффициент бета i-го актива, показывающий взаимосвязь между доходностью актива и доходностью рынка, i = cov i ,m / m2 , где covi,m - ковариация доходностей,

ri - доходность i-го актива, не связанная с действием рыночных факторов,

i - специфический риск i-го актива, не связанный с действием рыночных факторов,

положение эффективной границы возможных портфелей удовлетворяет условию



при выполнении ограничения


на интервале доходности портфелей


где - среднеквадратическое отклонение доходности портфеля,

i - среднеквадратическое отклонение доходности i-го актива,

m - среднеквадратическое отклонение доходности рынка,

i - доля i-го актива в портфеле,

ri - доходность i-го актива,

E (r) - доходность портфеля,

n – количество финансовых инструментов в портфеле.


С учетом условия доминирования [1], [2] выражения (1) - (3) позволяют считать построение эффективной границы возможных портфелей типичной оптимизационной задачей на условный экстремум.

Соотношения (1) – (3) описывают кривую, примерный вид которой показан ниже на диаграмме «Доходность – риск». Верхняя часть этой кривой является эффективной границей множества возможных портфелей и любой ее точке (*, E*) соответствует какой-то доминирующий портфель {i *, 1  i  n}. После определения эффективной границы задача формирования оптимального портфеля активов по существу сводится к выбору из всей совокупности доминирующих портфелей одного в некотором смысле наилучшего [1], [2].





Примерный вид кривой, описываемой формулами (1) – (3)
Эффективная граница множества возможных портфелей является выпуклой и гладкой [1], поэтому с достаточной для потребностей практики точностью ее можно построить по точкам в результате расчета портфелей {i *, 1  i  n}, удовлетворяющих ограничению (2), которым при фиксированном уровне доходности портфеля E*, rmin  E*  rmax соответствует минимальное значение . При этом количество рассчитываемых точек и распределение соответствующих им значений аргумента E* на интервале доходности [rmin, rmax] зависят от требуемой точности построения эффективной границы возможных портфелей.

Для построения эффективной границы множества возможных портфелей по точкам оптимизационную задачу, описываемую соотношениями (1) – (3), не обязательно решать аналитически, т.к. необходимый результат при минимальных затратах времени и сил может быть получен с помощью численных методов без использования специальных программных средств. В частности, как показывает практика, возможностей табличного процессора MS EXCEL вполне достаточно для численного расчета методом случайного поиска координат точек (*, E*), расположенных на эффективной границе множества возможных портфелей.

Следует отметить, что на практике для расчета эффективной границы возможных портфелей вместо выражения (1) часто удобнее использовать равносильное ему



Применение рекомендуемого способа построения эффективной границы множества возможных портфелей с помощью табличного процессора MS EXCEL целесообразно рассмотреть на примере. Для иллюстративного расчета использованы сведения по ценным бумагам за первое полугодие 1999 г., размещенные на сайтах Московской межбанковской валютной биржи (www.micex.ru) и информационного агентства AK&M (www.akm.ru). Исходная информация по девяти выбранным эмитентам сведена в таблицу на листе «Данные», содержащую данные о доходности ri, коэффициенте i и коэффициенте R2 соответствующих финансовых инструментов (активов).





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





Макрос-процедура Граница_портфеля является главной и обеспечивает расчет множества точек эффективной границы возможных портфелей. Макрос-процедура Расчет_точки выполняет расчет одной точки эффективной границы возможных портфелей. С помощью макроса-процедуры Порог реализовано пороговое ограничение на величину долей активов i. Макрос-процедура Поиск_точки используется для нахождения минимума целевой функции. Макрос-функция Целевая_функция описывает целевую функцию, используемую при расчете точек эффективной границы возможных портфелей. Посредством макроса-функции Доходность определяется доходность портфеля ценных бумаг. Макрос-функция Риск используется для вычисления размера риска по формуле (4). Макрос-процедура Пробный_шаг применяется для выполнения пробного шага в процессе поиска минимума целевой функции. Содержание набора макросов приведено далее.


'

Dim b(9), r(9), d(9)

Dim t(9), t_cur(9), prof(8, 4)

Dim n As Integer, k As Integer

Dim e_req As Double, eps As Double, n_step As Long

'

Sub Граница_портфеля()

'

Sheets("Портфель").Select

Cells.Select

Selection.ClearContents

'

Cells(1, 1) = "Риск"

Cells(1, 2) = "Доходность"

'

Sheets("Данные").Select

Range("A2:A10").Select

Selection.Copy

'

Sheets("Портфель").Select

'

Range("C1").Select

Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

'

Rows("1:1").Select

Application.CutCopyMode = False

With Selection

.Orientation = 90

.HorizontalAlignment = xlCenter

End With

'

Range("A1").Select

'

Sheets("Данные").Select

'

n = 9

k = 10

'

For i = 1 To n

b(i) = Cells(i + 1, 3)

r(i) = Cells(i + 1, 2)

d(i) = b(i) * b(i) / Cells(i + 1, 4)

Next

'

Range("A1").Select

'

Sheets("Настройки").Select

'

For i = 1 To 8

For j = 1 To 4

prof(i, j) = Cells(i, j)

Next

Next

'

Sheets("Портфель").Select

'

max_e = r(1)

min_e = r(n)

'

For i = 0 To k

'

For j = 2 To n - 1

t(j) = 0

Next

'

e_req = ((k - i) * max_e + i * min_e) / k

'

t(1) = (k - i) / k

t(n) = 1 - t(1)

'

Call Расчет_Точки(i)

'

Next

'

End Sub

'

Sub Расчет_Точки(i_point)

'

If i_point > 0 And i_point < k Then

For j = 1 To 8

step = prof(j, 1)

n_step = prof(j, 2)

eps = prof(j, 3)

kgate = prof(j, 4)

Call Порог(kgate)

Call Поиск_точки(step, kgate)

Next j

End If

'

For j = 1 To n

t_cur(j) = t(j)

Next

'

Sheets("Портфель").Select

'

Cells(i_point + 2, 1) = Риск

Cells(i_point + 2, 2) = Доходность

'

For j = 1 To n

Cells(i_point + 2, j + 2) = t(j)

Next

'

End Sub

'

Sub Порог(kgate)

'

For j = 1 To n

If t(j) < ((1 + kgate) * eps) Then t(j) = 0

t_sum = t_sum + t(j)

Next

'

If t_sum <> 1 Then

'

t_max = t(1)

n_max = 1

'

For j = 2 To n

If t(j) > t_max Then

t_max = t(j)

n_max = j

End If

Next

'

t(n_max) = t(n_max) + 1 - t_sum

'

End If

'

End Sub

'

Sub Поиск_точки(kstep, kgate)

'

For j = 1 To n

t_cur(j) = t(j)

Next

'

y_cur = Целевая_функция(kgate)

'

For l = 1 To n_step

'

Call Пробный_шаг(kstep)

'

y_try = Целевая_функция(kgate)

'

If y_try < y_cur Then

'

y_cur = y_try

'

For j = 1 To n

t(j) = t_cur(j)

Next

'

End If

Next

'

End Sub

'

Function Доходность()

'

r_fun = 0

'

For j = 1 To n

r_fun = r_fun + t_cur(j) * r(j)

Next

'

Доходность = r_fun

'

End Function

'

Function Риск()

'

d_fun = 0

'

For j = 1 To n

For l = 1 To n

d_fun = d_fun + t_cur(j) * t_cur(l) * b(j) * b(l)

Next

d_fun = d_fun + t_cur(j) * t_cur(j) * d(j)

Next

'

Риск = d_fun

'

End Function

'

Function Целевая_функция(kgate) As Double

'

y = Риск

'

e_fun = Доходность

'

If Abs((e_fun - e_req) / e_req) > (1 / k) Then y = y + 1000

'

y = y + 1000 * kgate * Abs(e_fun - e_req)

'

Целевая_функция = y

'

End Function

'

Sub Пробный_шаг(kstep)

'

Do

t_sum = 0

For j = 1 To n - 1

x = 2 * (Rnd - 0.5)

' t_cur(j) = t(j) + kstep * x

t_cur(j) = t(j) + kstep * x * x * x

If t_cur(j) < 0 Or Abs(t_cur(j)) < eps Then t_cur(j) = 0

t_sum = t_sum + t_cur(j)

Next

'

If Abs(t_sum - 1) < eps Then

'

t_max = t_cur(1)

n_max = 1

'

For j = 2 To n - 1

If t_cur(j) > t_max Then

t_max = t_cur(j)

n_max = j

End If

Next

'

If t_cur(n_max) > (t_sum - 1) Then

t_cur(n_max) = t_cur(n_max) + 1 - t_sum

t_sum = 1

End If

'

End If

'

If t_sum < 1 Then t_cur(n) = 1 - t_sum Else t_cur(n) = 0

'

Loop While t_sum > 1

'

End Sub

'



В наборе макросов используются следующие переменные:

n – количество финансовых инструментов (активов),

k – количество рассчитываемых интервалов границы множества возможных портфелей (количество точек границы равно k+1),

e_req – фиксированный уровень доходности портфеля,

eps – погрешность расчета портфеля (долей активов в портфеле),

n_step – число шагов поиска,

step – максимальная длина шага поиска,

kgate – весовой коэффициент штрафа за отклонение от фиксированного уровня доходности портфеля.

Размерность массивов, применяемых в наборе макросов, определяется количеством финансовых инструментов (активов) в портфеле (кроме массива параметров алгоритма случайного поиска фиксированной размерности prof):

b(n) – коэффициенты i финансовых инструментов (активов),

r(n) - доходность ri финансовых инструментов (активов),

d(n) - значения ( i / m ) финансовых инструментов (активов),

t(n) – доля финансовых инструментов (активов) в портфеле,

t_cur(n) – текущее значение доли финансовых инструментов (активов) в процессе поиска,

prof(8,4) – параметры алгоритма случайного поиска, значения которых заданы на листе «Настройки».





В процессе расчета границы множества возможных портфелей набор макросов производит заполнение итоговой таблицы, расположенной на листе «Портфель».





Диаграмма «Доходность – риск», построенная по результатам расчета границы множества возможных портфелей, приведена ниже.





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


ЛИТЕРАТУРА



1. Шарп У., Александер Г., Бейли Дж. Инвестиции. - М.: ИНФРА-М, 1999.

2. Буренин А.Н.. Рынок ценных бумаг и производных финансовых инструментов. - М.: 1 ая Федеративная Книготорговая Компания, 1998.

Похожие:

Построение эффективной границы модели Шарпа при портфельной оптимизации iconМодели дискретной оптимизации для территориальной сети интернет л. Г. Еремеев, А. А. Колоколов
...
Построение эффективной границы модели Шарпа при портфельной оптимизации iconПостроение модели динамического выбора представлений бд
...
Построение эффективной границы модели Шарпа при портфельной оптимизации iconРабочая программа дисциплины Методы оптимизации в экономике Направление подготовки 080200 Менеджмент Профиль подготовки
Объектом дисциплины являются методы построения и алгоритмы математических моделей линейной и нелинейной оптимизации, динамического...
Построение эффективной границы модели Шарпа при портфельной оптимизации iconЗадача оптимизации
Методы оптимизации используются широко и являются предметом специального раздела математики. При формализации процесса оптимизации...
Построение эффективной границы модели Шарпа при портфельной оптимизации iconЛекция №10 Сетевые модели в оптимизации процессов и принятии управленческих решений. Раздел Сетевые модели
Задачи оптимизации управляемых процессов, или как они будут в дальнейшем называться, задачи оптимального управления, составляют один...
Построение эффективной границы модели Шарпа при портфельной оптимизации iconE. S. Doroshenko Особенности автоматизированного выбора средств измерений при технологической подготовке производства. Основа модели данных
Ерений при технологической подготовке производства сделано заключение о применимости этих решений при разных обстоятельствах, по...
Построение эффективной границы модели Шарпа при портфельной оптимизации iconПрограмма дисциплины методы оптимизации и модели исследования операций для направления 080100. 62 «Экономика»
Требования к студентам. Курс “Методы оптимизации и модели исследования операций” предназначен для студентов ш курса нф гу вшэ специализации...
Построение эффективной границы модели Шарпа при портфельной оптимизации iconМодели многокритериальной оптимизации с частично упорядоченным множеством критериев
Будем рассматривать модель многокритериальной оптимизации по качественным критериям в виде
Построение эффективной границы модели Шарпа при портфельной оптимизации iconПостроение модели
Охватывает ожидаемое изменение температуры для всей модели
Построение эффективной границы модели Шарпа при портфельной оптимизации iconShow, trn-r-2, grph,1 построение модели /input, table, dat читается геометрия модели

Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org