На бирже курсовых и дипломных проектов можно найти образцы готовых работ или получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ, диссертаций, рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


Диплом Оптимизация портфеля ценных бумаг с использованием генетического алгоритма

Информация:

Тип работы: Диплом. Добавлен: 02.02.2012. Страниц: 126. Уникальность по antiplagiat.ru: < 30%

Описание (план):


РЕФЕРАТ
Пояснительная записка к дипломному проекту содержит страниц -139 , таблиц - 29 , рисунков - 19 .
Объект исследования - программная система для оптимизации портфеля ценных бумаг с использованием генетического алгоритма.
Цель работы - увеличение эффективности процесса управления портфелем ценных бумаг путем повышения оперативности принятия решений, а также снижение рисков инвестиций в ценные бумаги.
Работа посвящена проектированию программного обеспечения, предназначенного для автоматизации процесса оптимизации портфеля ценных бумаг.
Результатом работы является программа для автоматизации процесса оптимизации портфеля ценных бумаг, которая обеспечивает:
? возможность импорта котировок акций из текстового файла;
? возможность графически представлять курсы акций компаний;
? возможность самостоятельно устанавливать пользователю основные параметры генетического алгоритма;
? визуализацию результатов работы генетического алгоритма в виде таблицы;
? возможность выбора пользователем акций для портфеля ценных бумаг, который оптимизируется;
Реализованная программная система обеспечивает все перечисленные функции по оптимизации портфеля ценных бумаг.

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ, МУТАЦИЯ, СКРЕЩИВАНИЕ, ЭЛИТИЗМ, .NET . C#, ОПТИМИЗАЦИЯ, ЦЕННЫЕ БУМАГИ


ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ

ГА - Генетический алгоритм
ЭВМ - Электронная вычислительная машина
ПО - Программное обеспечение
ПС - Программная система
DLL - Dynamic Link Library
RTL - Run- Time Library
UML - Universal Modeling Language
XML - Extensible Markup Language
HTML - HyperText Markup Language



СОДЕРЖАНИЕ

Вступление 7

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ 9
1.1 Актуальность оптимизационного моделирования портфеля ценных бумаг с использованием генетических алгоритмов 9
1.2 Использование генетических алгоритмов в задачах оптимизации портфеля ценных бумаг 14
1.3 Обзор существующих программных продуктов 17
1.3.1 Программная среда Genetic Algorithm and Direct Search Toolbox 1.0.2 17
1.3.2 Программная среда GeneHunter 20
1.3.3 Программная среда TransGA 25
1.4 Постановка задачи на разработку программной системы 28
2 РАЗРАБОТКА МОДЕЛИ И ПРОЕКТИРОВАНИЕ ПРОГРАММНОЙ СИСТЕМЫ 30
2.1 Разработка модели программной системы 30
2.1 Проектирование структуры программной системы 32
2.2 Проектирование UML-Диаграмм работы и взаимодействия блоков программы 33
3 РАЗРАБОТКА ПРОГРАММНОЙ СИСТЕМЫ 37
3.1 Разработка алгоритмов работы программной системы 37
3.2 Разработка интерфейса программы 42
4 РАЗРАБОТКА ПРОГРАММНОЙ СИСТЕМЫ 52
4.1 Обоснование средств реализации 52
4.2 Реализация программного комплекса 56
5 ТЕСТИРОВАНИЕ ПРОГРАММНОЙ СИСТЕМЫ 73
Выводы 78
Перечень ссылок 79
Приложение А Листинг программы 81
Приложение Б Руководство пользователя 118
Приложение В Экранные формы 126
Приложение Д Перечень замечаний к дипломному проекту 131


ВВЕДЕНИЕ

