ВВЕДЕНИЕ 6
ГЛАВА 1 МЕТОДЫ АНАЛИЗА ДАННЫХ 11
1.1 Интеллектуальный анализ данных 11
1.2 Классификационный и кластерный анализ 13
1.3 Валидация и кросс-валидация 16
1.4 Методы классификации и кластеризации данных 18
1.5 Временные ряды 20
1.5.1 Автокорреляция временных рядов 20
1.5.2 Робастные стандартные ошибки и тест Дарбина-Уотсона 27
1.5.2 Стационарность временных рядов. Процесс скользящего среднего 29
1.5.3 Автокорреляционная и частотная автокорреляционная функция 32
1.5.4 Процесс авторегрессии 35
1.5.5 Расчёт частной автокорреляционной функции AR(1) процесса и
множественность их решений 36
1.5.6 Стационарность через характеристический многочлен 38
1.5.7 Прогнозирование процессов авторегрессии. Модель авторегрессии и
скользящего среднего(ARMA) и его оценка 39
ГЛАВА 2 ПОСТАНОВКА ЗАДАЧИ 57
2.1 Описательная постановка задачи 57
2.2 Формальная постановка задачи 57
2.3 Декомпозиция задачи 57
2.4 Аналитический обзор существующих методом решения данной проблемы
2.5 Функциональные свойства приложения 59
ГЛАВА 3 ПРОЕКТИРОВАНИЕ 60
3.1 Основания для разработки технического задания 60
3.2 Оценка и выбор перспективных направлений разработки 60
3.3 Обоснование выбора инструментальных средств 60
ГЛАВА 4 РЕАЛИЗАЦИЯ 62
4.1 Реализация скрипта для MQL5 62
4.2 Изучение данных 63
4.3 Вычисление “эталонных значений” 67
4.4 Реализация классификационных и кластеризационных методов 69
4.5 Дополнительные разработки 75
ЗАКЛЮЧЕНИЕ 80
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 81
ПРИЛОЖЕНИЯ 85
Приложение А. Техническое задание 85
Приложение B. Индикаторы 86
Приложение C. Скрипт для MQL5 89
Приложение D. Описание индикатора
В ходе развития информационных технологий и различных направлений деятельности широкое распространение получила всеобщая информатизация. В настоящий момент всецело, особенно в развитых странах, активно используются возможности, которые предоставили информационные технологии. И здесь не стали исключениями такие направления, как трейдинг и инвестиционная деятельность.
Трейдинг — работа, которой занимается трейдер: анализирует рыночную ситуацию и заключает торговые сделки.
Трейдер (от англ. Trader) — торговец, действующий по собственной инициативе и стремящийся извлечь прибыль непосредственно из процесса торговли. Обычно подразумевается торговля ценными бумагами (акциями, облигациями, фьючерсами, опционами) на фондовой бирже. Трейдерами также называют торговцев на валютном (форекс) и товарном рынках (например, «зернотрейдер»). Торговля осуществляется трейдером как на биржевом, так и на внебиржевом рынках [1].
Но, не стоит путать трейдера и других торговцев, которые занимаются торговлей не в своих собственных интересах лишь, а которые проводят сделки в интересах клиентов и по их требованиям (дилер, брокер, дистрибьютор).
Виды трейдеров:
1. По форме собственности:
a. Профессиональные торговцы — работают в финасовых компаниях (банки, страховые компании, ПИФы, брокеры, дилеры). Порой имеют специальное образование и лицензию на проведение деятельности. Выполняют операции за деньги и в интересах компании или её клиентов. По российскому законодательству подобные торговцы должны иметь персональные аттестаты (ранее их выдавала ФСФР, сейчас этим занимается Банк России).
b. Частные торговцы или независимые трейдеры — выполняют все операции полностью за свой счёт и в своих интересах (работают на себя), для доступа к торговым системам пользуются услугами посредников (брокеров, дилеров). Проводимые ими операции, как правило не требуют лицензирования. Зачастую не имеют какого-либо специализированного образования, пользуются услугами консультантов и профессиональных торговцев.
2. По целям сделок:
a. Работа — обеспечение проведения операций или исполнение заявок клиентов (например, покупка на бирже для оплаты закупа оборудования или продажа выручки для выплаты заработной платы). Как правило, этим занимаются профессиональные торговцы.
b. Инвестор — долгосрочное инвестирование в сделку.
c. Спекулянт — торгует на разнице цен.
d. Арбитражёр — заключает противоположные сделки(одна на покупку, другая на продажу) со связанными инструментами для получения прибыли на движении цен одного актива относительно другого. В итоге общее движение цен актива нивелируется.
e. Хеджер — сделка заключается с целью уменьшения или фиксации уровня риска, например, риска изменения закупочных цен на сельскохозяйственную продукцию или котировок валют. Обычно применяется товаропроизводителями в виде опционов или фьючерсов для обеспечения возможности финансового планирования внутри производственного цикла.
3. По расположению рабочего места:
а. Трейдер на полу, трейдер в яме — обычно это внутридневные торговцы, работающие непосредственно в биржевом зале. Рабочее место располагается в самой низкой точке биржевого зала (в яме). Как правило они заключают сделки только по одному и тому же финансовому инструменту. До внедрения компьютеров в торговлю их плохо было видно, поэтому аренда места «на полу» стоила меньше, чем на ступеньках амфитеатра биржевой ямы. Трейдер на полу заключает сделку надеясь, что через минуты или даже секунды сможет приобрести возмещающий контракт и получить с этого прибыль. Например, на рынках зерна трейдеры часто входят в сделку ради разницы в 0,0025 доллара за бушель.
b. Трейдер в зале — обычно это профессиональные торговцы, представляющие собой интересы большого числа клиентов или входящие в крупные сделки. Их рабочие места располагались выше уровня пола биржевой ямы, их лучше было видно и им гораздо лучше было видно не только других торговцев, но и информационные мониторы.
c. Трейдер у монитора торгует через специализированные торговые терминалы, которые позволяют видеть заявки других трейдеров и выставлять собственные, читать новости, просматривать историю котировок, производить её математический анализ и строить графики. Не нужно личного присутствия в биржевом зале. Разница между трейдерами на полу и в зале ликвидируется. В последнее время используется интернет, как канал связи торгового терминала с брокером или непосредственно с биржей. Сейчас именно Интернет-трейдинг сейчас является наиболее распространённой формой торговли.
4. По длительности:
a. Дневной трейдер (дейтрейдер) — заключает сделки внутри одного торгового дня (одной торговой сессии) и выходит из всех позиций перед закрытием операционного дня. Обычно имеет небольшой капитал. Закрытие позиций, как правило, мотивируется опасением гэпов («разрывов» между ценой закрытия предыдущего и ценой открытия следующего торгового дня) [2].
b. Скальпер (Пипсовщик) — совершает большое число сделок короткой продолжительности: от нескольких секунд до десятка минут (скальпинг). Как правило, результативность отдельной сделки мала, но число сделок велико(также Высокочастотный трейдинг).
c. Позиционный трейдер (краткосрочный) — заключает сделки, планируя закрытие позиций через несколько дней, закрывает все позиции перед периодами уменьшения ликвидности (праздники, летние каникулы и т. п.)
d. Среднесрочный трейдер — заключает немного сделок за год и закрывает позиции при изменении недельных трендов.
e. Долгосрочный инвестор — позиции могут открываться на несколько лет, закрывает позиции только при изменении глобальных трендов.
Считается, что дневные и позиционные трейдеры больше работают с техническим анализом, а среднесрочные и долгосрочные инвесторы — с фундаментальным анализом рынков [1].
С развитием в настоящий момент информационных технологий стало появляться множество различных возможностей, которые многократно ускорили взаимодействие людей друг с другом. И это не обошло и биржевую сферу, где люди могут работать с финансами, совершая как долгосрочные сделки, которые будут действовать годы и десятилетия, но также имея возможность торговать необычайно быстрыми темпами, в пределах нескольких минут, секунд, а иногда и долей секунд. Стал занимать важную нишу так называемый краткосрочный трейдинг и скальпинг. Трейдеры стали работать прежде всего не на получение дивидендов или голосов в компаниях, а с целью заработать как можно больше и как можно скорее, но тут также и многократно возрастают риски.
Сейчас существуют 3 основных метода скальпинга [3]:
1. Стаканный (классический) скальпинг заключается в определении дисбаланса между объёмом спроса и предложения или определением спреда между ними, способного привести к направленному движению котировок, пусть даже незначительному. Распространен на разлчных инструментах, которые имеют конкретную базу (фьючерсы на акции).
2. Импульсный скальпинг представляет собой постоянную
оценку внешних рынков и инструментов, способных вызвать импульсивное направленное движение финансового актива(при торговле в России оценивается движение американских фьючерсов, европейских фьючерсов, нефти, доллара и т.д.). Широко распространён на фьючерсах на фондовые индексы.
3. Гибридный скальпинг сочетает черты предыдущих двух методов.
В с развитием этой сферы появилась необходимость в тех, кто умеет работать с рынками, а также в средствах для эффективной работы с ними. В настоящее время, в связи с развитием современных технологий, начали применяться новые методы обработки больших объёмов данных, в том числе и рынков, которые по своей сути представляют временной ряд. Сейчас всё чаще стали использоваться методы интеллектуального анализа данных.
Исследование успешно проведено и были протестированы несколько предположений. Кроме того, в ходе работы также был разработан торговый индикатор, который был протестирован на бирже неоднократно.
Выполненное исследование позволило усовершенствовать навыки программирования на языке Python, изучить различные методы построения прогнозных значений, а также более точно понять суть как простых, так и рекуррентных нейронных сетей. Помимо этого были усовершенствованы навыки работы в программной среде JupyterLab, подробно изучены библиотеки, предназначенные для разработки систем машинного обучения, такие как Scikit- Learn и TensorFlow.
В ходе работе удалось выявить недостатки предположенных моделей, а также возможности проведения дальнейших исследования в выбранной предметной области.
1. Трейдер. URL: ййрзУ/ги.'МкхреШа.огд/’Мкх/Трейдер (Дата обращения: 05.05.2020г).
2. Марк Фридфертиг, Джордж Уэст — «Электронная внутридневная торговля».
3. Скальпинг. URL: ййр8://ги.’№1к1реФа.огд/’№1к1/Скальпинг (Дата обращения: 05.05.2020г).
4. Data Mining. URL: https://ru.wikipedia.org/wiki/Data_mining(Дата обращения: 05.05.2020г).
5. Великие раскопки и великие вызовы. Интервью Григория Пятецкого-Шапиро, данное журналу «Компьютерра» в 2007 году(стр 48—51).
6. В. А. Дюк, А. В. Флегонтов, И. К. Фомина, Применение технологий интеллектуального анализа данных в естественнонаучных, технических и гуманитарных областях.
7. О. С. Коваленко, Обзор проблем и перспектив анализа данных.
8. А. А. Ежов, С. А. Шумский, Лекция: Извлечение знаний с помощью нейронных сетей.
9. Microsoft SQL Server 2008 R2: новый подход к управлению информацией.
10. Data Mining от Oracle: настоящее и будущее.
11. Степанов Р. Г. Технология Data Mining: Интеллектуальный Анализ Данных.
12. Кластерный анализ. URL: https://ru.wikipedia.org/wiki/Кластерный_анализ (Дата обращения: 05.05.2020г).
13. Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: Классификация и снижение размерности. — М.: Финансы и статистика, 1989. — стр. 607.
14. Мандель И. Д. Кластерный анализ. — М.: Финансы и статистика, 1988. — стр. 176.
15. Хайдуков Д. С. Применение кластерного анализа в государственном управлении// Философия математики: актуальные проблемы. — М.: МАКС Пресс, 2009. — стр. 287.
16. Классификация и кластер. Под ред. Дж. Вэн Райзина. М.: Мир, 1980. стр. 390.
17. Tryon R.C. Cluster analysis. — London: Ann Arbor Edwards Bros, 1939. — стр. 139.
18. Обучение с учителем. URL: https://ru.wikipedia.org/wiki/Обучение_с_учителем (Дата обращения: 05.05.2020г).
19. Теорема сходимости перцептрона. URL: https://ru.wikipedia.org/wiki/Теорема_сходимости_перцептрона (Дата обращения: 05.05.2020г).
20. Валидация моделей. URL: https://help.loginom.ru/userguide/processors/validation.html(Дата обращения: 07.06.2020г).
21. Кросс-валидация. URL: https://wiki.loginom.ru/articles/cross- validation.html(Дата обращения: 07.06.2020г).
22. Перекрёстная проверка. URL: https://ru.wikipedia.org/wiki/Перекрёстная_проверка (Дата обращения: 07.06.2020г).
23. Дерево решений. URL: https://ru.wikipedia.org/wiki/Дерево_решений (Дата обращения: 07.06.2020г).
24. Quinlan, J. R., (1986). Induction of Decision Trees. Machine Learning 1: 81-106, Kluwer Academic Publishers.
25. Метод опорных векторов. URL: https://ru.wikipedia.org/wiki/Метод_опорных_векторов(Дата обращения: 07.06.2020г).
26. Многослойный персептрон Румельхарта. URL:
https: //ru. wikipedia. огд/'Мк1/Многослойный_перцептрон_Румельхарта (Дата обращения: 07.06.2020г).
27. Yoshua Bengio, Aaron Courville, Pascal Vincent Representation Learning: A Review and New Perspectives, 2014.
28. Введение в Scikit-Learn. URL: https://neurohive.io/ru/osnovy-data- science/vvedenie-v-scikit-learn/(Дата обращения: 07.06.2020г).
29. TensorFlow. URL: https://ru.wikipedia.org/wiki/TensorFlow(Дата обращения: 07.06.2020г).
30. «TensorFlow: Open source machine learning» «It is machine learning software being used for various kinds of perceptual and language understanding tasks» — Jeffrey Dean, отрезок 0:47—2:17.
31. Why TensorFlow. URL: https://www.tensorflow.org/about(Дата обращения: 07.06.2020г).
32. Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine. URL: https://www.wired.com/2015/11/google-open-sources-its-artificial- intelligence-engine/(Дата обращения: 07.06.2020г).
33. Временной ряд. URL: https://гu.wikipedia.org/wiki/Временной_ряд (Дата обращения: 05.05.2020г).
34. Шмойлова Р. А. Общая теория статистики: Учебник. — М.: Финансы и статистика, 2002.
35. Б.Б. Демешев, Лекция: Основы анализа данных.
36. Технический анализ. URL:
https://гu.wikipedia.org/wiki/Технический_анализ (Дата обращения: 05.06.2020г).
37. Фундаментальный анализ. URL:
https://ru. wikipedia. org/wiki/Фундаментальный_анализ (Дата обращения: 05.06.2020г).
38. Multilayer perceptron. URL: https://en.wikipedia.org/wiki/Multilayer_perceptron(Дата обращения: 06.06.2020г).
39. Hastie, Trevor. Tibshirani, Robert. Friedman, Jerome. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, New York, NY, 2009.
40. Рекуррентные нейронные сети. URL: https://ru.wikipedia.org/wiki/Рекуррентная_нейронная_сеть(Дата обращения: 06.06.2020г).
41. Graves, A.; Liwicki, M.; Fernandez, S.; Bertolami, R.; Bunke, H.; Schmidhuber, J. A Novel Connectionist System for Improved Unconstrained Handwriting Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence: journal. — 2009. — Vol. 31, no. 5.
42. Sak, Hasim Long Short-Term Memory recurrent neural network architectures for large scale acoustic modeling.
43. Li, Xiangang & Wu, Xihong (2014-10-15), Constructing Long Short-Term Memory based Deep Recurrent Neural Networks for Large Vocabulary Speech Recognition.
44. Стационарность. URL: https://ru.wikipedia.org/wiki/Стационарность(Дата обращения: 07.06.2020г).
45. Что такое бар в трейдинге. URL: https://blog.purnov.com/chto-takoe- bar-v-trejdinge/(Дата обращения: 08.06.2020г).