Расчёт в программе оптимального набора ценных бумаг в портфеле инвестиций - Программирование, компьютеры и кибернетика курсовая работа

Расчёт в программе оптимального набора ценных бумаг в портфеле инвестиций - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Расчёт в программе оптимального набора ценных бумаг в портфеле инвестиций

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


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

· количество ценных бумаг, из которых состоит портфель, в предназначенное для этого поле:
· доходности и стандартные отклонения для каждой бумаги в таблицу:
· коэффициенты корреляции между доходностями ценных бумаг в таблицу:
· выбрать задачу, которую нужно решить, отметив, что будет вводиться: желаемая доходность или допустимый риск:
· ввести значение выбранного параметра в поле:
Убедившись, что все данные введены корректно, нужно нажать кнопку
чтобы программа выполнила необходимые вычисления.
Полученные доли ценных бумаг выводятся в таблицу:
А рассчитанный минимальный риск (максимальная доходность) в поле:
Кроме того, предусмотрена возможность построения графика, называемого «Пуля» Марковица для отображения эффективной границы, которая показывает множество оптимальных портфелей (выделена красным цветом), и достижимого множества, представляющего собой все портфели, которые можно составить из n видов ценных бумаг (область внутри «пули»).
Для построения графика нужно нажать кнопку:
Для того чтобы очистить все исходные данные для решения новой задачи, надо нажать кнопку:
Для перехода к решению задачи определения ожидаемой доходности и стандартного отклонения доходности готового портфеля, необходимо выбрать пункт «Расчёт доходности и риска портфеля» в меню «Операции» или нажать соответствующую кнопку на инструментальной панели.
Откроется форма, предназначенная для решения данной задачи:
Работа с данной формой аналогична работе с первой.
Для обратного перехода нужно выбрать один из пунктов меню «Операции» или нажать на соответствующую кнопку на панели инструментов:
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Menus, ToolWin, Spin, Grids, Math, AppEvnts,
TForm_for_ready_portfolio = class(TForm)
ApplicationEvents1: TApplicationEvents;
procedure NMinRiskClick (Sender: TObject);
procedure NExitClick (Sender: TObject);
procedure NMaxProfitClick (Sender: TObject);
procedure BCalculationClick (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure FormClose (Sender: TObject; var Action: TCloseAction);
procedure SG_Input_dateKeyPress (Sender: TObject; var Key: Char);
 //procedure FormShow (Sender: TObject);
procedure SG_CorrelationKeyPress (Sender: TObject; var Key: Char);
procedure SE_Input_countChange (Sender: TObject);
procedure BClearClick (Sender: TObject);
procedure SG_CorrelationSelectCell (Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
procedure SG_CorrelationExit (Sender: TObject);
procedure SG_CorrelationMouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure NOpenClick (Sender: TObject);
procedure NSaveClick (Sender: TObject);
procedure NAboutClick (Sender: TObject);
procedure ApplicationEvents1Hint (Sender: TObject);
type myarray=array [1..100] of real;
myarr=array [1.. 100,1..100] of real;
var Form_for_ready_portfolio: TForm_for_ready_portfolio;
SEValue, SelectedRow, SelectedCol:integer;
procedure TForm_for_ready_portfolio.NMinRiskClick (Sender: TObject);
Form_for_ready_portfolio. Visible:=False;
Form_Risk_or_Profit.RG_Risk_or_Profit. ItemIndex:=0;
procedure TForm_for_ready_portfolio.NExitClick (Sender: TObject);
procedure TForm_for_ready_portfolio.NMaxProfitClick (Sender: TObject);
Form_for_ready_portfolio. Visible:=False;
Form_Risk_or_Profit.RG_Risk_or_Profit. ItemIndex:=1;
procedure TForm_for_ready_portfolio.BCalculationClick (Sender: TObject);
var profitability_of_portfolio, deviation_of_portfolio:real;
profitabilities_of_stocks, deviation_of_stocks, equity_share:myarray;
number_of_stocks:=SE_Input_count. Value;
equity_share[i]:=strtofloat (SG_Input_date. Cells [i, 1]);
showmessage ('Извините, Вы не ввели долю '+intToStr(i)+'-ой бумаги!');
profitabilities_of_stocks[i]:=strtofloat (SG_Input_date. Cells [i, 2]);
showmessage ('Извините, Вы не ввели доходность '+intToStr(i)+'-ой бумаги!');
deviation_of_stocks[i]:=strtofloat (SG_Input_date. Cells [i, 3]);
showmessage ('Извините, Вы не ввели риск '+intToStr(i)+'-ой бумаги!');
Application. MessageBox ('Извините, сумма долей бумаг должна быть равна 1', 'Ошибка!');
begin profitability_of_portfolio:=profitability_of_portfolio+equity_share[i]*profitabilities_of_stocks[i];
try dispersion:=dispersion+equity_share[i]*equity_share[j]*strtofloat (SG_Correlation. Cells [i, j])*deviation_of_stocks[i]*deviation_of_stocks[j];
showmessage ('Извините, Вы не ввели корреляцию '+intToStr(i)+'-ой и '+intToStr(j)+'-ой бумаг!');
deviation_of_portfolio:=sqrt(dispersion);
MemoResult. Lines. Add ('Ожидаемая доходность портфеля: '+floattostr (roundto(profitability_of_portfolio, - 4))+' % ');
MemoResult. Lines. Add ('Стандартное отклонение доходности: '+floattostr (roundto(deviation_of_portfolio, - 4))+' % ');
procedure TForm_for_ready_portfolio. FormCreate (Sender: TObject);
SG_Input_date. Cells [0,0]:='Показатель | Номер бумаги';
SG_Input_date. Cells [0,1]:='Доля';
SG_Input_date. Cells [0,2]:='Доходность';
SG_Input_date. Cells [0,3]:='Стандартное отклонение';
procedure TForm_for_ready_portfolio. FormClose (Sender: TObject;
procedure TForm_for_ready_portfolio.SG_Input_dateKeyPress (Sender: TObject;
procedure TForm_for_ready_portfolio.SG_CorrelationKeyPress (Sender: TObject;
procedure TForm_for_ready_portfolio.SE_Input_countChange (Sender: TObject);
SG_Input_date. Cells [i, 0]:=inttostr(i);
SG_Correlation. Cells [0, i]:=inttostr(i);
SG_Correlation. Cells [i, 0]:=inttostr(i);
SG_Input_date. ColCount:=SEValue+1;
SG_Correlation. ColCount:=SEValue+1;
SG_Correlation. RowCount:=SEValue+1;
procedure TForm_for_ready_portfolio.BClearClick (Sender: TObject);
procedure TForm_for_ready_portfolio.SG_CorrelationSelectCell (
Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
then begin CanSelect:=False; exit; end;
procedure TForm_for_ready_portfolio.SG_CorrelationExit (Sender: TObject);
if abs (StrToFloat(SG_Correlation. Cells [SelectedCol, SelectedRow]))<=1 then SG_Correlation. Cells [SelectedRow, SelectedCol]:=SG_Correlation. Cells [SelectedCol, SelectedRow]
ShowMessage ('Извините, корреляция не может быть больше 1!');
SG_Correlation. Cells [SelectedCol, SelectedRow]:='0';
SG_Correlation. Cells [SelectedCol, SelectedRow]:='0';
SG_Correlation. Cells [SelectedRow, SelectedCol]:='0';
procedure TForm_for_ready_portfolio.SG_CorrelationMouseUp (Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure TForm_for_ready_portfolio.NOpenClick (Sender: TObject);
AssignFile (f, OpenDialog1. FileName);
Application. MessageBox ('Извините, невозможно открыть файл!', 'Ошибка!');
SG_Input_date. Cells [i, 2]:=FloatToStr(a);
SG_Input_date. Cells [i, 3]:=FloatToStr(a);
SG_Correlation. Cells [i, j]:=FloatToStr(a);
SG_Input_date. Cells [i, 1]:=FloatToStr(a);
procedure TForm_for_ready_portfolio.NSaveClick (Sender: TObject);
if ExtractFileExt (SaveDialog1. FileName)=''
then SaveDialog1. FileName:=SaveDialog1. FileName+'.tpr';
AssignFile (f, SaveDialog1. FileName);
a:=StrToFloat (SG_Input_date. Cells [i, 2]);
a:=StrToFloat (SG_Input_date. Cells [i, 3]);
a:=StrToFloat (SG_Correlation. Cells [i, j]);
a:=StrToFloat (SG_Input_date. Cells [i, 1]);
procedure TForm_for_ready_portfolio.NAboutClick (Sender: TObject);
procedure TForm_for_ready_portfolio. ApplicationEvents1Hint (
StatusBar1. SimpleText:=Application. Hint;
Формирование инвестиционного портфеля и его диверсификация. Расчет показателей оптимального портфеля. Задача выбора портфеля максимальной эффективности из всех портфелей, имеющих риск не более заданного. Работа с файлами. Упрощение работы с программой. курсовая работа [435,8 K], добавлен 26.02.2013
Биржевые и внебиржевые операции по покупке/продаже ценных бумаг через брокерскую компанию. Принципы создания информационной модели. Проектирование интерфейса пользователя. Реализация программного кода. Формирование выбранного отчета и вывод их в Excel. презентация [140,5 K], добавлен 19.08.2013
Структура программного комплекса. Ввод информации из заданного файла. Создание набора данных. Добавление элементов в конец набора данных. Просмотр всех элементов набора данных. Копирование информации из НД в заданный файл. Сортировка массива по номерам. курсовая работа [630,5 K], добавлен 01.06.2014
Изучение надежности вложения средств в мультивалютные вклады в банках РФ. Разработка приложения для оценки эффективности и риска мультивалютного вклада на основе математических методов построения инвестиционного портфеля. Вычисление вектора приоритетов. дипломная работа [4,9 M], добавлен 18.12.2013
Определение с помощью метода Баранкина и Дорфмана оптимального набора цен, по которым следует реализовывать все виды продукции при условии получения наибольшей стоимости реализованной продукции. Программная реализация решения задачи в пакете GINO. курсовая работа [126,7 K], добавлен 02.02.2014
Описание программного комплекса, его структура и общая характеристика составных модулей. Механизм создания набора данных, поиск элементов по номеру. Методика просмотра элементов и вычисление среднего, минимума и максимума из заданного диапазона. курсовая работа [239,6 K], добавлен 12.12.2013
Структура программного комплекса. Создание набора данных. Описание модуля funkcii.tpu. Копирование информации из НД в заданный файл. Сортировка массива по номерам. Просмотр элементов и вычисление среднего, минимума и максимума из заданного диапазона. курсовая работа [626,6 K], добавлен 18.06.2014
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Расчёт в программе оптимального набора ценных бумаг в портфеле инвестиций курсовая работа. Программирование, компьютеры и кибернетика.
Контрольная Работа Функции 10
Чпу Станок Реферат
Что Значит Быть Самим Собой Обломов Сочинение
Эссе 19 Века
Дипломная работа по теме Поиск резонансного поглощения аксионов, излучаемых при М1-переходе 57Fe на Солнце
Реферат: Цели, задачи и функции финансового менеджмента на предприятии
Обоснование Выбора Дипломной Работы
Понятие Учебной Деятельности Ее Структура Реферат
Контрольная работа по теме Проектирование, создание и управление базой данных в пакете MS Access 'Реставрация мягкой мебели'
Сочинение по теме Повесть о капитане Копейкине
Реферат: Martin Luther Essay Research Paper This essay
Реферат по теме И.И. Мечников - основоположник теории иммунитета
Контрольная Работа По Автоматике И Управлению
Курсовая работа: Теория автоматического управления
Реферат: Кирилл и Мефодий 2
Дипломная работа по теме Совершенствование деятельности информационно-аналитического отдела представительного органа местного самоуправления (на примере собрания депутатов Озерского городского округа)
Реферат: Быт и культура Сибири 17-20век
Начальной Школе Диссертация
Как Составить Отчет По Практике
Курсовая работа: Пути совершенствования научно-исследовательской работы студентов. Скачать бесплатно и без регистрации
Иван Неплюев - государственный деятель, дипломат - История и исторические личности реферат
Дефиниция в юриспруденции - Государство и право контрольная работа
Драйвера ядра Windows - Программирование, компьютеры и кибернетика курсовая работа


Report Page