Разработка системы анализа и прогнозирования динамики рынка ценных бумаг с помощью методов машинного обучения
ВВЕДЕНИЕ
Прогнозирование всегда было, есть и будет важным процессом, требующим привлечения самых передовых методов и средств, доступных на текущем этапе развития науки и техники. На сегодня во всех сферах жизни общества активно используется компьютерная техника, поэтому применять их для решения задач прогнозирования представляется вполне логичной и актуальной задачей. При этом для того, чтобы указать следующее во времени (обычно – в ближайшем будущем, хотя существуют и долгосрочные прогнозы) значение какой-либо величины, существует несколько сценариев. Наиболее часто встречается на практике анализ предыдущих значений этой же величины, то есть рассмотрение временного (временной – ударение на последний слог) ряда ее значений. Чаще всего на практике рассмотрению подлежат временные ряды экономических и финансовых величин, например, курсы валют относительно друг друга, а также стоимость ценных бумаг или других активов (грамм золота, баррель нефти и т.п.). На сегодня выработано значительное количество методов прогнозирования на основе временных рядов, причем многие из них являются параметрическими с большим количеством гибко настраиваемых параметров. Отсюда следует, что назвать какой-либо один метод прогнозирования значений временного ряда самым лучшим не представляется возможным. Для каждого отдельного случая требуется проведение специальных исследований, позволяющих установить эффективный метод прогнозирования и его параметры. Выполнять такие действия вручную совершен
СОДЕРЖАНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ 6
ВВЕДЕНИЕ 7
1 АНАЛИЗ СОВРЕМЕННЫХ УСЛОВИЙ ПРИМЕНЕНИЯ МЕТОДОВ МАИННОГО ОБУЧЕНИЯ ДЛЯ ЗАДАЧ ПРОГНОЗИРОВАНИЯ КУРСОВ ЦЕННВХ БУМАГ 9
1.1 Понятие временных рядов экономических показателей рынка ценных бумаг 9
1.2 Суть задачи прогнозирования и возможные варианты ее постановки 12
1.3 Анализ существующих методов прогнозирования, в т. ч. относящихся к отрасли искусственного интеллекта и машинного обучения 18
1.4 Анализ научных публикаций, посвященных вопросам прогнозирования экономических показателей на основе методов машинного обучения 29
1.5 Анализ нерешенных участков рассматриваемой проблемы прогнозирования показателей рынка ценных бумаг и формирование задания на разработку в рамках данной работы 32
Выводы по главе 1 33
2 РАЗРАБОТКА ПРОЕКТНЫХ РЕШЕНИЙ ДЛЯ СОЗДАНИЯ СИСТЕМЫ АНАЛИЗА И ПРОГНОЗИРОВАНИЯ ДИНАМИКИ РЫНКА ЦЕННЫХ БУМАГ НА ОСНОВЕ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ 34
2.1 Выбор, адаптация и разработка основных алгоритмов работы создаваемой системы 34
2.2 Обоснование выбора архитектуры программного обеспечения, реализующего систему прогнозирования рынка ценных бумаг 46
2.3 Выбор необходимых технологий разработки программного обеспечения 49
2.4 Анализ инструментальных средств для реализации разрабатываемой системы анализа и прогнозирования 54
2.4.1 Выбор языка программирования для реализации обозначенных технологий 54
2.4.2 Выбор интегрированной среды разработки 57
Выводы по главе 2 61
3 ОСОБЕННОСТИ РЕАЛИЗАЦИИ СИСТЕМЫ АНАЛИЗА И ПРОГНОЗИРОВАНИЯ ДИНАМИКИ РЫНКА ЦЕННЫХ БУМАГ НА ОСНОВЕ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ 62
3.1 Прототипирование интерфейса пользователя разрабатываемой системы анализа и прогнозирования 62
3.2 Описание программной реализации существенных элементов алгоритмической составляющей разрабатываемой системы 65
3.3 Тестирование разработанного программного обеспечения 71
3.3.1 Обоснование выбора методики тестирования 71
3.3.2 Общее описание результатов тестирования 80
3.3.3 Примеры использования разработанного программного обеспечения 82
3.4 Оценка показателей эффективности разработанного программного обеспечения 84
3.5 Разработка элементов документационного обеспечения разработанного программного обеспечения 85
Выводы по главе 3 86
ЗАКЛЮЧЕНИЕ 87
СПИСОК ЛИТЕРАТУРЫ 89
ПРИЛОЖЕНИЕ 92
СПИСОК ЛИТЕРАТУРЫ
1. Айвазян С.А. Прикладная статистика и основы эконометрики / Айвазян С.А. - Мхитарян В.С -М.: ЮНИТИ, 1998. – 1000с
2. Бенинг В.Е. Некоторые статистические задачи, связанные с распределением Лапласа // Бенинг В.Е. - Королев В.Ю. – 2008. – Т. 2. – №. 2. – С. 19-34.
3. Боровков А.А. Математическая статистика. / Боровков А.А - СПб.: Издательство «Лань», 2010. – 704 с.
4. Ван-дер-Варден Математическая статистика. Перевод с немецкого. / Ван-дер-Варден Математическая - М.: Издательство иностранной литературы, 1960. – 436 с.
5. Громыко Г.Л. Теория статистики: Практикум. / Громыко Г.Л — М.: ИНФРА-М, 2008. – 241 с.
6. Елисеева И.И. Общая теория статистики. / Елисеева И.И. - Юзбашев М. М. - М.: Финансы и статистика, 2004. – 653 с.
7. Закс Л. Статистическое оценивание. Перевод с немецкого. / Закс Л - М.: Статистика, 1976. – 600 с.
8. Иванов Ю.Н. Экономическая статистика. 2-е изд., доп. / Иванов Ю.Н — М.: ИНФРА-М, 2002. – 450 с.
9. Калинина В.Н., Панкин В.Ф. Математическая статистика: Учеб. для студ. сред. спец. учеб. заведений. – 4-е изд. –М.: Дрофа, 2002. -336 с.
10. Кобзарь А. И. Прикладная математическая статистика. Для инженеров и научных работников / А.И. Кобзарь. - М.: ФИЗМАТЛИТ, 2006. - 816 с.
11. Колемаев В.А. Теория вероятности и математическая статистика. / Колемаев В.А. - Калинина В.Н – М.: ИНФРА-М, 1997. – 302 с.
12. Кольцов Д.А. Обозрение прикладной и промышленной математики. / Кольцов Д.А. - Сердобольская М.Л 2009. 16, №1. – 207 с.
13. Королюк В.С. Справочник по теории вероятностей и математической статистике. / Королюк В.С. - Портенко Н.И. - Скороход А.В. - Турбин А.Ф. – М.: Наука, 1985. – 640 с.
14. Лагутин М.Б. Наглядная математическая статистика. / Лагутин М.Б. - М.: ООО «Фирма П-центр», 2003. – 462 с.
15. Леман Э. Проверка статистических гипот
Для озвученных выше задачи и их особенностей допустимо использование как специализированных математических пакетов (например, среды MathCad), так и языков программирования общего назначения (или в другой терминологии – языков высокого уровня, ЯВУ). Одним из чрезвычайно популярных современных ЯВУ является язык Python, который и выбираем основным средством реализации программного продукта в данной работе. Рассмотрим его особенности подробнее.
Python (читают как «пайтон» или «питон») – это относительно молодой язык программирования общего назначения. Это значит, что писать на этом языке можно все, что угодно. Разработчиками Python отмечается, что именно ядро языка чрезвычайно компактно (этим обеспечивается относительно высокая скорость программ, написанных на Python), но его сопровождают стандартные библиотеки с широкими функциональными возможностями (а это позволяет