Сегодня банки, брокерские компании, частные инвесторы, интернет-трейдеры активизировали работу в области формирования и управления инвестиционным портфелем. Количество непрофессиональных участников рынка ценных бумаг стремительно растет и у них возникает необходимость использовать профессиональные знания об использовании методов анализа рынка ценных бумаг, которые могли бы помочь ориентироваться в сложных процессах рынка. Данное обстоятельство вызывает необходимость проведения более полного системного анализа портфельных теорий и ставит задачу разработки методического обеспечения процесса управления портфелем ценных бумаг, основанного на стратегии оптимизации портфеля ценных бумаг.
Оптимизационные стратегии основаны на построении экономико-математических моделей портфеля. Выбор наилучшей структуры портфеля осуществляется путем варьирования критериев оптимизации и проведения многовариантных имитационных расчетов. Использование методов оптимизации позволяет определить конфигурацию портфеля, наиболее точно отвечающую индивидуальным требованиям инвестора с точки зрения сбалансированного сочетания риска, доходности и ликвидности вложений. В качестве классических примеров обычно приводятся оптимизационные модели Марковитца, Шарпа, Тобина[6]. Одна из проблем заключается в том, что процесс выбора инвестиционной стратегии далеко не всегда можно адекватно формализовать, иногда более существенное значение имеют не количественные, а качественные показатели. Поэтому в настоящее время помимо традиционных методов оптимизации (например, линейного или динамического программирования) менеджеры и аналитики используют методы, основанные на генетических алгоритмах, нечеткой логике, а также экспертные системы, нейронные сети.
В первом разделе работы сделан анализ предметной области, обзор и сравнительный анализ существующего программного обеспечения в этой сфере. В конце сделана постановка задачи на разработку программного обеспечения для оптимизационного моделирования динамических систем с использованием генетических алгоритмов.
Второй раздел посвящен проектированию структуры системы, UML- диаграмм работы и взаимодействия программной системы.
В третьем разделе выполняется разработка алгоритмов работы системы. Приведена общая структура программы, блок схемы реализации операций. Также здесь детально описывается интерфейс создаваемой программы
В четвертом разделе выполняется реализация программной системы. Сначала выбираются инструменты, с помощью которых будет разрабатываться система, затем описываются разработанные классы и функции в программной системе.
Пятый раздел посвящен тестированию разработанной программной системы. Описаны результаты, которые получились при изменении тех или иных параметров.


1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ

1.1 Актуальность оптимизационного моделирования портфеля ценных бумаг с использованием генетических алгоритмов

