Разработка программного обеспечения для прогнозирования финансовых показателей на основе интеллектуального анализа данных
Проблемы и возможности прогноза курса валют. Анализ финансовых временных рядов. Разработка искусственного интеллекта в виде нейронной сети для предсказания курса валют с гибкой настройкой. Архитектура, структура и компоненты программного приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Федеральное агентство связи
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Поволжский государственный университет телекоммуникаций и информатики»
Факультет Информационных систем и технологий
Направление (специальность) 09.03.02 Информационные системы и технологии
Кафедра Информационных систем и технологий
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Разработка программного обеспечения для прогнозирования финансовых показателей на основе интеллектуального анализа данных
Разработал Н.А. Авдеева
Самара 2017
Введение
В настоящее время к качественному прогнозированию проявляется большой интерес, особенно это касается сферы финансов. Причиной тому служит быстрой развитие информационных технологий и появлением новых инструментов для анализа данных. Возможность предвидеть колебания курса валют позволила бы любому инвестору повысить эффективность вложения денежных средств. Поэтому было проведено большое количество исследований в различных областях, чтобы попытаться найти способ точного прогнозирования этих изменений. Были сформулированы различные статистические методы, которые используются аналитиками для получения конкурентных преимуществ. К сожалению, на данный момент технический анализ, используемый большинством участников рынка, не является эффективным. Прогнозы составленные на основе экспоненциальных скользящих средних, осцилляторах, и других индикаторах не приносят ощутимых результатов, так как экономика не редко бывает нерациональна, из-за того, что движима нерациональными обоснованиями людей.
Финансовые аналитики с недавних пор очень заинтересовались развитием интеллектуальных систем. К таким системам относятся искусственные нейронные сети, которые представляют собой математические модели, а также программные либо аппаратные имплементации этих моделей. Такие модели строятся, основываясь на организации и функционировании биологических моделей нейронных сетей, иначе говоря по принципу сетей нервных клеток живых существ. Возникновение этого понятия произошло в момент изучения человеческого мозга и попытке моделирования процессов, происходящих в мозге в момент мышления. Спустя некоторое время такие модели начали использовать на практике, в большинстве случаев они находили свое применение в задачах прогнозирования. В отличии от других методов прогнозирования, нейронные сети не просто программируются, они способны к обучению. Эта возможность обучения является одной из важных достоинств нейронных сетей в отличии от традиционных алгоритмов. Технически смысл обучения сводится к нахождению коэффициентов связей одних нейронов с другими. Нейронная сеть в ходе обучения имеет способность выявления непростых зависимостей между входными и выходными данными, и вдобавок ко всему может выполнить обобщение. Именно способности к обобщению и выявлению скрытых зависимостей выходных данных от входных в нейронной сети являются предпосылками ее способности к прогнозированию. В будущем обученная сеть способна предсказывать следующее значение определенной последовательности, основываясь на ряде предшествующих значений и/или каких бы то ни было имеющихся на данный момент факторов. Необходимо уточнить, что прогнозирование будет давать корректные значения, только в том случае, когда предшествующие изменения на самом деле более или менее предопределяют будущие. Так, например, прогнозы котировок акций, основанные на данных за прошедшую неделю, скорее всего, окажутся более успешными, чем прогнозы результата предстоящей лотереи, основанные на данных за предшествующие пятьдесят лет, которые почти стопроцентно не предоставят никаких результатов.
Все вышесказанное определило актуальность темы работы - «Разработка программного обеспечения для прогнозирования финансовых показателей на основе интеллектуального анализа данных».
Целью данной дипломной работы является разработка программного обеспечения для прогнозирования финансовых показателей на основе интеллектуального анализа данных, представляющее собой прототип, демонстрирующий предсказание курса валют. Прототип будет явно иллюстрировать возможность предсказания курса валют используя консольный интерфейс.
Для достижения поставленной цели необходимо решить несколько задач:
· Рассмотреть возможные методы реализации прогнозирования финансовых показателей
· Разработать архитектуру нейронной сети
· Разработать программное обеспечение для прогнозирования
финансовых показателей на основе интеллектуального анализа данных
Объектом исследования выступает разработка искусственного интеллекта в виде нейронной сети для предсказания следующего элемента ряда элементов.
Предмет исследования: разработка нейронной сети для анализа курса валют и его предсказания.
Цель и задачи написания работы определили ее структуру, которая состоит из введения, трех глав и заключения.
Во введении обосновывается актуальность работы, цель, задачи, объект и предмет исследования.
В первой главе рассматривается проблемы и возможности прогноза курса валют.
Во второй проводится обзор инструментов и методов для прогнозирования курса валют с использованием нейронных сетей.
Третья описывает процесс разработки прототипа программы для предсказания курса валют с гибкой настройкой.
В заключении сделаны основные выводы и результаты по проделанной работе.
1. Прогнозирование курса валют с использованием нейронных сетей
В обстановке тотальной глобализации, информатизации и непрерывно изменяющейся денежной обстановки в государстве первостепенной задачей руководства становится предсказание будущих коэффициентов, совершенствование и поднятие эффективности деятельности. Большая часть процессов, проходящих в бизнесе, пребывают в постоянной взаимозависимости. Анализ этих связей помогает открыть саму сущность процессов и попытаться предсказать грядущие явления и показатели.
Прогнозирование требуется повсюду в сфере управления и на всех уровнях функционирования. Задача прогнозирования изменений индекса - курсов доллара США и евро как глобальных эквивалентов - остается актуальной.
Очень сложно предсказать изменения валютных курсов в связи с их зависимостью от политической, финансовой внутренней и внешней обстановки государства, а еще с зависимым положением волатильности от множественных обстоятельств и предпосылок. Так же причиной является отсутствии линейности рядов курса валют.
Нет никакого гарантированного способа предсказать движения определенной валюты, или фактически любой валюты в мире. Невозможно сказать, действительно ли доллар США будет расти вверх или вниз против евро, или же китайский юань будет ценить против британского фунта - но есть способы посмотреть, что может произойти. Вот как...
Процентные ставки.
Первый из них прост: стоимость валюты конкретной страны часто связана с ее процентными ставками. В основном, более высокие процентные ставки являются хорошим показателем того, что люди более склонны экономить деньги в этой стране, поскольку они получат большую отдачу от своих сбережений. Это приводит к притоку денег, поскольку это более привлекательно, что приводит к росту обменного курса, известного как признательность.
Экономический рост.
Следствием процентных ставок является связь с экономическим ростом. Проще говоря, чем сильнее экономика страны, тем выше будет интерес и участие на рынке этой страны. Это приводит к увеличению спроса на валюту этой страны, что приводит к увеличению обменного курса этой валюты. Другими словами, если страна работает очень экономично, инфляция возрастает, а также ценность ее валюты.
Спекуляция.
Еще один фактор, который следует учитывать, - это спекуляция, которая сама по себе становится частью самоисполняющегося предсказания. В основном, когда люди начинают предсказывать, что цена на валюту будет расти, они начинают покупать больше ее и фактически увеличивают спрос на нее сами. Хорошим примером спекуляций является доллар США, который стал слабым в 2007 году из-за падения процентных ставок и продолжал падать еще дальше, чем ожидалось, из-за самой спекуляции о ее падении.
Заслуги в области аналитических и вычислительных методов существенно упростили эмпирические изучения нелинейных моделей и привели к выходу в свет многочисленных аналитических подходов в данной области, значительно увеличив количество способов прогнозирования валютных курсов: регрессионный анализ и нейронные сети, GARCH-модели, рекурсивные модели нейронных сетей и др.
Нейронные сети - это область, которая уже давно известна благодаря ее способности идентифицировать закономерности и тенденции в данных, которые не могут быть легко различимы человеческим глазом. По этой причине большое количество исследований было и проводится в области применения нейронных сетей для финансового прогнозирования.
1.1 Курс валют
Валюмтный курс - стоимость национальной валюты в пересчете на другую валюту, драгоценные металлы или ценные бумаги.
Понятие «обмен валюты» на прямую связано с ее характеристикой конвертируемость. Механизм государственного регулирования валютных операций определяет степень конвертируемости валюты. Свободно конвертируемой валюту называют в том случае, когда к резидентам и нерезидентам при воплощение денежных сделок не используют каких-либо ограничений, в стране этой валюты, и неконвертируемой, когда законодательно принятые ограничения работают в основном на все категории сделок с валютной единицей, в стране данной валюты. Валюта считается частично конвертируемой, когда в ее стране на определенные виды взаимообменных операций или на отдельных участников данных операций влияют ограничения и регламентации. Независимость конвертации валюты обязана базироваться на финансовой стабильности страны, то есть одного законодательного разрешения размена валюты мало, нужны доверие к валюте и оценка финансовой обеспеченности страны. Таким образом, способность валюты беспрепятственно размениваться на остальные валюты и назад в национальную валюту на валютных рынках называется конвертируемостью. Следовательно, доллар США, японская иена, евро и некоторые другие - к ним относится и российский рубль могут беспрепятственно конвертироваться.
Основой курса для конвертируемых валют является валютный паритет, но курсы валют в большинстве случаев не схожи со своим валютным паритетом. В предпосылках интернациональной торговли и остальных внешнеэкономических операций положение поступлений и платежей в заграничной валюте и, соответственно, спрос и предложение заграничной валюты никак не располагается в равновесии. Курсы заграничных денежных единиц на валютном рынке данной страны падают при активном платежном балансе, а курс национальной валюты повышается, но, когда страна имеет пассивный платежный баланс происходит обратное, так как для ликвидации своих иностранных задолженностей отечественные должники намереваются выкупить иностранной валюты больше того, что им предлагается.
Однако для того, чтобы совершить обмен, необходимо знать курс валюты, иными словами - стоимость. Валютный курс - это цена денежной единицы страны, выраженная в валютной единице другой страны. Другими словами, валюта считается таким же продуктом, как и любой иной, а приобрести ее можно по установленной стоимости. И для всякой валюты, которая используется в качестве платежного средства за какую-либо валюту, принят определенный денежный курс.
Фиксация денежного курса исполняется либо согласно золотому паритету (гарантированному золотому содержанию государственной валютной единицы), либо по интернациональному договору. При традиционном золотом стандарте, говоря другими словами при беспрепятственном обмене валюты на слитки золота в центральном банке, денежный курс устанавливается в пропорциях к его золотому содержанию.
Правительство страны тем или иным образом занимается установлением официальных обменных курсов, которые регулярно публикуются в специальных бюллетенях. В Российской Федерации для применения в расчетах расходов и доходов государственного бюджета, всех видов платежно-расчетных отношений государства с организациями и гражданами, а также целей налогообложения и бухгалтерского учета официальный курс рубля устанавливается Центральным Банком РФ.
Валютная котировка - это фиксирование национальной денежной единицы в иностранной. Различают два вида котировки прямую и косвенную (обратную). Цена иностранной валюты, сложившаяся на национальном рынке, является прямой котировкой. Данное значение цены указывает на количество валюты-измерителя, которое приходится на единицу котируемой валюты. Обратная или косвенная котировка отображает количество единиц котируемой валюты, которая приходится на единицу валюты-измерителя. Отношение курса одной валюты к другой имеет возможность быть определено также через третью валюту. В данном случае он именуется кросс-курсом. Возникает необходимость в таких котировках в тех случаях, когда объем прямых обменных операций между двумя валютами относительно мал, и, поэтому, не складываются достаточно представительные прямые котировки. Кроме того, расчет кросс-курса может дать несколько отличную величину курса даже при наличии надежных прямых котировок. При наблюдении за уровнем денежного курса устанавливают два курса: курс продавца, по которому осуществляются продажи валют банком, и курс покупателя, по которому осуществляются покупка валют банком.
Они отличаются, так как тут денежные операции рассматриваются как средство получения прибыли. Разница между этими курсами формирует спред.
В Российской Федерации Центральный Банк определяет курсы заграничных валют по итогам торгов на денежной бирже в рублях, используя прямые котировки.
При этом курс доллара либо курс евро, да и любой иной валюты имеет возможность существовать как официальным, так и неофициальным. Государством устанавливается официальный денежный курс для национальной валюты, обычно в лице центрального банка, на установленный период, к примеру, на сутки и используется в официальных расчетах. Официальный валютный курс подразделяют на плавающий и фиксированный. Валютный курс устанавливающийся на основе спроса и предложения на валютном рынке является плавающим. А тот курс валют, который устанавливается как фиксированное значение на определенном промежутке времени называется Фиксированный.
Неофициальный же курс имеет возможность отличаться от официального при расчетах между обыкновенными гражданами либо юридическими лицами по собственному усмотрению.
Фиксированным курсом считается официально установленное соответствие между валютами. Так, фиксированный денежный курс доллара к рублю применялся в СССР, его устанавливал Госбанк СССР. Например:
· на 1 января 1924 года курс $1 равнялся 2,20 руб.;
· на 1 января 1936 года курс $1 равнялся 1,15 руб.;
· на 1 января 1937 года курс $1 равнялся 5,04 руб.;
· на 1 января 1961 года курс $1 равнялся 0,90 руб. [1]
Любопытно, что в начале 1990-х годов, параллельно существовали некоторое количество видов курса валют:
Официальный фиксированный - курс, который устанавливался Госбанком СССР и использовался для официальных расчетов;
Коммерческий - курс, который был установлен с 1 ноября 1990 года исходя из соотношения 1,8 руб. за $1 и применялся для расчетов по внешнеторговым операциям, иностранным капиталовложениям на территории СССР и советским вложений за границей, а еще расчетов неторгового характера, которые исполняются юридическими лицами (Указ Президента СССР от 26 октября 1990 г. № УП-943 "О введении коммерческого курса рубля к иностранным валютам и мерах по созданию общесоюзного валютного рынка");
Туристический" - курс, который был введен 24 июля 1991 года Госбанком СССР на уровне 32 руб. за $1, он просуществовал только пять месяцев и употреблялся наравне с официальным фиксированным курсом для приобретения валюты физическими лицами (Телеграмма Госбанка СССР от 1 апреля 1991 г. № 135/91 "Правила покупки и продажи (перевода) для вывоза за границу иностранной валюты за счет личных средств граждан").
Беспрецедентно низкое значение официального курса доллара было зафиксировано 13 февраля 1991 года - его официальный курс приравнивался 0,54 руб. Настолько маленький официальный курс доллара продержался по 24 июня 1992 года, достигнув к данному моменту только значения в 0,56 руб.
Официальный курс доллара, уже 1 июля 1992 года, установился на уровне 125,26 руб. за $1 и резко начал расти, он достиг суммы в 414,50 руб к 1 января 1993 года. 1247 руб - к 1 января 1994 года. Курс доллара к рублю вырос до 3623 руб к 6 января 1995 года. а к 5 января 1996 года - до 4461 руб., достигнув значения в 5960 руб к концу 1997 года. за $1, после этого в России проводилась деноминация рубля в тысячу раз.
Но и после этого курс доллара к рублю прочно продолжал расти, продемонстрировав внезапные подъемы в 1998 и в 2014 годах. Определенную устойчивость и в том числе и некое периодическое понижение курса доллара можно было наблюдать с 2000 по 2013 годы. На 9 декабря 2014 года курс доллара США установлен в размере 53,31 руб. за $1. Если сопоставлять с бывшими, неденоминированными, рублями, то он соответствует курсу в 53 310 неденоминированных рублей за $1. Таким образом, за период с 1 июля 1992 года по настоящее время цена рубля по отношению к доллару США упала в 424 раза.
В РФ в настоящее время используется плавающий валютный курс, который предполагает использование рыночного механизма валютного регулирования для установления курса валют. При этом курс меняется под воздействием спроса и предписания.
Банк России занимается установлением официальных курсов валют по отношению к рублю (ст. 53 Федерального закона от 10 июля 2002 г. № 86-ФЗ "О Центральном банке Российской Федерации (Банке России)") [1]. Но обычный гражданин не имеет возможности прийти в Банк России и приобрести либо продать валюту по официальному курсу. Более того, Банк РФ вообще не принимает на себя обязательство покупать и продавать валюту по официальному курсу. Фактически граждане имеют все шансы приобрести валюту лишь в коммерческих банках по неофициальному курсу, при этом стоимость валюты оказывается обычно завышенной - так как коммерческий банк получает выручку от данной сделки.
Потому и говорят, что гражданам никак не рекомендовано "играть" на курсах валют (по крайней мере, в краткосрочной перспективе, не имея возможности отложить деньги на годы вперед), так как они постоянно обязаны брать валюту подороже и продавать подешевле, нежели по официальному курсу, фактически постоянно проигрывая на данной разности.
1.2 Курс доллара и евро на сегодняшний день
Более популярные курсы валют, интересующие жителей России фактически ежедневно, - это курсы доллара и евро к рублю. К нашему сожалению, рубль в последнее время резко упал по отношению к этим валютам. По суждению почти всех аналитиков, это стало следствием внутренней и внешней политической деятельности РФ. В настоящее время снижение рубля длится и совсем неясно, на каком уровне оно остановится. Очевидно, что, это снижение не может не сказаться на благополучии обычных жителей России. Так как цены в торговых центрах растут вслед за подъемом курсов доллара и евро (так как почти все продукты закупаются за рубежом за иностранную валюту), то покупательская способность получаемых гражданами заработков пропорционально падает. И если работник в начале 2014 года имел возможность приобрести на собственную заработную плату в объеме 30 тыс. руб. продукты на необходимую сумму, эквивалентную приблизительно $ 920, то ныне покупательная способность его заработной платы свалилась приблизительно до $ 565, то есть практически в 2 раза. Очевидно, жителей России такая обстановка сильно беспокоит.
В итоге большая часть людей ежедневно отслеживает курс доллара и курс евро на данный момент, в зависимости от того, какая из данных валют кажется им наиболее важной. Однако не много кто понимает, как именно устанавливается данный курс.
Дело в том, что курс доллара на сегодня устанавливается Банком РФ днем ранее. Практически, каждый день устанавливается курс доллара на следующий день. Официальный курс доллара США по отношению к рублю рассчитывается и устанавливается Банком РФ на базе котировок межбанковского внутреннего денежного рынка. С 15 апреля 2003 года для установления официального курса доллара используется средневзвешенное значение курса доллара США на торгах Единой торговой сессии межбанковских денежных бирж со сроком расчетов "на следующий день", сложившееся по состоянию на 11 часов 30 минут дня торгов (Информация Банка России от 14 апреля 2003 г.).
Отсюда следует, что Банком России ежедневно (по рабочим дням) устанавливает курс доллара на завтра. в 11 часов 30 минут торгового дня по среднему значению его стоимости на биржевых торгах
Подобным образом, курс евро на сегодня был установлен Банком РФ еще вчера, только по иному алгоритму. Курс евро на следующий день ориентируется не напрямую, по среднему значению на торгах в конкретное время, а на базе уже установленного курса доллара на следующий день, с учетом котировки евро к доллару США на международных валютных рынках и на межбанковском внутреннем валютном рынке.
Всего же Банк России раз в день устанавливает курсы 34 заграничных валют - все они доступны на его официальном сайте.
1.3 Постановка задачи
Целью данной дипломной работы является разработка приложения, которое позволит предсказывать валютный курс на следующий день. В первую очередь нужно показать, что данная теория жизнеспособна и построить прототип который позже, после некоторых доработок будет использоваться в компании. Для того, чтобы решение было эффективным, следует реализовать следующий подход в разработке приложения, определяющий следующие требования:
ѕ Приложение должно содержать документацию по проекту;
ѕ Интерфейс должен быть как можно проще - консольный
ѕ Должна присутствовать детальная настройка программы
ѕ Документация по возможности должна сопровождаться пояснениями;
ѕ Приложение должно сопровождаться исходным кодом. Для этого следует разработать прототип, в котором реализована работа нейронной сети с выбором предсказываемой валюты и настройкой параметров сети.
Все вышесказанное, а также сформулированные требования к приложению позволяют перейти к анализу предметной области в и разработке прототипа.
2. Анализ финансовых временных рядов
Поскольку стоимость валют растет и падает с течением времени, мы можем рассматривать эту комбинацию изменения цены / времени как финансовый временной ряд. Чапман определяет временной ряд как:
«Сборник наблюдений, сделанных последовательно во времени. Говорят, что она непрерывна, когда наблюдения производятся непрерывно во времени и дискретно, когда наблюдения проводятся в определенное время, обычно на одинаковом расстоянии».
Эти определения могут быть применены к изменениям цены закрытия курса валют по результатам торгов на валютной бирже в рублях, во времени и, следовательно, применимы доступные методы анализа и прогнозирования. Традиционные методы анализа в первую очередь касаются разложения вариаций временных рядов на компоненты, представляющие долгосрочные тенденции, сезонные и другие циклические изменения. См. рисунок 2.1 ниже.
Рис. 2.1 - Сезонные и долгосрочные изменения
После того, как эти изменения были устранены, обычно остаются дополнительные колебания.
Независимо от того, являются ли они случайными, это спорный вопрос.
Фундаментальные аналитики изучают экономические и политические особенности, все, что делает цены такими, какие они есть. Они считают, что существует слишком много случайных влияющих факторов, поэтому эти колебания должны быть ниже цены после случайного колебания. Другими словами, цена в момент времени t равна цене в точке t1 плюс некоторый случайный элемент.
Технические аналитики, с другой стороны, больше озабочены изучением самого рынка и тенденций в цене и объеме торговли.
Они используют такие методы, как автоматическое регрессивное моделирование (AR) и моделирование скользящих средних (MA), чтобы попытаться найти дополнительные более короткие тенденции в этих оставшихся данных.
AR ссылается на использование прошлых данных для самоопределения, а MA ссылается на концепцию сглаживания данных с использованием среднего значения за последние n дней.
Предполагается, что колебания цен на ценные бумаги, товарные рынки и валютные рынки невозможно предсказать. Неудивительно, что очень мало людей придерживаются этой точки зрения. Средний член общества, который следит за новостями на телевидении, не мог не заметить, что за последние несколько лет, начиная с 2001 года, состояние экономики США значительно ухудшилось. С тех пор обменный курс евро по отношению к доллару США вырос с примерно 85 центов за евро до 1 доллара 37 центов за евро (на конец 2004 года). Между тем, эксперты рынка и активные участники рынка постоянно следят за гораздо большим количеством экономических показателей, которые рассчитываются для оценки здоровья ведущих мировых экономик. Это означает, что они лучше информированы о текущих событиях, что помогает им быстрее и точно реагировать на колебания обменных курсов и, следовательно, зарабатывать большие доходы. Как правило, прогнозы, основанные на тщательном анализе экономических параметров, лежащих в основе показателей и потоках новостей, закладывают основу для так называемого фундаментального анализа.
Фундаментальный анализ - метод оценки, используемый для прогнозирования будущих колебаний обменных курсов, рассчитанных на основе экономических параметров, основных показателей и потоков новостей.
Технический анализ:
Технический анализ - метод оценки, основанный на анализе ценовых диаграмм с использованием технических индикаторов и линейных инструментов.
Кроме того, определенные шаблоны в движении цен были обнаружены посредством проб и ошибок и последовательного анализа ценовых диаграмм. Некоторые из этих образцов были обнаружены и описаны сотни лет назад. Более того, сегодня для этих моделей были определены теоретические основы. Прогнозы, выпущенные на основе ценовых диаграмм, проанализированных с помощью технических индикаторов, в совокупности называются техническим анализом.
После составления своих прогнозов участнику рынка необходимо оценить текущий статус счета в иностранной валюте, возможное количество открытых позиций, а также разработать план действий, если рынок изменится против него / нее. Затем он открывает все или часть торговых позиций, постоянно контролирует текущий статус своего счета и принимает решение либо закрыть позиции, либо открыть дополнительные позиции. Строго говоря, этот процесс под названием «Управление деньгами» - это не метод прогнозирования, но он помогает ускорить рост и уменьшить возможные потери.
Модель временных рядов - этот метод носит чисто технический характер и не основан на какой-либо экономической теории. Одним из наиболее популярных подходов к временным рядам называется процесс авторегрессионной скользящей средней (ARMA). Обоснование использования этого метода основано на идее о том, что прошлое поведение и ценовые модели могут использоваться для прогнозирования будущего ценового поведения и моделей. Данные, которые вам нужны для использования этого подхода, - это просто временной ряд данных, который затем может быть введен в компьютерную программу для оценки параметров и, по существу, создания модели для вас.
Прогнозирование обменных курсов - очень сложная задача, и именно по этой причине многие компании и инвесторы просто хеджируют свой валютный риск. Однако есть и другие, которые видят ценность в прогнозировании обменных курсов и хотят понять факторы, которые влияют на их движение. Для людей, которые хотят научиться прогнозировать обменные курсы.
2.1 Традиционная методология прогнозирования временных рядов
Бокс и Дженкинс разработали системный подход для определения моделей прогнозирования, включающих как методы AR, так и MA. Известный как Autoregressive Integrated Moving Average (ARIMA), он состоит из трех этапов: идентификация модели, оценка и валидация.
Модель статистического анализа, которая использует данные временных рядов для прогнозирования будущих тенденций. Это форма регрессионного анализа, которая направлена на то, чтобы предсказать будущие движения вдоль кажущейся случайной ходьбы, сделанной акциями и финансовым рынком, путем изучения различий между значениями в серии вместо использования фактических значений данных. Задержки дифференцированной серии называются «авторегрессией», а задержки в прогнозируемых данных называются «скользящей средней».
«Авторегрессионное интегрированное скользящее среднее - ARIMA»
Этот тип модели обычно называют ARIMA (p, d, q) с целыми числами, относящимися к авторегрессионным, интегрированным и скользящим средним частям набора данных, соответственно. Моделирование ARIMA может принимать во внимание тенденции, сезонность, циклы, ошибки и нестационарные аспекты набора данных при составлении прогнозов.
2.1.1 Идентификация модели
Первым шагом в этом процессе является определение, является ли серия стационарной и / или сезонной. Серия называется стационарной, если среднее, дисперсия и автокорреляция остаются постоянными во времени. Это означает, что серия является плоской и не трендовой. Обычный способ сделать серию стационарной - это взять различия.
Таблица 2.1 Показывает небольшой временной ряд и его изменение.
Временные ряды |
Изменение |
|
58,5382 |
0,9668 |
|
57,5714 |
0,4787 |
|
57,0927 |
0,1409 |
|
56,9518 |
-0,032 |
|
56,9838 |
0,0131 |
|
56,9707 |
0,6576 |
|
56,3131 |
0,4678 |
|
55,8453 |
-0,2341 |
|
56,0794 |
-0,1513 |
|
56,2307 |
-0,1858 |
На рисунке 2.2 ниже показан график временного ряда и его изменение. После того, как будет установлено, что ряд является стационарным, следующим этапом является анализ графиков его автокорреляционной (ACF) и частично автокорреляционной (PACF) функций. Это показатели того, как значения взаимосвязанных данных относятся друг к другу.
· ACF с большими пиками при начальных лагах, которые распадаются до нуля, или PACF с большим пиком в первом и, возможно, во втором лаге, указывает на процесс авторегрессии.
· ACF с большим пиком на первом и, возможно, на втором лагом, и PACF с большими пиками при начальных лагах, которые распадаются до нуля, указывают на процесс скользящего среднего.
· ACF и PACF, которые имеют большие всплески, которые постепенно вымирают, показывают, что присутствуют процессы авторегрессии и скользящих средних.
Рис 2.2 - График временного ряда и его первое изменение
2.1.2 Оценка
ARIMA обычно отображается в формате ARIMA (p, d, q), где p - число авторегрессионных условий, d - количество различий, а q - число скользящих средних. Следующий шаг включает оценку этих коэффициентов. В общих параметрах выбираются, а затем выполняется этап проверки. Если модель оказывается неприемлемой, проверяются новые параметры. Каждый параметр представляет собой число от 0 до 5, при этом сумма всех 3 не превышает 10.
Графики ACF и PACF: после того, как временные ряды определены как стационарные, с помощью разности, следующим шагом при подгонке модели ARIMA является определение того, необходимы ли условия AR или MA для коррекции любой автокорреляции, которая остается в разной серии. Рассматривая графики автокорреляционной функции (ACF) и частичной автокорреляции (PACF) разной серии, можно условно идентифицировать числа AR и / или MA условий, которые необходимы. График ACF: это просто гистограмма коэффициентов корреляции между временным рядом и лагами. График PACF представляет собой график коэффициентов частичной корреляции между рядами и лагами.
2.1.3 Проверка
Заключительным этапом является исследование остатков, которые являются оставшимися данными, и должно быть просто шумом.
Графики ACF и PACF остатков проверяются на наличие больших всплесков.
Если они появляются, необходимо выбрать новые параметры. После того как проверка будет признана приемлемой, модель готова к прогнозированию.
2.2 Нейронные сети
Традиционно основное внимание компьютерных вычислений было основано на создании программ, выполняющих определенные задачи с точным определением и процедурным способом. Компьютеры стали чрезвычайно быстрыми в таких задачах, как сложение чисел, и могут завершить их за долю времени, которое понадобится человеку.
Однако другие задачи, такие как распознавание речи и визуальная идентификация, которые легко выполняются людьми, не так эффективно выполняются процедурными компьютерными программами.
Чтобы понять, почему люди лучше, чем компьютеры, решаются эти задачи, нам нужно понять, как вычисления происходят в биологических системах. Центр вычислений в человеческом организме - это мозг. Архитектура мозга, а не серийный, как компьютер, имеет параллельное проектирование. Это позволяет ему одновременно обрабатывать множество различных данных, которые все должны взаимодействовать для создания решения. Помимо своей параллельной природы, одной из важнейших особенностей мозга является его способность к обучению. Вместо того, чтобы давать конкретные инструкции для каждого шага, мозг может подбирать вещи на основе предыдущего опыта.
Используя эти принципы, мы можем разработать компьютерные программы, известные как нейронные сети, которые пытаются применить мозговые решения к этим задачам.
2.2.1 Биологический нейрон
Человеческий мозг содержит около 1010 процессоров, называемых нейронами, каждый из которых связан с примерно 104 другими нейронами. На рисунке 2.3 ниже показаны два связанных нейрона.
Основными компонентами нейрона являются:
· Сома - это тело нейрона и содержит ядро клетки.
· Дендриты - это тонкие нервы, которые получают все входные сигналы в нейрон
· Аксон - этот нерв используется для вывода нейрона
· Синапсы - это специальные разъемы, соединяющие аксон одной ячейки с дендритом другой ячейки.
Рис. 2.3 - Биологический вид нейрона, аксона и синапса
Нейроны получают информацию от синапсов других нейронов в форме химических веществ, известных как нейротрансмиттеры. Это вызывает накопление электрического заряда в принимающем нейроне. Если этот заряд превышает пороговый предел, электрический импульс будет отправляться вниз по аксону для передачи другим нейронам через синапсы.
Считается, что обучение происходит, когда в синаптические соединения вносятся изменения, позволяющие высвободить более или менее нейротрансмиттеры.
2.2.2 Искусственный нейрон
Искусственный нейрон был впервые предложен Уорреном С. Маккаллохом и Уолтером Питтсом в 1943 году. Основными особенностями этой модели являются:
· Нейрон получает серию взвешенных входных сигналов
· Нейрон вычисляет суммирование его входов
· Суммирование входных значений проходит через функцию активации, которая выводит либо 0, либо 1 в зависимости от того, является ли сумма выше или ниже определенного порога.
Рис. 2.4 - Искусственный нейрон
Уклон может быть добавлен к нейрону, который обычно имеет постоянный выход -1.
Это смещение добавлено для активации активации в сторону 0. Функция активации может принимать различные формы. В самом простом случае может использоваться функция шага или функции тяжести.
Когда суммирование входных сигналов достигает порогового значения, выход становится единым.
Альтернативой ступенчатой функции является сигмоидальная функция. Сигмоидальная функция имеет следующее уравнение:
f(x) = 1+e1 -kx, (2.1)
где e - число Эйлера, k - параметр наклона.
Параметр наклона управляет градиентом сигмоида и поэтому контролирует его чувствительность. Чем меньше число, тем более чувствительна функция. Преимущество использования функции сигмоида в отличие от функции шага состоит в том, что сигмоидальная функция не оказывает такого драматического эффекта на выход. Это позволяет сети принимать большие входы и все еще остается чувствительным к небольшим изменениям. На рис. 2.5 показана разница между сигмоидной и ступенчатой функциями.
Рис. 2.5 - Сигмоидные и ступенчатые функции
Изучение в одиночных искусственных нейронах или перцептронах, как они знают, достигается путем изменения веса связей между нейронами для увеличения или уменьшения их силы.
Существует несколько доступных алгоритмов, определяющих, как следует корректировать веса, наиболее распространенным из которых является правило дельты WidrowHoff.
Это правило основывается на том, что можно вычислить разницу между целевым выходом нейрона и фактическим результатом и затем корректировать веса пропорционально этой ошибке, чтобы минимизировать ее.
2.2.3 Многослойный перцептрон и алгоритм обучения обратным распространениям
Основная проблема с одиночными перцептронами заключается в их неспособности решать простые линейно неразделимые задачи, такие как XOR. Однако, располагая персептроны в слоях, можно преодолеть эту проблему. Эта новая модель известна как многослойный перцептрон (MLP), пример которой можно увидеть на рисунке 2.6 далее. Этот MLP имеет 3 входа. Выходные данные этих входных блоков подаются вместе со смещением на 5 скрытых блоков. Эти скрытые единицы, в свою очередь, вместе с смещением подают 2 выходных блока.
К сожалению, поскольку мы не знаем выход перцептронов в скрытом слое MLP, мы не можем использовать алгоритм обучения WidrowHoff. Поэтому необходим новый алгоритм обучения. Первоначально предложенный P Werbos, а затем «вновь обнаружен» Румельхартом и др., правило обобщенной дельты или правила BackPropagation решает эти проблемы путем вычисления ошибки для конкретного ввода, а затем обратного распространения на предыдущие уровни.
Алгоритм BackPropagation состоит из двух фаз, известных как прямой проход и обратный проход. Вначале все веса и пороги MLP устанавливаются на маленькие случайные значения. Во время прямого прохода входные сигналы представлены входным нейронам. Эти входы затем передаются каждому из скрытых нейронов, который вычисляет сумму входов и их весов.
Рис. 2.6 - Многослойный персептрон
Используя следующую функцию:
(2.2)
Где w - вес входного сигнала i, а x - значение входного сигнала i.
Затем эта сумма проходит через пороговую функцию. Скрытые нейроны производят выходной сигнал, основанный на пороговой функции, которая затем передается выходным нейронам. Скрытые нейроны производят выходной сигнал, основанный на пороговой функции, которая затем передается выходным нейронам. Выходные нейроны делают свое собственное суммирование входных сигналов и весов, и это снова проходит через пороговую функцию. Вычисляется выходной сигнал выходных нейронов, который сравнивается с выходным сигналом для получения ошибки. Ошибка вычисляется следующим образом:
Ep = 21 ?(tpj ? opj)2 (2.3)
Где t - выходная мощность, а o - фактический выход.
Следующий этап - обратный проход. Это включает в себя настройку весов связей между скрытыми и выходными нейронами и входными и скрытыми нейронами для сведения к минимуму ошибки.
Выход нейрона основан на его пороговой функции, поэтому производная от его пороговой функции может быть использована для передачи ошибки обратно на предыдущий уровень.
Функция, используемая для расчета новых весов, следующая:
wij(t +Д =t) wij(t) = здpj pjo +б(wij(t)? wij(t ?1)) (2.4)
· opj - выход входного нейрона.
· д pj - термин ошибки.
Для блоков вывода.
дpj = kopj(1 ? opj)(tpj ? opj) (2.5)
Для скрытых единиц, где сумма находится по n нейронам в слое над нейроном j.
(2.6)
· з Уровень обучения. Это число от 0 до 1, которое контролирует размер корректировок, внесенных в веса. Небольшое число означает, что сети может потребоваться много времени, чтобы учиться. Большое число позволит сети учиться быстрее, но может потенциально подтолкнуть сеть к локальному минимуму.
· б - Импульс. Это также число от 0 до 1, которое при использовании в сочетании с небольшим коэффициентом обучения может помочь ускорить схождение.
Поскольку набор данных, который мы используем, состоит из временного ряда, нам нужен некоторый способ представления времени в нашей сети. Мы будем предварительно обрабатывать время, выполняя временное преобразование в пространстве. Пространственная информация будет передаваться в сеть, которая содержит представление времени.
Для достижения этого мы передаем «скользящее окно» по нашим данным. В любой момент времени t для n входов и шага времени ф входные значения будут t, t ф, t 2 ф .... T n ф. Целевой результат будет t + ф. На каждом временном шаге значения узлов сдвигаются вниз, а одна - в конце. Затем новое значение добавляется в первый узел. См. Рисунок 2.7 ниже.
Рис. 2.7 - Преобразование времени в пространство.
2.2.4 Нейронная сеть с задержкой по времени
Нейронные сети с временной задержкой (TDNN), еще один подход к классификации данных, набрали силу в последние годы. Он очень хорошо работает во временных рядах и поэтому интересен для широкого спектра приложений, таких как прогнозирование на фондовом рынке, анализ последовательности изображений и распознавание речи. Кроме того, он обеспечивает одно существенное преимущество по сравнению с деревьями решений: его можно более эффективно реализовать на встроенных системах.
Основная проблема с представлением времени, как обсуждалось выше, заключается в неспособности сети распознавать тот же самый шаблон, сдвинутый во времени.
Если мы рассмотрим двоичный шаблон 0011100100 в момент времени t, соответствующий шаблон в момент времени t + 2 ф может быть 0000111001. MLP с временной пространственной трансформацией рассматривал бы их как две совершенно разные модели.
Нейронная сеть задержки времени (TDNN), описанная Lang et al, может фиксировать эту трансляционную инвариантность. На рисунке 2.8 показан пример такого типа сети.
Рис. 2.8 - Временная нейронная сеть задержки
Каждый входной и скрытый узел в TDNN сохраняет фиксированную сумму предыдущих значений, величина которых зависит от длины задержки.
TDNN использует стандартный алгоритм обучения Back Propagation с небольшим изменением:
· Все значения для каждого узла используются для подачи узлов на следующем уровне.
· Весовые изменения рассчитываются для каждого значения каждого узла и берется среднее.
· Все веса для каждого узла затем обновляются до одного значения для достижения инвариантности.
«Скользящее окно» также будет использоваться совместно с сетью для подачи данных.
2.2.5 Рекуррентная нейронная сеть
Использование фиксированного числа задержек, количество которых заранее установлено, может, однако, накладывать ограничение на длину шаблонов, которые могут быть изучены. Кроме того, каждая задержка может рассматриваться в определенной степени как независимый узел. Если используется большое количество задержек, это может значительно увеличить время, необходимое для обучения. Рекуррентная нейронная сеть (RNN) является альтернативой TDNN, которая работает по принципу, что время и память очень зависимы от задач, поэтому сети должны иметь возможность создавать свое собственное представление, вместо того, чтобы фиксировать их.
Эти сети имеют дополнительный набор узлов под названием Context Neurons. На каждом временном шаге текущее значение скрытых единиц копируется в соответствующие контекстные единицы. Доля предыдущего значения контекстной единицы также используется для предоставления ее нового значения. Размер этой пропорции известен как глубина памяти. Для расчета этого нового значения используется следующее уравнение:
Ci(t +1 = б) Ci(t)+ Hi(t), (2.6)
Где C - единица контекста, H - скрытая единица, а б - доля.
Это значение затем подается в сеть на следующем временном шаге вместе с новыми входами из скользящего окна. На рисунке 2.9 показан аналогичный макет для RNN, который используется в этом проекте.
Алгоритм обучения обратного распространения также может быть использован для регулировки веса.
Рис. 2.9 - Рекуррентная нейронная сеть
В отличие от традиционной глубокой нейронной сети, которая использует разные параметры на каждом уровне, RNN имеет одинаковые параметры на всех этапах. Это отражает тот факт, что мы выполняем одну и ту же задачу на каждом шаге, используя только разные входы. Это значительно уменьшает общее количество параметров, которые нам нужно изучить.
Вышеприведенная диаграмма имеет выходы на каждом временном шаге, но в зависимости от задачи это может и не понадобиться. Например, при прогнозировании предложения предложения мы можем заботиться только о конечном выходе, а не о настроении после каждого слова. Аналогично, нам может не потребоваться ввод данных на каждом временном шаге. Основной особенностью RNN является его скрытое состояние, которое фиксирует некоторую информацию о последовательности.
Учитывая последовательность чисел, мы хотим предсказать вероятность каждого числа, учитывая предыдущие числа. Побочным эффектом, позволяющим предсказать следующее число, является то, что мы получаем генеративную модель, которая позволяет нам генерировать новое число путем выборки из вероятностей вывода. И в зависимости от того, что наши данные обучения, мы можем генерировать всевозможные вещи. В языковом моделировании наш вход обычно представляет собой последовательность чисел, а наш вывод представляет собой последовательность предсказанных чисел. При обучении сети мы устанавливаем , так как мы хотим, чтобы результат на шаге t был фактическим следующим числом.
нейронный сеть интеллект валюта
3. Разработка приложения
3.1 Рабочее окружение
Для разработки приложения требуется настройка рабочего окружения. Так как мы выбрали язык программирования Java у нас есть выбор между 2мя средами для разработки - Intellij IDEA и NetBeans. Учитывая, что среда Intellij IDEA имеет неоспоримые преимущества в виде интеллектуального авто-дополнения кода и генерации диаграммы классов используя исходные файлы на языке Java.
Для создания кода было принято решение использовать среду Intellij IDEA. Это интегрированная среда, которая позволяет вести разработку программного обеспечения практически на всех языках программирования, в том числе Java, JavaScript, Python. Среда Intellij IDEA была разработана компанией JetBrains. Если сравнивать среду IDEA с остальными средами IDE, то преимуществом является то, что она обеспечивает полную поддержку последних стандартов языка программирования Java, сопутствующих инструментов и технологий экосистемы Java. Так же IDEA является первой бесплатной средой IDE, поддерживающей JDK 8, JDK 7, Java EE 7. А также отлично поддерживает работу с фреймворками Spring, Hibernate и интегрирована с различными системами сборки.
Для контроля версий выбрана система Git. Эта система отвечает требованиям процесса разработки и интегрированная в нашу среду разработки Idea с помощью специально предназначенного для этого плагина, что упрощает работу.
С помощью JavaDocs происходит ведение документации. Стало быть, для того что бы получить хорошую документацию к программе, необходимо затратить немного усилий на оформлении комментариев. На выходе получается веб-страница формата HTML, которую можно просмотреть с помощью любого веб-браузера. Качественно составленная документация к программе позволяет лучше разобраться в структуре программы, используемых классах, функциях.
Рис. 3.1 - Вид рабочего окна IDEA
Для документирования классов, интерфейсов, полей (переменных), конструкторов и методов применяются комментарии документации.
Разработка и проектирование системы велась в соответствии с методологией RUP, которая состоит из нескольких этапов:
Первым этапом является детальное описание большинства вариантов использования;
Вторым - разработка архитектуры системы;
Третьим - определение модели системы;
Четвертым - определение требуемых ресурсов;
Последним - определение целесообразности выполнения проекта;
Так как, часть деталей проектирования системы были описаны ранее, то все этапы проектирования сейчас описаны не будут.
Главное - определить основные параметры и построить работающий прототип.
Диаграмма классов, спроектированная средствами Intellij IDEA, графически представлена с использованием языка UML. UML является языком графического описания, используемый для объектного моделирования в области разработки программного обеспечения, и языком широкого профиля, это - открытый стандарт, который использует графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования, в основном, программных систем.
UML используется не только для моделирования программного обеспечения, а также для моделирования бизнес-процессов, системного проектирования организационных структур и баз данных.
Разработчикам программного обеспечения UML позволяет достигнуть соглашения в графических обозначениях, которые используются для представления общих понятий, и сконцентрировать все внимание на проектировании и архитектуре.
Преимущества UML:
? UML является объектно-ориентированным;
? UML позволяет описывать систему практически со всех возможных точек зрения и разных аспектов поведения системы;
? После довольно беглого изучения синтаксиса UML, диаграммы для чтения достаточно просты;
? UML расширяет и позволяет вводить собственные текстовые и графические стереотипы, это способствует его применению не только в сфере программной инженерии;
UML получил обширное распространение и активно развивается.
В настоящее время популярны три системы сборки: Ant, Maven и Gradle. Для этого проекта была выбрана система сборки Maven.
3.1.1 Система сборки Maven
Maven является инструментом для выполнения сборки Java проекта, а именно компиляции исходных файлов, создания jar-файла, генерации дистрибутива программы и документации. В основном с помощью командной строки собирают простые проекты. Для того чтобы собирать большие проекты с командной строки, необходима очень длинная команда или несколько команд для сборки, поэтому изредка ее записывают в bat/sh скрипт. Однако такие скрипты на прямую зависят от операционной системы: для семейства Windows систем - bat, а для UNIX подобных систем - sh. Инструменты для сборки проекта используются для того чтобы избавиться от этой зависимости и упростить написание скрипта.
Основные преимущества системы Maven:
ѕ Независимость от операционной системы. Сборка проекта осуществляется в любой операционной системе, при этом файл проекта не изменяется.
ѕ Возможность управление зависимостями. Проекты без применения сторонних библиотек (зависимостей) пишутся редко. Такие библиотеки нередко в свой черед обращаются к библиотекам разных версий. Система Maven делает возможным управление такими сложными зависимостями. Это дает возможность разрешать конфликты версий и при необходимости без особых усилий переходить на недавно появившиеся версии библиотек.
ѕ Возможна сборка напрямую из командной строки. Необходима она для автоматической сборки проекта на сервере (Continuous Integration).
...Подобные документы
Аннуитетная схема погашения кредита. Клиент-серверные сообщения, их обработка. Хранение данных, структура базы. Алгоритм формирования цен и курса валют. Визуализация данных на стороне клиента. Результат обработки стратегии. Система администрирования.
дипломная работа [745,8 K], добавлен 08.12.2013Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.
курсовая работа [501,4 K], добавлен 07.12.2016Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Отладка программных модулей с использованием специализированных программных средств. Тестирование программного обеспечения. Оптимизация программного кода.
курсовая работа [974,0 K], добавлен 21.12.2016Практические аспекты использования прикладного программного обеспечения при разработке базы данных "Аудиторный фонд ГБОУ СПО "Старооскольский педагогический колледж". Системы управления базами данных. Описание и функциональные возможности приложения.
курсовая работа [360,4 K], добавлен 07.10.2014Обзор существующих объектных архитектур. Архитектура программного обеспечения. Создание веб-сервиса "Библиотека", предоставляющего механизмы работы с данными на стороне клиентского приложения. WEB-сервис и трехуровневая архитектура в основе приложения.
лабораторная работа [1,5 M], добавлен 16.06.2013Анализ правил выбора хода на шахматной доске К. Шеннона. Характеристика программного модуля искусственного интеллекта для игры в шахматы. Контроль времени, поиск лучшего хода в шахматных алгоритмах. Разработка программы для игры с компьютерным оппонентом.
дипломная работа [3,7 M], добавлен 07.07.2012Общие принципы работы систем биометрической идентификации личности. Программные инструменты для разработки приложения, осуществляющего идентификацию пользователя на основе его клавиатурного почерка. Проектирование базы данных и структуры нейронной сети.
дипломная работа [1,3 M], добавлен 20.12.2013Разработка подсистемы отдела кадров, предназначенной для работы с базой данных в виде типизированного файла с расширением txt. Анализ возможности редактировать записи, осуществления выборки данных на основе правил отбора и построения графиков и диаграмм.
контрольная работа [125,3 K], добавлен 08.06.2011Рассмотрение методических особенностей изучения курса "Macromedia Flash" и создание электронного учебника для изучения этого курса учащимися. Достоинства и недостатки, структура учебного пособия. Принципы подготовки к созданию электронных учебников.
дипломная работа [1,9 M], добавлен 23.04.2015Анализ и разработка информационной системы, структура сети предприятия. Описание процесса разработки конфигураций и выявление потребностей в автоматизации функций. Средства разработки проектирования и архитектура базы данных. Разработка модели угроз.
дипломная работа [1,4 M], добавлен 13.07.2011Этапы разработки технического задания. Спецификация программного обеспечения при структурном подходе. Дерево диаграмм, базовые понятия сетевой модели данных. Разработка пользовательского интерфейса. Разработка сценария диалога на основе экранных форм.
курсовая работа [2,0 M], добавлен 24.06.2012Проектирование логической схемы данных для предметной области, физической модели базы данных. Разработка алгоритмов функциональных модулей программного приложения. Принципы тестирования спроектированного программного обеспечения, анализ эффективности.
курсовая работа [926,7 K], добавлен 20.05.2015Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.
дипломная работа [1,4 M], добавлен 03.06.2014Анализ административного программного обеспечения локальной сети. Структура сетевых операционных систем. Планирование и сетевая архитектура локальной сети. Использование сетевых ресурсов на примере предприятия, предоставляющего услуги Интернет-провайдера.
контрольная работа [112,5 K], добавлен 15.12.2010Сущность и проблемы определения искусственного интеллекта, его основных задач и функций. Философские проблемы создания искусственного интеллекта и обеспечения безопасности человека при работе с роботом. Выбор пути создания искусственного интеллекта.
контрольная работа [27,9 K], добавлен 07.12.2009Разработка программного обеспечения, предназначенного для автоматизации деятельности туристической фирмы. Анализ и проектирование базы данных предметной области. Создание концептуальной, логической и физической моделей данных и программы их обработки.
курсовая работа [816,5 K], добавлен 05.02.2018Методика исследования и анализа средств аудита системы Windows с целью обнаружения несанкционированного доступа программного обеспечения к ресурсам вычислительных машин. Анализ угрозы информационной безопасности. Алгоритм работы программного средства.
дипломная работа [2,9 M], добавлен 28.06.2011Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Концептуальная модель программного продукта "Оценка вариантов формирования транспортной сети Азиатской России". Структура базы данных. Возможности программы, схема работы. Модуль работы с проектом и картографическим окружением. Руководство пользователя.
дипломная работа [3,4 M], добавлен 08.12.2013