- •Курсовой проект
- •1 Теоретическая часть
- •Портфельное инвестирование
- •Принципы формирования инвестиционного портфеля
- •Принцип консервативности.
- •Принцип диверсификации.
- •1.3 Типы портфелей
- •1.4 Модель Марковица Для реализации данной задачи, используем Модель Марковица. Опишем ее подробнее:
- •2 Практическое применение модели Марковица
2 Практическое применение модели Марковица
Для оптимизации управления капиталом с помощью портфельных инвестиций была реализована, на основе примера, программа, которая помогает найти оптимальное решение. Для реализации программы необходимо указать набор инвестиционных возможностей и их доходность. Так же записать ковариационную матрицу, которая описывает зависимости между инвестиционными возможностями.
Рисунок 1 - Таблица исходных данных и результатов вычисления
Рисунок 2 - Формулы в Excel
Файл portfel.dat:
/********************************************* * OPL 6.1.1 Model * Author: Sorochan * Creation Date: 14.12.2014 at 12:15:09 *********************************************/ n = 3; m = 3; SheetConnection sheet("porfel.xls"); kov from SheetRead(sheet,"portfel!b4:d6"); p from SheetRead(sheet,"portfel!f3:f3"); mm from SheetRead(sheet,"portfel!b3:d3"); x to SheetWrite(sheet,"portfel!b2:d2"); |
В данном файле описываются все данные, которые понадобятся во время решения программы.
SheetConnection – операция, связывающая таблицу Excel с переменной.
SheetRead – процедура для чтения данных с выбранной таблицы, выбранной страницы и выбранного интервала.
SheetWrite – процедура для записи значения в таблицу.
Файл portfel.mod:
/********************************************* * OPL 6.1.1 Model * Author: Sorochan * Creation Date: 14.12.2014 at 12:15:09 *********************************************/ int n = ...; int m = ...; range j = 1..n; range i = 1..m;
float p = ...; float mm[j] = ...; float kov[i][j] = ...;
float MaxValue = 1; dvar float x[j] in 0..MaxValue;
minimize sum(ii in i)(sum(jj in j) (kov[ii,jj] * x[jj] ))* x[ii];
subject to { sum( jj in j ) mm[jj] * x[jj] >= p;
sum( jj in j ) x[jj] <= 1; } |
Описание работы:
-
Переменные n,m,p,mm,kov, получают данные из файла .dat, то есть из файла эксель.
-
Задаём переменные интервалов i и j. Это переменных хранят множество значений. Они необходимы для перемещения индексов в матрицах и векторах.
-
Задаём MaxValue – это значение, которое позволяет ограничить значение, которые может принимать xij. Это увеличивает скорость работы и не позволяет программы бесконечно искать ответ.
-
В программе естьодна переменная решения – то есть переменная, которая меняет свои значения для достижения оптимального решения.
-
x – двоичная матрица, в которой будут храниться результат решения, значения портфеля.
Вводим уравнение достижения результата, то есть целевую функцию. Так как нам нужно минимизировать функцию, то используем ключевое слово minimize.
Переходим к блоку констант, где описываются ограничения функции.
Первое ограничение будет проверять минимальную ожидаемую доходность. Второе ограничение показывает, что решение должно быть меньше 1.
Пример 1
Рисунок 3 - Таблица исходных данных для первого примера
После запуска программы, мы получили следующее решение:
Рисунок 4 – Решение первого примера
При ожидаемой доли доходности 36% , получим портфель акций х1 – 36%, х2 – 19%, х3 – 45%, при доли риска в 52%.
Пример 2
Изменения файла portfel.dat
/********************************************* * OPL 6.1.1 Model * Author: Sorochan * Creation Date: 14.12.2014 at 12:15:09 *********************************************/ n = 4; m = 4; SheetConnection sheet("portel.xls"); kov from SheetRead(sheet,"portfel!b4:e7"); p from SheetRead(sheet,"portfel!g3:g3"); mm from SheetRead(sheet,"portfel!b3:e3"); x to SheetWrite(sheet,"portfel!b2:e2"); |
Solution:
// solution (optimal) with objective 0.298289023225707 x = [0.24576 0.27951 0.034144 0.31232];
|
Изменяя матрицу kov,mm,x для 4 ответов, матрицы 4х4, n и m меняем на 4.
Рисунок 5 - Таблица исходных данных для второго примера
Рисунок 6 – Решение второго примера
При ожидаемой доли доходности 48% , получим портфель акций х1 – 0%, х2 – 90%, х3 – 10%, х4 – 0% при доли риска в 86%.
Пример 3
Рисунок 7 - Таблица исходных данных для третьего примера
Рисунок 8 – Решение третьего примера
При ожидаемой доли доходности 36% , получим портфель акций х1 – 0%, х2 – 14%, х3 – 51%, х4 – 35% при доли риска в 31%.
ЗАКЛЮЧЕНИЕ
В процессе выполнения курсовой работы, мною были изучены основы портфельных инвестиций, математическая модель Г. Марковица, также была реализована программа в IBM ILOG CPLEX, являющаяся инструментом для оптимизации портфельных инвестиций. В итоге реализации программы были получены следующие навыки:
-
Внесения изменений в уже существующие модели и формулы программного продукта Excel.
-
Создания моделей IBM ILog как с пустыми файлами, так и добавление существующих;
-
Связывания файла Excel с проектом;
-
Способы получения данных из книг Excel, различных страниц и интервалов;
-
Написания кода на встроенном языке ILog CPLEX;
-
Редактирование кода при внесении дополнительных модификаций в привязанном к файлу Excel.
Результат проверки на плагиат.
Рисунок 9 - результат проверки текста в программе Etxt Антиплагиат.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
-
Анискин Ю.П.: Управление инвестициями. Учебное пособие. - М.: ИКФ Омега-Л; 2006-167 с.
-
Богатин Ю.В., Швандор Ю.В. Инвестиционный анализ: Учебное пособие для ВУЗов. – М.: ЮНИТИ-ДАН, 2006–286 с. РМО Рф
-
Блохина В.Т. Инвестиционный анализ. – Ростов на Дону: ФЕНИКС, 2004 – 320 с.
-
Бочаров В. В., «Инвестиционный менеджмент» // СПб.- «ПИТЕР».- 2000 г.
-
Касимов Ю. Ф., «Основы теории оптимального портфеля ценных бумаг» // М.- «Филинъ».-1998 г.