Рынок ценных бумаг играет важную роль в экономике любой страны. Возможности рынка ценных бумаг привлекают все больше и больше инвестиций в эту сферу рыночной экономики. В связи с этим актуальным становится анализ и прогнозирование возможной прибыли и рисков, понесенных инвестором при управлении им портфелем ценных бумаг.
Сущность портфельного инвестирования подразумевает распределение инвестиционного потенциала между различными группами активов, так как невозможно найти ценную бумагу, которая была бы одновременно высокодоходной и высоконадежной. В зависимости от того, какие цели и задачи изначально стоят при формировании того или иного портфеля, выбирается определенное процентное соотношение между различными типами активов, составляющими портфель инвестора.
Проведя анализ рынка ценных бумаг, инвестор может выбрать актив и инвестировать в него свои средства, но вкладывая весь свой капитал только в одну ценную бумагу, инвестор обрекает себя либо на заведомо низкую доходность, либо на заведомо высокий риск. Следствием второго вывода является необходимость диверсификации капитала между различными активами. Распределение средств по различным ценным бумагам приводит к формированию портфеля ценных бумаг, и за счет этого инвестор может достичь приемлемого уровня доходности и риска инвестиций. В этом состоит главное преимущество портфельного инвестирования по сравнению с инвестициями в отдельные ценные бумаги.
В дипломной работе рассматривается выбор оптимального портфеля ценных бумаг на основе подхода «доходность-риск». Выбор портфеля ценных бумаг на основе его ожидаемой доходности и риска известен как подход «доходность-риск», который был впервые сформулирован Г. Марковицем[3]. В рамках данного подхода предполагается, что инвестор стремится максимизировать ожидаемую доходность портфеля при заданном уровне риска, либо минимизировать риск при заданном уровне ожидаемой доходности по средствам диверсификации вложений.
Теория эффективных портфелей направлена на решение практической задача о рассредоточении капитала по раз¬личным видам ценных бумаг в условиях неопределенности. Основные положении этой теории были разработаны аме¬риканским математиком Г. Марковицем при подготовке его докторской диссертации в 1950 - 1951 годах. Практическое значение теории эффективных портфелей, которая является математической теорией для рассредоточения вкладов, увеличения прибыли и снижения риска очень велико. Использование этой теории вызвало революцию на фондовом рынке.
Традиционный подход в инвестировании, преобладавший до появления современной теории портфельных инвестиций, имел два существенных недостатка. Во-первых, в нем основное внимание уделялось анализу поведения отдельных активов (акций, облигаций). Во-вторых, основной характеристикой активов в нем была исключительно доходность, тогда как другой фактор - риск - не получал четкой оценки при инвестиционных решениях. Нынешний уровень разработки теории портфельных инвестиций преодолевает эти недостатки.
Результаты исследований, полученные Г. Марковицем, сразу позволили перевести задачу выбора оптимальной инвестиционной стратегии на точный математический язык. Именно он первым привлек внимание к общепринятой практике диверсификации портфеля и точно показал, как инвесторы могут уменьшить стандартное отклонение его доходности, выбирая акции, цены на которые изменяются по-разному. С математической точки зрения, полученная оптимизационная стратегия относится к классу задач квадратичной оптимизации при линейных ограничениях. До сих пор, вместе с задачами линейного программирования, это один из наиболее изученных классов оптимизационных задач, для которых разработано большое количество достаточно эффективных алгоритмов.
Основные выводы теории портфельных инвестиций, можно сформулировать так[4]:
- эффективное множество содержат те портфели, которые одновременно обеспечивают и максимальную ожидаемую доходность при фиксированном уровне риска, и минимальный риск при заданном уровне ожидаемой доходности;
- предполагается, что инвестор выбирает оптимальный портфель из портфелей, составляющих эффективное множество;
- оптимальный портфель инвестора идентифицируется с точкой касания кривых равнодушия инвестора с эффективным множеством;
- как правило, диверсификация влечет за собой уменьшение риска, поскольку в общем случае стандартное отклонение доходности портфеля будет меньше, чем средневзвешенные стандартные отклонения доходности ценных бумаг, которые составляют этот портфель;
- соотношение доходности ценной бумаги и доходности на индекс рынка известно как рыночная модель;
- доходность на индекс рынка не отражает доходности ценной бумаги полностью; необъясненные элементы включаются в случайную погрешность рыночной модели;
- в соответствии с рыночной моделью, общий риск ценной бумаги состоит из рыночного риска и собственного риска;
- диверсификация приводит к усреднению рыночного риска;
- диверсификация может значительно снизить собственный риск.
Центральной проблемой в теории портфельных инвестиций является выбор оптимального портфеля, то есть определение набора активов с наивысшим уровнем доходности при наименьшем или заданном уровне инвестиционного риска. Такой подход является "многомерным" как по количеству привлеченных в анализ активов, так и по учтенным характеристикам.
Задача оптимизации портфеля ценных бумаг относится к оптимизационным задачам.
В типичной задаче оптимизации существует набор переменных, влияющих на процесс, и формула или алгоритм, который использует эти переменные, чтобы построить полную модель этого процесса. При этом задача заключается в том, чтобы найти такие значения переменных, которые некоторым образом оптимизируют модель. Если моделью является формула, то обычно ищут максимум или минимум функции, которую данная формула представляет. Существует много математических методов, которые решают (и очень быстро) задачи оптимизации в том случае, если это задачи с "хорошим поведением". Однако традиционные методы часто терпят крах, если задача "ведет себя" недостаточно хорошо.
К сожалению, классические методики оказываются малоэффективными во многих практических задачах. Это связано с тем, что невозможно достаточно полно описать реальность с помощью небольшого числа параметров модели, либо расчет модели требует слишком много времени и вычислительных ресурсов.
В частности, рассмотрим проблемы, возникающие при решении задачи оптимизации портфеля ценных бумаг.
В реальной задаче ни одна из функций не известна точно - известны лишь приблизительные или ожидаемые значения прибыли. Для того чтобы избавиться от неопределенности, мы вынуждены зафиксировать функции, теряя при этом в точности описания задачи.
Детерминированный алгоритм для поиска оптимального решения (симплекс-метод) применим только в том случае, если все данные функции линейны. В реальных задачах бизнеса это условие не выполняется. Хотя данные функции можно аппроксимировать линейными[7], решение в этом случае будет далеким от оптимального.
Если одна из функций нелинейна, то симплекс-метод неприменим, и остается два традиционных пути решения этой задачи.
Первый путь - использовать метод градиентного спуска[15] для поиска максимума прибыли. При решении задачи методом градиентного спуска вначале выбираются некоторые случайные значения параметров, а затем эти значения постепенно изменяют, добиваясь наибольшей скорости роста целевой функции. Достигнув локального максимума, такой алгоритм останавливается, поэтому для поиска глобального оптимума потребуются дополнительные усилия. Градиентные методы работают очень быстро, но не гарантируют оптимальности найденного решения. Они идеальны для применения в так называемых унимодальных задачах, где целевая функция имеет единственный локальный максимум (он же - глобальный). Типичная практическая задача, как правило, мультимодальна и многомерна, то есть содержит много параметров. Для таких задач не существует ни одного универсального метода, который позволял бы достаточно быстро найти абсолютно точное решение. В данном случае область определения функции прибыли имеет сложную форму, а сама функция - несколько локальных максимумов, поэтому градиентный метод может привести к неоптимальному решению.
Второй путь - провести полный перебор вариантов инвестирования, что означает, что для определения наилучшей перебираются все возможные комбинации. Этот подход обеспечивает очень точный результат : в конечном итоге обязательно найдется наилучшая комбинация. Однако, это очень неэффективный подход, поскольку полный перебор всех комбинаций параметров в большинстве случаев требует недопустимо много времени. Пользователи оптимизаторов с полным перебором вынуждены ограничивать число используемых переменных и количество значений, которые эти переменные могут принимать.
Вероятностные технологии также обладают существенными недостатками при решении практических задач. Также нужно отметить, что статистические методы хорошо развиты только для одномерных случайных величин. Если же необходимо учитывать для прогнозирования курса акций несколько взаимосвязанных факторов (например, объем сделок, курс доллара и т.д.), то придется обратиться к построению многомерной статистической модели. Однако такие модели либо предполагают гауссовское распределение наблюдений (что не выполняется на практике), либо не обоснованы теоретически.

