Виды биржевой торговли. Методология автоматизации биржевых операций: структура, функции и алгоритм работы. Методы анализа движения биржевых цен. Блок работы с базой данных. Тестирование результатов анализа. Алгоритм работы системы, основной функционал.
Аннотация к работе
Модели, которые используют большинство трейдеров достаточно простые в построении, однако, как было сказано выше, большие объемы данных увеличивают время построения модели с последующим прогнозом. Все это ведет к тому, что трейдеры должны иметь возможность построить модель быстро на актуальных данных, чтобы знать последующие варианты поведения на рынке. Еще одна проблема, связанная с построением моделей и последующей торговле в зависимости от результатов модели, заключается в том, что отсутствуют инструменты, которые позволяют сравнивать результаты моделей для выяснения качества модели. Более того, данная система должна позволять пользователю сравнивать построенные модели по разнообразным критериям, чтобы в итоге выбирать модель превосходящую остальные на конкретной акции по большинству параметров. Одной из основных гипотез, которые будут проверяться в данном исследовании, является возможность комбинировать и компоновать модели для получения более точных прогнозов, а также гипотеза о том, что можно создать четкую структуру выбора модели, в зависимости от ситуации на рынке.На данный момент финансовый рынок можно разделить на срочный рынок, где происходит заключение срочных контрактов, таких как форварды, фьючерсы и опционы; денежный рынок, где предоставляются денежные средства на срок менее одного года; рынок капиталов, где предоставляются денежные средства на срок более одного года; валютный рынок, где совершаются операции по купли-продаже иностранной валюты и передвижению иностранного капитала; и фондовый рынок, где обращаются ценные бумаги. Нас в большей степени интересует торговля именно на фондовом рынке, несмотря на тот факт, что на данный момент очень популярна торговля на срочном и валютном рынках. В данном исследовании осуществляется анализ и торговля акциями. Вероятность потерь при таком стиле ведения торговли на бирже достаточно мала, т.к. скальпирование не основывается на извлечении прибыли из случайных колебаний в цене. Данный метод основан на разнице в цене и прибыль извлекается при одновременной покупке и продаже одного актива.Этот блок отвечает за работу с данными: загрузку и обработку; за настройку параметров модели и построение данных моделей; тестирование построенных моделей на специализированных наборах данных; проверку качества моделей за счет оценки предсказанных значений; формирование стратегий, исходя из определенных правил. Более того, данная база данных хранит в себе значения всех критериев качества всех моделей для каждого теста, что позволяет оценивать стабильность той или иной модели. Model - модель - сущность, которая описывает все модели, которые используются при построении данной системы. Реализация на Python имеет следующий вид: def DOUBLEEXPONENTIALSMOOTHING(series, period1, period2): alpha = 2 / (period1 1) beta = 2 / (period2 1) result = [] for n in range(1, len(series) 1): if n == 1: level, trend = series[0], series[1] - series[0] if n >= len(series): value = result[-1] else: value = series[n] last_level, level = level, alpha*value (1-alpha)*(level trend) trend = beta*(level-last_level) (1-beta)*trend result.append(level trend) return result В системе данная модель реализована с помощью специализированной библиотеки scikit-learn и метод логистической регрессии имеет вид: def LOGISTICREGRESSIONMODEL(x,y,d): model1 = linear_model.LOGISTICREGRESSION() model1.fit(x, y) d["Predict_LR"] = model1.predict(x) d["Correct_LR"] = (1.0 d["Predict_LR"] * d["Actual"]) / 2.0 return dДанный критерий показывает среднюю ошибку для модели по модулю. Обоснование выбора данного критерия заключается в том, что при собственной простоте, данный критерий дает достаточно актуальные данные по поводу поведения системы. Более того, данный показатель позволяет оценивать одну и ту же модель, построенную и протестированную на разных данных. Также этот критерий позволяет сравнивать модели между собой. Формула для расчета данного критерия в общем случае имеет вид: где k - это число параметров модели, а L - максимум функции правдоподобия.В результате выполнения данной работы была создана система, которая оптимизирует процесс анализа рыночных данных и торговли на основе ряда критериев, которые позволяет экономить время и ресурсы. Подключение к сервису бэкстэстинга, имитирующего реальное подключение к брокеру и торги, было реализовано в специализированном блоке. В качестве результатов анализа эффективности тех или иных составляющих процессов системы было выявлено, что использование простой скользящей средней с большим периодом актуально для выявления тренда на рынке, однако стратегии, основанные на пересечении скользящих средних, обречены на провал, если за основу будет браться простая скользящая средняя.Блок анализа данных import DATABLOCK as dbimport pandas as pdimport datetime as dtimport ANALYSISBLOCK as abimport matplotlib.pyplot as pltimport TESTBLOCK as tbimport statsmodels.tsa.stattools as tsa_testimport statsmodels.tsa.arima_model as ARIMAIMPORT num
Введение
автоматизация биржевой торговля
Современная торговля на фондовом рынке основывается на четко выверенных и проверенных моделях. Никто не полагается на удачу или интуицию. Высокие скорости и громадные объемы информации не позволяют принимать решения без аналитического обоснования. Модели, которые используют большинство трейдеров достаточно простые в построении, однако, как было сказано выше, большие объемы данных увеличивают время построения модели с последующим прогнозом. Развитие современных технологий, а также совершенствование чужих стратегий вынуждают трейдеров усложнять собственные прогностические модели, что лишь увеличивает требования к мощностям, которыми пользуются трейдеры. Все это ведет к тому, что трейдеры должны иметь возможность построить модель быстро на актуальных данных, чтобы знать последующие варианты поведения на рынке.
Еще одна проблема, связанная с построением моделей и последующей торговле в зависимости от результатов модели, заключается в том, что отсутствуют инструменты, которые позволяют сравнивать результаты моделей для выяснения качества модели.
Темой данного исследования является создание такой системы анализа и торговли на фондовом рынке, которая не только позволит быстро получать готовые модели на обновленных данных, но и делать это без участия человека. Более того, данная система должна позволять пользователю сравнивать построенные модели по разнообразным критериям, чтобы в итоге выбирать модель превосходящую остальные на конкретной акции по большинству параметров.
Объектом данного исследования является процесс биржевой торговли.
Предметом исследования является автоматизация процесса анализа и биржевой торговли.
Одной из основных гипотез, которые будут проверяться в данном исследовании, является возможность комбинировать и компоновать модели для получения более точных прогнозов, а также гипотеза о том, что можно создать четкую структуру выбора модели, в зависимости от ситуации на рынке.
Фондовые рынки играют очень важную роль в современной экономике. За акциями следят не только трейдеры. Акции отражают реальное состояние дел компании, положение дел в отрасли и в целом в стране. Важно понимать, как будут двигаться акции не только в ближайшем будущем, но и в среднесрочной и долгосрочной перспективах. Более того, нужно быть уверенным в прогнозах.
Несмотря на наличие некоторых проблем, область анализа и торговли на финансовых рынках, а в частности на фондовых, имеет широкую популярность среди представителей различных областей знаний. Существование стратегий торговли, множества инструментов, программных решений и брокеров говорит о некоторой избыточности решений. При всем многообразии отсутствуют качественные и эффективные решения, которые можно применить в различных состояниях рынка и на различных акциях. Более того, не существуют строгой системы критериев выбора наилучшей модели, а также инструмента для сравнения результатов модели на долгосрочную перспективу.
Целью данного исследования является оптимизация процесса анализа и торговли на фондовом рынке, подразумевающая сокращение времени и ресурсов, затрачиваемых в рамках данных процессов, с последующим получением актуальных прогностических результатов и извлечением прибыли.
Для успешного достижения поставленной цели нужно разработать: · структуру системы, которая позволит осуществлять анализ исторических временных рядов цен акций, и на основании полученных моделей строить прогнозы изменения цены;
· подключение к торговому брокеру, позволяющая торговать по разработанной стратегии, а также иметь доступ к бирже в любой момент рынка;
· схему визуализации всех моделей, а также всех разработанных стратегий со всеми критериями эффективности для наглядной оценки и повышения доверия к созданной системе.
Более того, для полноценного достижения цели все задачи должны подразумевать минимальное участие пользователя в работе системы: пользователь должен лишь вводить название акции, временной промежуток, на основе которых строится прогноз, а также иметь возможность просматривать графики, результаты и выбирать из нескольких стратегий по предоставленным критериям. Для осуществления снижения рисков системы стоит также реализовать открытие и закрытие торговых позиций.
Данное исследование является объединением нескольких групп методов. Данные ситуация продиктована тем, что перед созданием системы нужно провести некоторые теоретические наблюдения и вывести некоторые тезисы, которые затем на практике с помощью созданного продукта нужно будет проверить. В самом начале исследование базируется на наблюдении и сравнении тех систем и моделей, которые используются в современном анализе фондовых рынков. Затем на основании тех идей, которые были выбраны производится формализация требований к системе, а также синтез структуры системы. Затем проводится анализ подсистем для дальнейшего выявления сильных и слабых сторон системы. После проводится моделирование на тестовых данных. Результаты модели оцениваются и анализируются. Финальным этапом исследования является эксперимент с последующим описанием результатов и выводов.
В первой главе исследования проводится подробный разбор структуры фондового рынка, а также механизмов торговли на фондовом рынке. Также в первой главе приводятся различные классификации биржевой торговли. Затем рассматриваются методы анализа на фондовом рынке и обоснование для автоматизации.
Во второй главе работы рассматривается непосредственно структура созданной системы: все подсистемы, их функции, алгоритм работы, а также структурные особенности при необходимости. Также во второй главе рассматривается весь функционал создаваемой системы. Более того, в данной главе рассматриваются данные, которые скачиваются для анализа, целевая структура, которая возможна для обработки, а также используемые структуры данных.
В третьей главе описывается схема проверки качества созданных моделей, используемые критерии эффективности, а также важность каждого критерия для созданной схемы с обоснованием выбора данной системы оценки эффективности системы. Также в третьей главе описывается методика исследования эффективности и последующий анализ результатов моделирования.
В заключении работы находятся количественные выводы, которые имеются на данный момент времени, т.к. с каждым новым тестовым прогоном система претерпевает некоторые изменения, качественные выводы о выполненных задачах в рамках исследования, а также возможные модификации системы с целью улучшить качество работы и возможные сферы применения созданной системы.
Все дополнительные материалы, исходный код системы, дополнительные расчеты и таблицы приведены в приложении к работе.
Данная работа основана на теориях и методах из разных областей знания. Большинство моделей, которые будут исследованы и реализованы являются статистическими моделями, если конкретнее, то эконометрические модели временных рядов (Soren Bisgaard, 2011) (Tsay, 2001) (А.И.Орлов, 2009). Также в системе использованы модели машинного обучения. Данная область является достаточно молодой, однако существует множество статей. (Alpaydin, 2004) (Тревор Хасти, 2001). Стоит также упомянуть, что данные модели и критерии не смогут образовать систему. Все связи и причины принадлежат к анализу акций и финансовых рынков (Chan, 2009) (Erlich, 1996) (Schwager, 1996) (Белова Е.В., 2006).
Вывод
В результате выполнения данной работы была создана система, которая оптимизирует процесс анализа рыночных данных и торговли на основе ряда критериев, которые позволяет экономить время и ресурсы. В рамках данной цели была полностью реализована структура системы со всеми подсистемами, алгоритмы взаимодействия. Были выбраны и программно реализованы критерии эффективности работы системы. Подключение к сервису бэкстэстинга, имитирующего реальное подключение к брокеру и торги, было реализовано в специализированном блоке. Также была разработана целая структура визуализации информации.
В качестве результатов анализа эффективности тех или иных составляющих процессов системы было выявлено, что использование простой скользящей средней с большим периодом актуально для выявления тренда на рынке, однако стратегии, основанные на пересечении скользящих средних, обречены на провал, если за основу будет браться простая скользящая средняя.
Касаемо треугольной скользящей средней было установлено, что данная кривая лучше всего используется в случае малых периодов, т.к. при увеличении периода поведение кривой становится неадекватно.
Для методов дискриминантного анализа были определены зависимости того, какие временные ряды необходимо использовать с какой моделью, а также определили набор обучающих переменных.
В качестве будущих модификаций данная система может быть расширена еще на множество статистических моделей и статистических критериев, что позволит усилить математическую базу. Разработать алгоритм выбора наиболее релевантной модели для конкретной ситуации с возможностью изменить поведение. Более того, некоторые блоки подсистем должны перебраться в блок взаимодействия с пользователем, в связи с отсутствием необходимости в их сложной реализации и исполнения в конкретный нужный момент.
Список литературы
1.Alpaydin, E. (2004). Introduction to Machine Learning.
2.Chan, E. P. (2009). Quantitative Trading: How to Build Your Own Algorithmic Trading Business. New Jersey: John Wiley & Sons, Inc.
3.Erlich, A. A. (1996). Technical Analysis Handbook for the Commodity and Financial Markets. Moscow: INFRA - M .
4.Kijanica, A. S. (2005). Fundamental Analysis of the Financial Markets. Saint-Petersburg: Piter.
5.Microsoft. (2017). социальная сеть разработчиков. Получено из MSDN: https://msdn.microsoft.com/ru-ru/dn308572.aspx
6.Narang, R. K. (2009). Inside The Black Box. New Jersey: John Wiley & Sons, Inc.
7.Schwager, J. D. (1996). Technical Analysis. New Jersey: John Wiley & Sons, Inc.
8.Soren Bisgaard, M. K. (2011). Time Series Analysis and Forecasting by Example.
9.Tsay, R. S. (2001). Analysis of Financial Time Series.
10.А.И.Орлов. (2009). Эконометрика : учебник для вузов. Ростов: Феникс.
11.Белова Е.В., О. Д. (2006). Технический анализ финансовых рынков. Москва.
12.Бокс, Д. (1970). Time series analysis, forecasting and control.
13.Тревор Хасти, Р. Т. (2001). The Elements of Statistical Learning.