Поскольку рассматривается четыре разных варианта составления оптимального портфеля, то главная форма проекта должна содержать четыре основные кнопки запуска расчета (рис. 1).
Рис. 1. Главная форма программного приложения
При работе приложения каждый вариант расчета реализуется в отдельном файле Excel. На этапе расчета файл не содержит никаких данных, кроме списка компании и соответствующих им имен на листе Компании (Рис. 2).
Рис. 2. Список компании
Пользователь может добавлять в список собственные данные. Приложение позволяет выбрать любые компаний из списка и указать необходимый период времени (рис. 3-4).
Рис. 3. Диалоговое окно выбора компаний
Рис. 4. Диалоговое окно указания периода анализа
После этого создается запрос, который обращается к базе и извлекает данные об акциях выбранных компаний за указанный период времени. В результате выполнения запроса данные о ценах на акции копируются в файл Excel. При этом создаются рабочие листы и на каждый лист выгружаются данные по одной акции, причем имя рабочего листа совпадает с именем акции. Далее для каждой акции считается ее изменение, т.е. данное значение (значение в данный момент времени) минус предыдущее (т.е. в предыдущий момент времени) делить на предыдущее значение цены акции. В итоге на лист (автоматически созданный) Консолидация извлекаются изменения цены акции за выбранный период времени (рис. 5).
Рис. 5. Данные об изменениях цен акций на листе Консолидация
Все расчеты идут без участия пользователя. Создаются рабочие листы, рассчитываются итоговые характеристики (среднее значение, стандартное отклонение, ковариационная матрица, корреляционная матрица) для набора данных, определяющих изменение цен. Расчет характеристик выполняется на листе Итоговые Показатели (рис. 6).
Рис. 6. Лист Итоговые показатели
Итоговые характеристики используются в качестве исходных параметров модели оптимизации портфеля акций, которая создается на листе Модель (рис. 7).
Рис. 7. Лист Модель
Модель оптимизации определяет взвешенные показатели (процент от общей суммы инвестиций, вкладываемый в различные компании), которые позволяют минимизировать среднее отклонение портфеля (в случае выбора портфеля минимального риска Марковица). При этом портфель должен достичь минимального допустимого среднего изменения.
Наконец, приложение оптимизирует модель для 11 равномерно распределенных значений минимально допустимого ожидаемого изменения. Эти значения получены на основе максимального и минимального изменения цен. В результате создается эффективное предельное значение, которое сохраняется на лист Эффектив (рис. 8) и отображается на листе диаграммы (рис. 9).
Рис. 8. Лист Эффектив
Рис. 9. Диаграмма эффективного предельного изменения.