1.2 Использование генетических алгоритмов в задачах оптимизации портфеля ценных бумаг

В дипломной работе задача оптимизации портфеля ценных бумаг будет решена с использованием генетического алгоритмах [9]. Генетические алгоритмы - это специальная технология для поиска оптимальных решений, которая успешно применяется в различных областях науки и бизнеса. В этих алгоритмах используется идея естественного отбора среди живых организмов в природе, поэтому они называются генетическими. Генетические алгоритмы часто применяются совместно с нейронными сетями, позволяя создавать предельно гибкие, быстрые и эффективные инструменты анализа данных.
Генетический алгоритм не пробует каждую возможную комбинацию и не ограничивает пространство поиска. Вместо этого он пытается подбираться все ближе и ближе к лучшему решению, используя механизмы естественного отбора, аналогичные имеющим место в живой природе. Как следствие этого, можно использовать гораздо больше переменных, и можно позволить поиск среди всех значений каждой из переменных. Если дать генетическому алгоритму слишком много переменных, оптимизация все же может занять достаточно большое время, но за это время будет проделано гораздо больше работы. В дополнение следует отметить, что благодаря эволюционному механизму генетические алгоритмы гораздо менее подвержены "застреванию" в локальных минимумах, чем другие алгоритмы оптимизации, отличные от полного перебора.
Первый шаг при построении генетических алгоритмов — это кодировка исходных логических закономерностей в базе данных, которые именуют хромосомами, а весь набор таких закономерностей называют популяцией хромосом. Далее для реализации концепции отбора вводится способ сопоставления различных хромосом.
Стандартные операторы для всех типов генетических алгоритмов это:
- селекция
- скрещивание
-мутация.
Оператор селекции (reproduction, selection) осуществляет отбор хромосом в соответствии со значениями их функции приспособленности. Существуют как минимум два популярных типа оператора селекции: рулетка и турнир.
-Метод рулетки (roulette-wheel selection) - отбирает особей с помощью n "запусков" рулетки. Колесо рулетки содержит по одному сектору для каждого члена популяции. Размер i-ого сектора пропорционален соответствующей величине Psel(i) вычисляемой по формуле:
(1.1)
При таком отборе члены популяции с более высокой приспособленностью с большей вероятностью будут чаще выбираться, чем особи с низкой приспособленностью.
-Турнирный отбор (tournament selection) реализует n турниров, чтобы выбрать n особей. Каждый турнир построен на выборке k элементов из популяции, и выбора лучшей особи среди них. Наиболее распространен турнирный отбор с k=2.
-Оператор скрещивание (crossover) осуществляет обмен частями хромосом между двумя (может быть и больше) хромосомами в популяции. Может быть одноточечным или многоточечным. Одноточечный кроссовер работает следующим образом. Сначала, случайным образом выбирается одна из l-1 точек разрыва. Точка разрыва - участок между соседними битами в строке. Обе родительские структуры разрываются на два сегмента по этой точке. Затем, соответствующие сегменты различных родителей склеиваются и получаются два генотипа потомков.
-Мутация (mutation) - стохастическое изменение части хромосом. Каждый ген строки, которая подвергается мутации, с вероятностью Pmut (обычно очень маленькой) меняется на другой ген.
Генетические алгоритмы удобны тем, что их легко распараллеливать. Например, можно разбить поколение на несколько групп и работать с каждой из них независимо обмениваясь время от времени несколькими хромосомами. Существуют также и другие методы распараллеливания генетических алгоритмов.
Генетические алгоритмы имеют ряд недостатков. Критерий отбора хромосом и используемые процедуры являются эвристическими и далеко не гарантируют нахождения “лучшего” решения. Как и в реальной жизни, эволюцию может “заклинить” на какой-либо непродуктивной ветви. И, наоборот, можно привести примеры, как два неперспективных родителя, которые будут исключены из эволюции генетическим алгоритмом, оказываются способными произвести высокоэффективного потомка. Это особенно становится заметно при решении высокоразмерных задач со сложными внутренними связями.


