Разработка прототипа информационной системы прогнозирования финансовых временных рядов

Проектирование прототипа информационной системы, направленной на прогнозирование финансовых временных рядов. Требования, предъявляемые к ИС. Методы использования алгоритмов прогнозирования, полос Боллинджера, комбинаций и осцилляторов скользящих средних.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.