Разработка прототипа информационной системы прогнозирования финансовых временных рядов
Проектирование прототипа информационной системы, направленной на прогнозирование финансовых временных рядов. Требования, предъявляемые к ИС. Методы использования алгоритмов прогнозирования, полос Боллинджера, комбинаций и осцилляторов скользящих средних.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 28.10.2019 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
4.1 Диаграмма классов
Классы и методы подробно описаны в Техническом задании (приложение А). Для того чтобы связать WinForms MS Visual Studio c RScript необходим класс Connector. Данный класс представляет собой модуль, инициирующий запуск RScript по нажатию на кнопку WinForm и возвращающий результат применения методов машинного обучения. Диаграмма классов представлена на рис. 4.1.
Рисунок 4.1 Диаграмма классов
4.2 Проектирование главной формы
Приложение состоит из Windows Forms. Основная форма содержит кнопки для вызова соответствующего функционала и окно для ввода горизонта вывода графиков. Также предусмотрены проверки для корректной работы приложения, т.е. пока не введены данные, у пользователя нет возможности построить графики, задать горизонт, применить алгоритмы ML.
После загрузки данных, доступна кнопка вывода загруженных и обогащенных данных. На этапе загрузки, происходит обогащение данных и запись данных в файл формата «.csv». Ниже, на рис. 4.2 представлен скриншот главной формы прототипа ИС.
Рисунок 4.2 Главная форма прототипа ИС
4.3 Загрузка и сохранение данных
После загрузки данных становится доступна кнопка вывода данных. Вывод данных осуществляется в отдельное окно (отдельную форму) в элемент DataTable. Ниже на рис. 4.3-4.4 представлены скриншоты главной формы и вывода данных прототипа ИС.
Рисунок 4.3 Главная форма после загрузки данных
Рисунок 4.4 Форма вывода загруженных и обогащенных данных
4.4 Применение методов ML
При загрузке прототипа ИС открывается два окна: окно главной формы и окно загрузки обогащенных данных для применения методов ML. Соответственно необходимо для применения методов ML после загрузки данных открыть во втором окне файл с обогащенными данными. Далее параллельно будут выполняться алгоритмы ML. Ниже, на рис. 4.5, представлен скриншот окна загрузки обогащенных данных:
Рисунок 4.5 Окно загрузки обогащенных данных для выполнения методов ML
Рисунок 4.6 Главная форма с результатами выполнения алгоритмов ML
После выполнения алгоритмов ML, данные с результатом будут автоматически сохранены в файл формата «.csv». Для отображения результатов необходимо на главной форме нажать кнопку «Применить машинное обучение», при нажатии происходит загрузка файла с результатами и вывод результатов на главную форму. Пример вывода результатов применения алгоритмов машинного обучения представлен на рис. 4.6.
4.5 Построение графиков
Для того чтобы построить графики, необходимо сначала загрузить данные, далее вывести загруженные и обогащенные данные. После этого для ввода станет доступен элемент, определяющий горизонт построения графиков. В элемент можно ввести только целые числа. При значениях меньше единицы, кнопки построения графиков блокируются. Пример главной формы с вводом горизонта представлен ниже на рис. 4.7.
Рисунок 4.7 Главная форма с вводом горизонта
Ниже, на рис. 4.7 представлена главная форма с тремя графиками. Каждый график открывается в отдельном окне. На примере задан горизонт 30 дней. На рис. 4.8-4.11 представлены формы с выводом графиков.
Рисунок 4.8 Скриншот главной формы с формами графиков
Рисунок 4.9 Скриншот формы графика скользящих средних
Рисунок 4.10 Скриншот формы графика полос Боллинджера
Рисунок 4.11 Скриншот формы графика осцилляторов скользящих средних
4.6 Тестирование
После проектирования прототипа ИС, необходимо провести тестирование. Тестирование проводилось на различных временных интервалах (с различным горизонтом), с различными настройками алгоритмов ML. Наиболее эффективным горизонтом прогнозирования является горизонт 2 года. Обучение модели (обучающая выборка) проводилось на данных 2016-2017 гг. В ходе тестирования прогнозировались цены с 1 января 2018 года по 31 января 2018 года. Результаты прогнозирования представлены ниже в табл. 4.1:
Таблица 4.1
Результаты тестирования прототипа ИС
Дата |
Прогнозируемый результат |
Прогнозируемый результат |
СРЗНАЧ |
Реальный результат |
MAPE |
MAPE |
MAPE |
Точность прогноза в % |
|||
Градиентный бустинг |
Линейная регрессия |
Градиентный + Линейная |
Градиентный бустинг |
Линейная регрессия |
СРЗНАЧ |
Градиентный бустинг |
Линейная регрессия |
СРЗНАЧ |
|||
01.01.2018 |
14261,10 |
12842,80 |
13551,95 |
13444,88 |
6,07 |
4,48 |
0,80 |
93,93 |
95,52 |
99,20 |
|
02.01.2018 |
13743,90 |
13457,10 |
13600,50 |
14754,13 |
6,85 |
8,79 |
7,82 |
93,15 |
91,21 |
92,18 |
|
03.01.2018 |
14332,00 |
14145,20 |
14238,60 |
15156,62 |
5,44 |
6,67 |
6,06 |
94,56 |
93,33 |
93,94 |
|
04.01.2018 |
14854,60 |
15221,00 |
15037,80 |
15180,08 |
2,14 |
0,27 |
0,94 |
97,86 |
99,73 |
99,06 |
|
05.01.2018 |
15481,90 |
15428,60 |
15455,25 |
16954,78 |
8,69 |
9,00 |
8,84 |
91,31 |
91,00 |
91,16 |
|
06.01.2018 |
16478,00 |
16421,20 |
16449,60 |
17172,30 |
4,04 |
4,37 |
4,21 |
95,96 |
95,63 |
95,79 |
|
07.01.2018 |
17928,70 |
17501,60 |
17715,15 |
16228,16 |
10,48 |
7,85 |
9,16 |
89,52 |
92,15 |
90,84 |
|
08.01.2018 |
15893,10 |
16744,40 |
16318,75 |
14976,17 |
6,12 |
11,81 |
8,96 |
93,88 |
88,19 |
91,04 |
|
09.01.2018 |
14736,80 |
15159,30 |
14948,05 |
14468,50 |
1,85 |
4,77 |
3,31 |
98,15 |
95,23 |
96,69 |
|
10.01.2018 |
14916,50 |
14056,20 |
14486,35 |
14919,49 |
0,02 |
5,79 |
2,90 |
99,98 |
94,21 |
97,10 |
|
11.01.2018 |
14920,20 |
14162,30 |
14541,25 |
13308,06 |
12,11 |
6,42 |
9,27 |
87,89 |
93,58 |
90,73 |
|
12.01.2018 |
13808,30 |
13591,90 |
13700,10 |
13841,19 |
0,24 |
1,80 |
1,02 |
99,76 |
98,20 |
98,98 |
|
13.01.2018 |
13862,20 |
13183,10 |
13522,65 |
14243,12 |
2,67 |
7,44 |
5,06 |
97,33 |
92,56 |
94,94 |
|
14.01.2018 |
13866,40 |
13986,40 |
13926,40 |
13638,63 |
1,67 |
2,55 |
2,11 |
98,33 |
97,45 |
97,89 |
|
15.01.2018 |
13613,70 |
13925,40 |
13769,55 |
13631,98 |
0,13 |
2,15 |
1,01 |
99,87 |
97,85 |
98,99 |
|
16.01.2018 |
13520,10 |
13605,40 |
13562,75 |
11282,49 |
19,83 |
20,59 |
20,21 |
80,17 |
79,41 |
79,79 |
|
17.01.2018 |
13176,90 |
12364,90 |
12770,90 |
11162,70 |
18,04 |
10,77 |
14,41 |
81,96 |
89,23 |
85,59 |
|
18.01.2018 |
11498,20 |
11216,60 |
11357,40 |
11175,52 |
2,89 |
0,37 |
1,63 |
97,11 |
99,63 |
98,37 |
|
19.01.2018 |
12263,50 |
11340,50 |
11802,00 |
11521,76 |
6,44 |
1,57 |
2,43 |
93,56 |
98,43 |
97,57 |
|
20.01.2018 |
11950,90 |
11715,40 |
11833,15 |
12783,94 |
6,52 |
8,36 |
7,44 |
93,48 |
91,64 |
92,56 |
|
21.01.2018 |
13872,20 |
12782,60 |
13327,40 |
11549,93 |
20,11 |
10,67 |
15,39 |
79,89 |
89,33 |
84,61 |
|
22.01.2018 |
12653,70 |
12802,80 |
12728,25 |
10814,52 |
17,01 |
18,39 |
17,70 |
82,99 |
81,61 |
82,30 |
|
23.01.2018 |
11612,60 |
11551,00 |
11581,80 |
10858,23 |
6,95 |
6,38 |
6,66 |
93,05 |
93,62 |
93,34 |
|
24.01.2018 |
11785,00 |
11132,30 |
11458,65 |
11429,02 |
3,11 |
2,60 |
0,26 |
96,89 |
97,40 |
99,74 |
|
25.01.2018 |
11370,50 |
11625,80 |
11498,15 |
11175,87 |
1,74 |
4,03 |
2,88 |
98,26 |
95,97 |
97,12 |
|
26.01.2018 |
12277,80 |
11712,20 |
11995,00 |
11104,20 |
10,57 |
5,48 |
8,02 |
89,43 |
94,52 |
91,98 |
|
27.01.2018 |
11647,30 |
11460,20 |
11553,75 |
11459,71 |
1,64 |
0,00 |
0,82 |
98,36 |
100,00 |
99,18 |
|
28.01.2018 |
11046,90 |
11575,60 |
11311,25 |
11767,74 |
6,13 |
1,63 |
3,88 |
93,87 |
98,37 |
96,12 |
|
29.01.2018 |
11950,70 |
11890,40 |
11920,55 |
11233,95 |
6,38 |
5,84 |
6,11 |
93,62 |
94,16 |
93,89 |
|
30.01.2018 |
11546,00 |
11710,70 |
11628,35 |
10107,26 |
14,23 |
15,86 |
15,05 |
85,77 |
84,14 |
84,95 |
|
31.01.2018 |
10836,20 |
10748,90 |
10792,55 |
10226,86 |
5,96 |
5,10 |
5,53 |
94,04 |
94,90 |
94,47 |
|
Средняя точность прогноза |
93,03 |
93,49 |
93,55 |
||||||||
Максимальная точность прогноза |
99,98 |
100,00 |
99,74 |
||||||||
Минимальная точность прогноза |
79,89 |
79,41 |
79,79 |
||||||||
*MAPE (Mean absolute percentage error) -средняя абсолютная ошибка |
Таким образом, средняя точность прогноза, согласно индексу MAPE (mean absolute percentage error) применения линейной регрессии и градиентного бустинга составили 93,49% и 93,03% соответственно. Средне значение результата применения алгоритмов линейной регрессии и градиентного бустинга дает более высокий процент точности равный 93,55%.
Индекс MAPE - довольно популярный метод определения точности построенной модели, представлен ниже в формуле 5%
(5)
где: Z(t) - фактическое значение временного ряда.
- прогнозное значение временного ряда.
N - Количество элементов прогнозируемых значений.
Под поставленную цель можно считать это вполне достойным результатом, поскольку ИС рассматривается как поддержка принятия решений, а не как база для торгового бота. К тому же, если рассматривать данные, можно увидеть, что максимальные отклонения в точках, где произошёл большой скачек. Скорее всего этот скачек обусловлен сильной новостью. При этом при обогащении используются методы, имеющие лаг в 1 день. Следовательно, как и предполагалось, программа не способна принимать во внимание фундаментальный анализ и быстро реагировать под изменившиеся условия рынка.
В дальнейшем планируется увеличить точность результатов путем добавления новых методов обогащения данных, не имеющих лагов в своем алгоритме. Также предполагается поработать с данными, применить сглаживание, обогатить дополнительными данными и так далее.
Выводы по главе 4
Был описан процесс проектирования информационной системы прогнозирования финансовых временных рядов. Пошагово описаны процессы создания форм и их функционала. Также было проведено тестирование прототипа информационной системы. Согласно результатам тестирования средняя точность прогноза составляет 93,55%. Данный результат можно считать достойным, поскольку ИС рассматривается как поддержка принятия решений, а не как база для торгового бота.
Заключение
Использование информационных систем само по себе может не приносить прямых экономических выгод, однако, безусловно, является действенным механизмом повышения эффективности деятельности компании, или отдельного человека благодаря которой, в свою очередь, достигаются финансовые результаты.
В данной работе были рассмотрены временные ряды, их виды, правила по которым строятся временные ряды. Анализ теоретической литературы временных рядов помог определиться с методами их прогнозирования. Таким образом, были определены методы прогнозирования, описана теория данных методов, написано Техническое задание в соответствии с ГОСТ 34-602.89 а также разработан прототип ИС и проведено тестирование, на основании которого были сделаны соответствующие результаты.
Результатом работы является прототип ИС, дающий прогноз значения закрытия торгов последующего дня с точностью равной 93,55%. Следует отметить, что программу дающую такое отклонение нельзя использовать как единственный инструмент для торгов. Но логично и полезно использовать как дополнительный инструмент для прогнозирования цен и анализа рынка.
В дальнейшем планируется улучшить полученные результаты путем применения дополнительных алгоритмов прогнозирования, более глубокой обработкой данных, обогащения данных новыми методами, которые, в идеале, привели бы к отсутствию дневного лага при прогнозе данных.
Библиографический список
1. Технический анализ [Электронный ресурс]
2. Бурцева Е.В. Информационные системы // И.П. Рак, А.В. Серезнев, А.В. Терехов, В.Н. Чернышов. Издательство ТГТУ 2009, - 87c.
3. Временной ряд. [Электронный ресурс]
4. В.А. Дюк, В.В. Фомин Прогнозирование временных рядов на основе методов Data Mining. Санкт-Петербургский институт информатики и автоматизации РАН 199178, Санкт-Петербург, 14 линия, 39. 2009, - 4c.
5. Афанасьев В.Н., Юзбашев М.М. Анализ временных рядов и прогнозирование - М., Финансы и статистика, Инфра-М, 2010.
6. Прогнозирование финансовых временных рядов с MLP в Keras [Электронный ресурс]
7. Орлов Ю.Н., Осминин К.П. Нестационарные временные ряды. Методы прогнозирования с примерами анализа финансовых и сырьевых рынков - М., Либроком, 2011.
8. Методы анализа временных рядов: сглаживание [Электронный ресурс]
9. Прогнозирование временных рядов [Электронный ресурс]
10. Кондратьева Т.Н. Прогнозирование тенденции финансовых временных рядов с помощью нейронной сети // Интернет-журнал Науковедение. 2017. №4 (41)
11. Болдыревский П.Б., Кистанова Л.А. Модели прогнозирования основных показателей инновационной деятельности промышленных предприятий // Экономический анализ: теория и практика. 2014. №29 (380)
12. Меркулова В.С. Модель прогнозирования финансовых временных рядов в условиях гипотезы эффективного рынка // Среднерусский вестник общественных наук. 2009. №4
13. Любицын В.Н. Повышение качества данных в контексте современных аналитических технологий // Вестник ЮУрГУ. Серия: Компьютерные технологии, управление, радиоэлектроника. 2012. №23
14. Кирьянов Б.Ф. Петрова Ю.Ю., Прогнозирование временных рядов с «Особыми» значениями // Вестник НовГУ. 2004. №28
Размещено на allbest.ru
Подобные документы
Разработка системы прогнозирования временных рядов динамики продаж товаров с учетом факторов влияния ForExSal, предназначенной для определения краткосрочного прогноза предполагаемого спроса. Анализ концептуальной и функциональной схемы работы системы.
отчет по практике [1,9 M], добавлен 27.03.2011Порядок и принципы документирования работ, выполняемых на этапе анализа и проектирования в жизненном цикле программных средств, нормативная основа. Описание пользовательского интерфейса прототипа разработанной информационной системы, его структура.
курсовая работа [472,9 K], добавлен 11.11.2014Разработка информационной системы туристического агентства с использованием современных инструментальных средств, технологий; создание ее прототипа; определение целей, задач и функций ИС. Концептуальное, логическое и физическое проектирование базы данных.
курсовая работа [1,1 M], добавлен 09.06.2013Разработка фрагментов математического обеспечения для автоматизированной информационной системы прогнозирования нагрузки пассажирских авиаперевозок. Анализ входных данных и предметной области. Состав информационной базы автоматизированного комплекса.
курсовая работа [1,6 M], добавлен 07.03.2015Информационное, структурно-функциональное и объектно-ориентированное проектирования. Разработка и реализация информационной системы для авиазаводов. Разработка прототипа программного продукта – Borland Delphi 7.0. Автоматизирование документооборота.
курсовая работа [4,4 M], добавлен 26.02.2014Характеристика информационной системы и действующей системы-прототипа ОАО "Центрпродсервис". Организационная структура, информационно-технологическое сопровождение и алгоритмическое обеспечение системы. Проектирование базы данных. Расчет проектных затрат.
дипломная работа [2,8 M], добавлен 21.01.2015Анализ информационной системы салона сотовой связи. Разработка модели бизнес-процессов учебной информационной системы. Создание справочников и их заполнение, документов и их программного кода. Порядок разработки регистров, трех видов планов и отчетов.
курсовая работа [1,4 M], добавлен 05.06.2013Сокращение постоянных и переменных издержек путем автоматизации документооборота в компании "IT-Сервис". Разработка информационной системы и прототипа клиент-серверного трехзвенного приложения в среде Borland Delphi 7.0. Оценка экономического эффекта.
реферат [226,3 K], добавлен 25.09.2014Разработка автоматизированной системы управляющей компании "Дом" в среде Visual Studio 2012. Генерация списка существующих квартир. Создание базы данных и программного продукта, функциональные требования к нему. Построение диаграмм UML и ER-модели.
дипломная работа [1,0 M], добавлен 25.10.2017Изучение непараметрических моделей коллективного типа в задаче прогнозирования временных зависимостей. Анализ исследования и восстановления показателей преступности от следственных мероприятий. Описания руководства программиста информационной системы.
дипломная работа [3,6 M], добавлен 25.09.2011