1.3 Обзор существующих программных продуктов

Прежде всего, необходимо провести обзор существующих программных продуктов для решения задач с использованием генетических алгоритмов. На сегодняшний момент на рынке программного обеспечения можно найти достаточно программ, которые используют генетические алгоритмы. Проведем обзор и сравнительный анализ существующего программного обеспечения, которое использует в своей работе генетические алгоритмы.

1.3.1 Программная среда Genetic Algorithm and Direct Search Toolbox 1.0.2

Программа Genetic Algorithm and Direct Search Toolbox предназначена для решения задач оптимизации при использовании генетического алгоритма и алгоритма прямого поиска. В этой программе содержатся новые возможности по применению известных алгоритмов оптимизации для такого класса задач, который представляет определенные трудности при решении обычными методами оптимизации, то есть такого класса задач, который представляет определенную трудность в математической формулировке. Основные особенности программы:
- Графический интерфейс пользователя и функции командной строки являются удобными средствами для постановки задачи; установки соответствующих опций алгоритма и мониторинга выполнения задачи.
- Генетический алгоритм дополнен инструментами для разработки, масштабирования, отбора, перехода от одной задачи к другой и изменения хода выполнения программы.
- Наличие функциональной связи между программами Optimization Toolbox и MATLAB и генетическим алгоритмом и методом прямого поиска.
- Поддержка автоматической генерации М-кодов.
-Имеются соответствующие инструментарии для управления процессом оптимизации и контроля эффективности выполнения и ввода критериев останова выполнения программы.

Рисунок 1.1 - Внешний вид программы Genetic Algorithm and Direct Search Toolbox
Программа поддерживает выполнение таких функций:
1. Функций для отображения результатов оптимизации. Подобная визуализация дает возможность установить динамическую обратную связь с процессом оптимизации и проводить необходимые модификации во время выполнения программ. Специализированные графические функции имеются как для генетического алгоритма, так и для метода прямого поиска. В набор специализированных графических функций входят:
-графики для отображения значений функции;
-гистограмма оценки эффективности;
-генеалогический график;
-показатель соответствия;
-расчетные значения функций;
Кроме того, есть возможность совмещения графиков, выделение отдельных графиков для более тщательного анализа и введение собственных графических отображений пользователя.
2. Функции для вывода результатов
-запись результатов в файл,
-формирование собственных критериев останова,
-создание собственных графических интерфейсов для управления программами решателей в данном тулбоксе.
Компьютер должен отвечать следующим системным требованиям:
Операционная система: XP (Service Pack 1 or 2), 2000 (Service Pack 3 or 4), NT 4.0 (Service Pack 5 или 6a);
Процессор: Pentium III, IV, Xeon, Pentium M, AMD Athlon, Athlon XP, Athlon MP;
Пространство на диске: 340 MB и выше;
Оперативная память: 256 MB,512 MB (рекомендуется);

1.3.2 Программная среда GeneHunter

