Расчёт в программе оптимального набора ценных бумаг в портфеле инвестиций
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
p>,
чтобы программа выполнила необходимые вычисления.
Полученные доли ценных бумаг выводятся в таблицу:
А рассчитанный минимальный риск (максимальная доходность) в поле:
Кроме того, предусмотрена возможность построения графика, называемого Пуля Марковица для отображения эффективной границы, которая показывает множество оптимальных портфелей (выделена красным цветом), и достижимого множества, представляющего собой все портфели, которые можно составить из n видов ценных бумаг (область внутри пули).
Для построения графика нужно нажать кнопку:
Для того чтобы очистить все исходные данные для решения новой задачи, надо нажать кнопку:
Для перехода к решению задачи определения ожидаемой доходности и стандартного отклонения доходности готового портфеля, необходимо выбрать пункт Расчёт доходности и риска портфеля в меню Операции или нажать соответствующую кнопку на инструментальной панели.
Откроется форма, предназначенная для решения данной задачи:
Работа с данной формой аналогична работе с первой.
Для обратного перехода нужно выбрать один из пунктов меню Операции или нажать на соответствующую кнопку на панели инструментов:
.2 Работа с файлами
В программе предусмотрена возможность сохранения данных задачи в файл и ввод данных из файла. Данные функции осуществляются с помощью пунктов Открыть и Сохранить меню Файл или нажатием на соответствующие кнопки на панели инструментов.
По умолчанию папкой с примерами является папка, откуда была запущена программа, но может быть выбрана и другая директория в открывшемся диалоговом окне.
2.3 Завершение работы
Для выхода из программы используется пункт Выход меню Файл или соответствующая кнопка на инструментальной панели.
.4 Функции для упрощения работы пользователя с программой
Предусмотрено наличие всплывающих подсказок при наведении указателя на какой-либо компонент или пункт меню, помогающих пользователю ориентироваться в приложении.
Есть статусная панель, в которой тоже отображаются подсказки пользователю.
На панели инструментов расположены основные кнопки для быстроты доступа к нужным функциям.
Предусмотрена проверка на корректный ввод и отображение сообщений с описанием возникшей ошибки. Например,
Прочитав сообщение, нужно нажать OK и исправить указанную ошибку.
Для проверки работоспособности программы служат файлы: example1.tpr, example2d.tpr, example10.tpr, example11.tpr.
Также рассмотрен пример портфеля инвестиций из ценных бумаг реальных компаний, основные показатели которых были оценены экспертами. Эти показатели приведены в таблицах 2 и 3.
Таблица 2. Доходность и риск
Таблица 3. Матрица коэффициентов корреляции
Данные этого примера сохранены в файле equity.tpr.
Заключение
В данной курсовой работе были рассмотрены основные вопросы портфельной теории, в частности расчёт доходности и риска портфеля и построение оптимального портфеля ценных бумаг.
Данная тема является актуальной, так как в условиях неопределенности инвестор не может точно рассчитать доходность той или иной ценной бумаги. Кроме того, он всегда подвергается риску потерять свои средства.
Портфельная теория предлагает методы расчёта средней ожидаемой доходности и риска и методы для снижения рисков или увеличения доходности от приобретения ценных бумаг за счёт диверсификации вложений и формирования портфеля инвестиций.
В курсовой работе был рассмотрен вариант построения оптимального портфеля, предложенный Г. Марковицем, на основе которого было создано приложение для расчёта оптимального набора ценных бумаг в портфеле инвестиций.
Созданное приложение позволяет также рассчитать ожидаемую доходность и стандартное отклонение уже созданного портфеля.
инвестиционный портфель программа марковиц
Список литературы
1.М.С. Красс, Б.П. Чупрынов. Математика для экономистов. - СПб: Питер, 2005. - 464 с.
.Колемаев В.А. Математическая экономика. М.: Юнити 1998. - 390 с.
.
4.
Приложение
unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, Menus, TeeProcs, TeEngine, Chart, Spin,, ComCtrls, ToolWin, Series, Math, ImgList, AppEvnts;_Risk_or_Profit = class(TForm): TToolBar;: TStatusBar;_Input_date: TStringGrid;_Correlation: TStringGrid;_Input_count: TSpinEdit;: TChart;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TLabel;: TLabel;: TLabel;: TButton;_Risk_or_Profit: TRadioGroup;: TLabel;_Risk_or_Profit: TEdit;: TButton;: TLabel;_Result: TStringGrid;: TLineSeries;: TLineSeries;: TButton;: TOpenDialog;: TSaveDialog;: TEdit;: TLabel;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TApplicationEvents;: TImageList;NReadyPortfolioClick (Sender: TObject);NExitClick (Sender: TObject);FormCreate (Sender: TObject);SG_Input_dateKeyPress (Sender: TObject; var Key: Char);SG_CorrelationKeyPress (Sender: TObject; var Key: Char);E_Risk_or_ProfitKeyPress (Sender: TObject; var Key: Char);SE_Input_countChange (Sender: TObject);BClearClick (Sender: TObject);BCalculationClick (Sender: TObject);Graph;Get_Date:boolean;BDrawGraphClick (Sender: TObject);SG_CorrelationSelectCell (Sender: TObject; ACol,: Integer; var CanSelect: Boolean);SG_CorrelationMouseUp (Sender: TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);SG_CorrelationExit (Sender: TObject);NOpenClick (Sender: TObject);NSaveClick (Sender: TObject);NAboutClick (Sender: TObject);ApplicationEvents1Hint (Sender: TObject);
{Private declarations}
{Public declarations};myarray=array [1..100] of real;=array [1.. 100,1..100] of real;_Risk_or_Profit: TForm_Risk_or_Profit;:integer;, BE,