Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мезенцев Имитационное моделирование / КП Оптимизация управления капиталом с помощью портфельных инвестиций.doc
Скачиваний:
59
Добавлен:
04.01.2020
Размер:
1.31 Mб
Скачать

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;

}

Описание работы:

  1. Переменные n,m,p,mm,kov, получают данные из файла .dat, то есть из файла эксель.

  2. Задаём переменные интервалов i и j. Это переменных хранят множество значений. Они необходимы для перемещения индексов в матрицах и векторах.

  3. Задаём MaxValue – это значение, которое позволяет ограничить значение, которые может принимать xij. Это увеличивает скорость работы и не позволяет программы бесконечно искать ответ.

  4. В программе естьодна переменная решения – то есть переменная, которая меняет свои значения для достижения оптимального решения.

  • 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, являющаяся инструментом для оптимизации портфельных инвестиций. В итоге реализации программы были получены следующие навыки:

    1. Внесения изменений в уже существующие модели и формулы программного продукта Excel.

    2. Создания моделей IBM ILog как с пустыми файлами, так и добавление существующих;

    3. Связывания файла Excel с проектом;

    4. Способы получения данных из книг Excel, различных страниц и интервалов;

    5. Написания кода на встроенном языке ILog CPLEX;

    6. Редактирование кода при внесении дополнительных модификаций в привязанном к файлу Excel.

    Результат проверки на плагиат.

    Рисунок 9 - результат проверки текста в программе Etxt Антиплагиат.

    СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

    1. Анискин Ю.П.: Управление инвестициями. Учебное пособие. - М.: ИКФ Омега-Л; 2006-167 с.

    2. Богатин Ю.В., Швандор Ю.В. Инвестиционный анализ: Учебное пособие для ВУЗов. – М.: ЮНИТИ-ДАН, 2006–286 с. РМО Рф

    3. Блохина В.Т. Инвестиционный анализ. – Ростов на Дону: ФЕНИКС, 2004 – 320 с.

    4. Бочаров В. В., «Инвестиционный менеджмент» // СПб.- «ПИТЕР».- 2000 г.

    5. Касимов Ю. Ф., «Основы теории оптимального портфеля ценных бумаг» // М.- «Филинъ».-1998 г.

    13

  • Соседние файлы в папке Мезенцев Имитационное моделирование