GeneHunter представляет собой комплекс мощных программных средств для решения оптимизационных задач с помощью генетических алгоритмов.
Пакет состоит из трех частей:
1. Надстройка для Microsoft Excel. Надстройка дает возможность решать оптимизационные задачи прямо в Excel.
-Решение оптимизационных задач из рабочих листов Excel;
-Автоматический поиск ячеек Вашего рабочего листа, которые используются при решени задачи;
-Задание параметров генетического алгоритма и списка ограничений, которым должно удовлетворять решение;
-Доступность для пользователей, не владеющих программированием;
2. Динамическая библиотека функций. Библиотека функций генетических алгоритмов GALIB, которую можно использовать при программировании своих собственных систем.
3. Комплект примеров. Комплект примеров использования пакета для решения разнообразных задач, который содержит множество полезных идей. В комплект входят готовые документы Excel, на примере которых можно легко научиться использовать надстройку для Excel, а также исходные коды на Delphi, Borland C, Visual Basic и Visual C, демонстрирующие использование программного интерфейса библиотеки GALIB.

Рисунок 1.2 – Внешний вид среды GeneHunter


Рисунок 1.3 Диалоговое окно среды GeneHunter

Рисунок 1.4 Окно для ввода параметров GeneHunter

Диалоговое окно GeneHunter — Ячейка целевой функции.
Окно “Целевая функция” передает в GeneHunter сообщение о положении ячейки с формулой, по которой определяется, насколько хорошее решение задачи нашел GeneHunter. Формула может быть создана с помощью любой функции Excel, доступной из меню "Вставка", например "СРЗНАЧ". Для создания формул можно также использовать макросы Excel или функции Excel Visual Basic, которые позволяют решать очень сложные задачи. Для расчета целевой функции можно использовать нейросети.
Диалоговое окно “GeneHunter — хромосомы”. Хромосомы представляют собой переменные, значения которых надо подобрать для того, чтобы решить задачу. Их значения в конечном итоге определяют величину целевой функции.
GeneHunter использует два типа хромосом:
- Непрерывные хромосомы используются в том случае, когда подбираемый параметр может принимать значения из некоторой непрерывной области, например, значение 1,5 внутри диапазона от 0 до 2. Непрерывные хромосомы могут также быть целыми числами.
- Перечислимые хромосомы используются в задачах поиска оптимальных комбинаций типа выбора маршрута, составления расписания занятий или последовательности процессов и т.п.
Диалоговое окно GeneHunter — диапазоны, ограничения и дополнительные целевые функции. Нижняя часть диалогового окна GeneHunter позволяет сделать следующее:
- Указать диапазоны значений каждой хромосомы, в которых GeneHunter будет искать решение.
- Добавить к первоначальной целевой функции дополнительные условия. Такие условия называются ограничениями. GeneHunter будет пытаться искать решения, которые удовлетворяют ограничениям, но и одновременно оптимизируют целевую функцию.
- Указать ячейки дополнительных целевых функций, значения которых будут оптимизироваться одновременно со значением главной целевой функции, определенной выше.
Многие пользователи хотят использовать мощь генетических алгоритмов в своих приложениях, однако предпочитают разработать собственный интерфейс или сократить время вычислений сложной целевой функции по сравнению со временем, которое эта процедура занимает в Excel. Для удовлетворения этих потребностей в состав GeneHunter включена полная динамическая библиотека функций генетических алгоритмов - GALIB.DLL.
В библиотеку входят функции создания популяции, определения параметров эволюции (таких как вероятности скрещивания, мутации, разнообразия), определения значений целевой функции индивидуумов, обновления популяции и перехода в следующее поколение. Пользователь имеет возможность создавать индивидуумов с непрерывными или перечислимыми хромосомами.
Библиотека GALIB.DLL позволяет программисту использовать следующие генетические операторы:
1. Оператор скрещивания представляет собой процесс, в ходе которого GeneHunter выбирает двух подходящих индивидуумов и скрещивает их. При этом потомство получит некоторые черты от обоих родителей.
2. Оператор мутации также служит для продолжения эволюции. Однако, вместо комбинирования родительских качеств, мутация вносит изменение в одного индивидуума путем случайного изменения одной из хромосом.
3. Оператор разнообразия также вносит изменения в отдельного индивидуума, но это очень небольшие изменения в каждой хромосоме, а не сильное изменение одной хромосомы, как происходит при мутации.
4. Оператор вымирания позволяет уничтожить всю популяцию за исключением элиты. Подобно чуме, он уничтожает большую часть популяции и освежает генетический материал, пополняя популяцию большим количеством новых членов.
Руководство пользователя GeneHunter содержит подробное разъяснение по каждой функции, включая описание аргументов, примеры вызова функции и список функций, имеющих отношение к данной. Динамическая библиотека GALIB.DLL позволяет создавать приложения, в которых могут развиваться одновременно до 128 популяций. Функция MakeChromosomePool дает возможность быстро создавать множество схожих между собой хромосом, что бывает удобно, например, для таких приложений, как оптимизация весов нейронной сети. GeneHunter позволяет использовать даже смесь непрерывных и перечислимых хромосом в одной популяции.
Требования к компьютеру:
IBM® PC или совместимый компьютер с процессором не ниже Pentium 120 MHz, не менее 128Mb ОЗУ и 1.5 Mbсвободного места на жестком диске.
Рекомендуется использовать процессоры обладающие высокой производительностью при операциях с плавающей точкой. Например, Athlon 64 3000+, Pentium 4 3,2 GHz.
К недостаткам программы GeneHunter фирмы Ward Systems Group можно отнести ее стоимость — около $1000, а также большие требования к системным ресурсам.

