ИНТЕЛЛЕКТУАЛЬНЫЙ СЕРВИС ДЛЯ ПРОГНОЗИРОВАНИЯ ФИНАНСОВОГО ИНДЕКСА S&P500
|
ВВЕДЕНИЕ 6
1. ПОСТАНОВКА ЗАДАЧИ 8
1.1 Данные 9
1.2 Цель прогнозирования 10
1.3 Определение признакового пространства 12
1.4 Модели прогнозирования 13
1.4.1 Нейронные сети 14
1.4.2 Метод опорных векторов 16
1.4.3 Многомерные адаптивные регрессионные сплайны 18
1.4.4 Авторегрессионные модели 19
2 ПОСТРОЕНИЕ ТОРГОВОЙ СИСТЕМЫ 20
2.1 Задача прогнозирования: регрессия или классификация 20
2.2 Критерии оценки точности прогнозов 22
2.3 Выбор обучающей выборки 24
2.4 Торговые стратегии 27
2.4.1 Первая торговая стратегия 28
2.4.2 Вторая торговая стратегия 29
2.4.3 Критерии оценки эффективности торговой стратегии 29
2.5 Проверка модели на устойчивость. Метод Монте-Карло 31
3 РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТОВ 33
3.1 Описание программной среды и используемых прикладных пакетов анализа 33
3.2 Этапы и цели экспериментов 34
3.3 Результаты 36
3.4 Финальное оценивание. Лучшая модель 46
ЗАКЛЮЧЕНИЕ 50
Благодарности 52
ЛИТЕРАТУРА 53
ПРИЛОЖЕНИЕ А 55
ПРИЛОЖЕНИЕ B
1. ПОСТАНОВКА ЗАДАЧИ 8
1.1 Данные 9
1.2 Цель прогнозирования 10
1.3 Определение признакового пространства 12
1.4 Модели прогнозирования 13
1.4.1 Нейронные сети 14
1.4.2 Метод опорных векторов 16
1.4.3 Многомерные адаптивные регрессионные сплайны 18
1.4.4 Авторегрессионные модели 19
2 ПОСТРОЕНИЕ ТОРГОВОЙ СИСТЕМЫ 20
2.1 Задача прогнозирования: регрессия или классификация 20
2.2 Критерии оценки точности прогнозов 22
2.3 Выбор обучающей выборки 24
2.4 Торговые стратегии 27
2.4.1 Первая торговая стратегия 28
2.4.2 Вторая торговая стратегия 29
2.4.3 Критерии оценки эффективности торговой стратегии 29
2.5 Проверка модели на устойчивость. Метод Монте-Карло 31
3 РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТОВ 33
3.1 Описание программной среды и используемых прикладных пакетов анализа 33
3.2 Этапы и цели экспериментов 34
3.3 Результаты 36
3.4 Финальное оценивание. Лучшая модель 46
ЗАКЛЮЧЕНИЕ 50
Благодарности 52
ЛИТЕРАТУРА 53
ПРИЛОЖЕНИЕ А 55
ПРИЛОЖЕНИЕ B
Прогнозирование показателей фондового рынка всегда привлекало внимание ученых и исследователей со всего мира. Главным образом потому, что возможность получения прогнозов финансовых показателей представляет не только научную ценность, но также и очень значима для представителей бизнес сферы. Но действительно ли фондовый рынок можно предсказать? Ранние исследования по прогнозированию фондового рынка [3] были основаны на теории случайных блужданий и гипотезе эффективного рынка [5]. Согласно гипотезе эффективного рынка цены на фондовом рынке во многом определяются новой информацией, то есть новостями, а не настоящими и прошлыми ценами. А поскольку новости непредсказуемы, цены на фондовом рынке описываются моделью случайного блуждания и не могут быть предсказаны с точностью более 50% [13]. Однако многочисленные исследования все же показали, что цены на фондовом рынке не подчиняются случайному блужданию и действительно могут в какой-то степени быть предсказаны [6, 10], что ставит под сомнение основные предположения гипотезы эффективного рынка.
Стандартные финансовые модели строятся на основе предположения о том, что инвесторы действуют рационально и вся новая информация уже учтена в ценах фондового рынка (последнее утверждение как раз является основным положением гипотезы эффективного рынка). Однако за многие годы использования эти модели показали себя не слишком эффективными при прогнозировании динамики фондовых активов - по-видимому, доходность фондового рынка и поведение инвесторов отклоняются от фундаментальных цен и рациональности, соответственно. Под «неэффективностью» понимается неспособность классических теорий и моделей управления финансами в ряде случаев строить корректные прогнозы на реальных рынках капитала. Классическая теория не учитывает поведенческий аспект при принятии решений на финансовых рынках, в то время как ряд исследований [3] показал его значимость.
Эти открытия привели к развитию теории поведенческих финансов, в которой учитываются непредсказуемые проявления иррациональности на фондовом рынке. К примеру, в поведенческих финансах были изучены такие значимые характеристики рынков как наличие эффекта обратной связи, избыточная и недостаточная реакция инвесторов на новую информацию (следствием которой является высокая волатильность рынков). В этих условиях новость представляется потенциально новым источником данных, который до сих пор не использовался в полной мере. Существует ряд работ, подтвердивших, что использование информации из новостей и постов в соц. сетях при прогнозировании финансовых показателей, существенно улучшает качество получаемых прогнозов [15-17].
В последнее время для прогнозирования финансовых рынков широко используются методы машинного обучения: метод опорных векторов, нейронные сети, деревья решений и другие алгоритмы. Эти алгоритмы показали свою эффективность в отслеживании тенденций фондового рынка и прогнозировании его показателей; кроме того, их использование помогает, к примеру, максимизировать прибыль от покупки опционов при сохранении низкого уровня риска, см. [9] , [11] среди прочих.
Среди множества финансовых показателей, которые пытаются прогнозировать современные исследователи, индекс S&P500 пользуется большой популярностью. Справка из Википедии [21]: “S&P 500— фондовый индекс, который рассчитывается по базовым показателям 500 избранных акционерных компаний США, имеющих наибольшую капитализацию. Список этих компаний составляется компанией Standard &Poor’s, акции всех компаний из списка торгуются на самых крупных американских фондовых биржах. Значение индекса S&P 500 отражает их суммарную капитализацию (с 2006 года с поправкой на free-float). Индекс S&P 500 конкурирует по популярности с Промышленным индексом Доу-Джонса и заслуженно называется барометром американской экономики». Следует добавить, что индекс является базовым активом для ряда ценных бумаг на фондовой бирже США - именно поэтому прогнозирование поведения данного индекса представляет несомненный интерес, как для исследователей, так и для брокеров. Существует множество работ, посвященных прогнозированию S&P500 (см., например, [17]). Однако создание интеллектуального сервиса по прогнозированию индекса является намного более сложной и трудоемкой задачей. Опубликовано не так много исследований на эту тему. В частности, в статьях [12, 20] описаны схемы создания автоматизированных торговых систем по прогнозированию цен акций. В книге [19] предложен алгоритм построения торговой системы для прогнозирования S&P500, но полученные там прогнозы оставляют желать лучшего, в то время как улучшение качества прогнозирования в такой системе представляет собой интересную и актуальную задачу для исследования.
Стандартные финансовые модели строятся на основе предположения о том, что инвесторы действуют рационально и вся новая информация уже учтена в ценах фондового рынка (последнее утверждение как раз является основным положением гипотезы эффективного рынка). Однако за многие годы использования эти модели показали себя не слишком эффективными при прогнозировании динамики фондовых активов - по-видимому, доходность фондового рынка и поведение инвесторов отклоняются от фундаментальных цен и рациональности, соответственно. Под «неэффективностью» понимается неспособность классических теорий и моделей управления финансами в ряде случаев строить корректные прогнозы на реальных рынках капитала. Классическая теория не учитывает поведенческий аспект при принятии решений на финансовых рынках, в то время как ряд исследований [3] показал его значимость.
Эти открытия привели к развитию теории поведенческих финансов, в которой учитываются непредсказуемые проявления иррациональности на фондовом рынке. К примеру, в поведенческих финансах были изучены такие значимые характеристики рынков как наличие эффекта обратной связи, избыточная и недостаточная реакция инвесторов на новую информацию (следствием которой является высокая волатильность рынков). В этих условиях новость представляется потенциально новым источником данных, который до сих пор не использовался в полной мере. Существует ряд работ, подтвердивших, что использование информации из новостей и постов в соц. сетях при прогнозировании финансовых показателей, существенно улучшает качество получаемых прогнозов [15-17].
В последнее время для прогнозирования финансовых рынков широко используются методы машинного обучения: метод опорных векторов, нейронные сети, деревья решений и другие алгоритмы. Эти алгоритмы показали свою эффективность в отслеживании тенденций фондового рынка и прогнозировании его показателей; кроме того, их использование помогает, к примеру, максимизировать прибыль от покупки опционов при сохранении низкого уровня риска, см. [9] , [11] среди прочих.
Среди множества финансовых показателей, которые пытаются прогнозировать современные исследователи, индекс S&P500 пользуется большой популярностью. Справка из Википедии [21]: “S&P 500— фондовый индекс, который рассчитывается по базовым показателям 500 избранных акционерных компаний США, имеющих наибольшую капитализацию. Список этих компаний составляется компанией Standard &Poor’s, акции всех компаний из списка торгуются на самых крупных американских фондовых биржах. Значение индекса S&P 500 отражает их суммарную капитализацию (с 2006 года с поправкой на free-float). Индекс S&P 500 конкурирует по популярности с Промышленным индексом Доу-Джонса и заслуженно называется барометром американской экономики». Следует добавить, что индекс является базовым активом для ряда ценных бумаг на фондовой бирже США - именно поэтому прогнозирование поведения данного индекса представляет несомненный интерес, как для исследователей, так и для брокеров. Существует множество работ, посвященных прогнозированию S&P500 (см., например, [17]). Однако создание интеллектуального сервиса по прогнозированию индекса является намного более сложной и трудоемкой задачей. Опубликовано не так много исследований на эту тему. В частности, в статьях [12, 20] описаны схемы создания автоматизированных торговых систем по прогнозированию цен акций. В книге [19] предложен алгоритм построения торговой системы для прогнозирования S&P500, но полученные там прогнозы оставляют желать лучшего, в то время как улучшение качества прогнозирования в такой системе представляет собой интересную и актуальную задачу для исследования.
В заключение отметим, что проведена обширная работа для создания дееспособной торговой системы, изучен и использован широкий спектр моделей и методов, как статистических, так и методов машинного обучения. Создана рабочая программа, реализующая описанный алгоритм, а также про-веден глубокий анализ полученных результатов и получен ряд выводов и предложений для дальнейшего улучшения результатов, с которыми можно ознакомиться ниже.
Главный вывод, который следует сделать: хоть предложенные в последней секции торговые системы и принесли прибыль, использовать их для реальных капиталовложений пока преждевременно. Во-первых, как видно, их точность все же не достаточна велика и при изменяющихся условиях рынка может привести к убыткам. Кроме того, учитывая длительность тестового периода полученная прибыль все же не слишком впечатляет. Во-вторых, для уверенности в том, что конкретная модель надежна и может быть использована в интеллектуальном сервисе, функционирующем без участия аналитика, необходимо провести намного больше 20 итераций эксперимента Монте- Карло. Как можно улучшить показатели?
1) В книге [19] не производился исчерпывающий поиск индикаторов, наиболее адекватных поставленной задаче. Можно сделать предположение о том, что выбранные признаки не являются наиболее подходящим подмножеством входных переменных для задачи моделирования. В статистической модели ARIMA, в силу ее специфики, для прогнозирования использовалась только целевая переменная. Тот факт, что эта модель показала большую точность, чем рассмотренные модели машинного обучения, может говорить о том, что использованное признаковое пространство не было оптимальным. Поэтому помимо модели случайного леса могут использоваться такие методы выбора признаков, как метод k средних, метод главных компонент, lasso.
2) Даже при самых высоких вычислительных мощностях и небольшом наборе возможных параметров модели, оптимизация модели с помощью пакета caret занимает очень долгий срок. Именно короткой длиной настройки (tune length) можно объяснить то, что оптимизация в caret не принесла ожидаемых результатов. Необходимо намного увеличить tune length и повторить эксперимент для нейронных сетей прямого действия и SVM в задаче регрессии, а также многослойных нейронных сетей - конечно, при условии отсутствия временных ограничений.
3) Также имеет смысл расширить набор параметров для настройки модели Элмана, т.к. данная модель показала хороший потенциал в рамках поставленной задачи.
4) Что касается статистических моделей, то при наличии условной гетероскедастичности, которая явно наблюдается в исходных данных, стоит попробовать использовать в прогнозировании модели ARCH / GARCH.
Главный вывод, который следует сделать: хоть предложенные в последней секции торговые системы и принесли прибыль, использовать их для реальных капиталовложений пока преждевременно. Во-первых, как видно, их точность все же не достаточна велика и при изменяющихся условиях рынка может привести к убыткам. Кроме того, учитывая длительность тестового периода полученная прибыль все же не слишком впечатляет. Во-вторых, для уверенности в том, что конкретная модель надежна и может быть использована в интеллектуальном сервисе, функционирующем без участия аналитика, необходимо провести намного больше 20 итераций эксперимента Монте- Карло. Как можно улучшить показатели?
1) В книге [19] не производился исчерпывающий поиск индикаторов, наиболее адекватных поставленной задаче. Можно сделать предположение о том, что выбранные признаки не являются наиболее подходящим подмножеством входных переменных для задачи моделирования. В статистической модели ARIMA, в силу ее специфики, для прогнозирования использовалась только целевая переменная. Тот факт, что эта модель показала большую точность, чем рассмотренные модели машинного обучения, может говорить о том, что использованное признаковое пространство не было оптимальным. Поэтому помимо модели случайного леса могут использоваться такие методы выбора признаков, как метод k средних, метод главных компонент, lasso.
2) Даже при самых высоких вычислительных мощностях и небольшом наборе возможных параметров модели, оптимизация модели с помощью пакета caret занимает очень долгий срок. Именно короткой длиной настройки (tune length) можно объяснить то, что оптимизация в caret не принесла ожидаемых результатов. Необходимо намного увеличить tune length и повторить эксперимент для нейронных сетей прямого действия и SVM в задаче регрессии, а также многослойных нейронных сетей - конечно, при условии отсутствия временных ограничений.
3) Также имеет смысл расширить набор параметров для настройки модели Элмана, т.к. данная модель показала хороший потенциал в рамках поставленной задачи.
4) Что касается статистических моделей, то при наличии условной гетероскедастичности, которая явно наблюдается в исходных данных, стоит попробовать использовать в прогнозировании модели ARCH / GARCH.