1.3.3 Программная среда TransGA

TransGA является приложением Windows, поэтому для выполнения приложений и открытия документов могут применяться стандартные методы Windows.
TransGA получает динамическую модель процесса путем установки динамических данных в процессе экспериментально измерены. Эксперимент состоит в изменении входных данных процесса и измерении результатов.
-Данные могут быть занесены непосредственно в таблицу, расположенную в главном окне программе. Добавление новой строки производится нажатием на кнопку “Добавить”, а удаление строки нажатием на кнопку “Удалить”;
-Данные могут быть скопированы из таблицы Excel;
- Данные могут быть загружены из текстового файла с помощью команды меню "Файл".
Параметры алгоритма могут быть адаптированы к конкретной проблеме. Эти параметры могут быть изменены в диалоговом окне "Настройки", которое открывается с помощью команды "Свойства обозревателя" в меню, или при нажатии на соответствующую кнопку на панели инструментов.
Параметрами алгоритма являются:
-численность популяции;
-количество поколений;
-тип и вероятность размножения;
-вероятность мутации;
-элитизм.



Рисунок 1.5 - Окно для ввода параметров TransGA
После введения экспериментальных данных и настройки параметров алгоритма, алгоритм может быть выполнен с помощью команды "Выполнить" меню алгоритма, либо при нажатии на соответствующую кнопку на панели инструментов.
После выполнения алгоритма, полученные результаты будут показаны в главном окне.(Рис 1.6)



Рисунок 1.6 - Окно TransGA
Эти результаты также хранятся в текстовом файле с именем NameFile_Report.txt.
Отчет содержит следующие параметры:
- Параметры генетического алгоритма;
-Изменение некоторых параметров в ходе эволюции.
Эти параметры включают: среднее значение и стандартное отклонение фитнес функции, количество мутаций и репродукции, и генотип c лучшим решением, фенотип и целевая функция.
-Резюме результатов, полученных по алгоритму;

Рисунок 1.7 - Окно с результатами работы среды TransGA

Недостатком всех программ этого класса считают требование к специальной подготовке пользователя. Также нужно отметить, что мощные современные статистические пакеты являются слишком "тяжеловесными" для массового применения в финансах и бизнесе. К тому же часто эти системы весьма дороги — от $1000 до $15000.

1.4 Постановка задачи на разработку программной системы

Современная теория портфельных инвестиций первоначально предложенная Марковицем, как было сказано выше, основана на разумном обмене между средним ожидаемым доходом по всем инвестициям и риском. Эта задача оптимизации может быть решена квадратичным программированием. Но задача поиска оптимального портфеля ценных бумаг может быть так же решена с использованием генетического алгоритма. Так как это - типичная модель оптимизации, генетический алгоритм является подходящим для этой задачи.
Пусть на рынке действуют различные ценные бумаги с доходностями Mi и эффективностями Ri , i=1...n, где Ri является случайной величиной, распределенной по нормальному закону, а Mi есть математическое ожидание случайной величины. Инвестор формирует портфель ценных бумаг, покупая ценные бумаги всех видов, причем на i-ый вид ценных бумаг тратится xi доля капитала.


2 РАЗРАБОТКА МОДЕЛИ И ПРОЕКТИРОВАНИЕ ПРОГРАММНОЙ СИСТЕМЫ

2.1 Разработка модели программной системы

По определению портфель ценных бумаг будет иметь следующий вид:

(2.1)

Доходность портфеля ценных бумаг вычисляется сл...
**************************************************************


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.