Введение
1. Анализ предметной области 8
1.1 Алгоритмический трейдинг 8
1.2 Преимущества и недостатки алгоритмических систем 11
1.3 Виды алгоритмических систем 13
1.4 Тестирование и анализ публичных стратегий 20
2 Проектирование автоматической торговой системы 27
2.1 Обзор существующих инструментов проектирования и разработки
автоматических торговых систем 27
2.2 Описание и проектирование торгового алгоритма 29
2.3 Диверсификация торговой стратегии 37
3 Программная реализация 39
3.1 Разработка автоматической торговой системы 39
3.2 Разработка автоматической торговой системы 43
ЗАКЛЮЧЕНИЕ 48
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 49
ПРИЛОЖЕНИЕ
В течении последних нескольких десятилетий финансовые рынки прошли через все стадии развития. За последнее десятилетие мир увидел фазы роста и падения. С развитием рынков рос интерес и к их прогнозированию, что поспособствовало к появлению большого количества инструментов и методик анализа изменения цен на финансовые активы. Так появился фундаментальный и технический анализ. К последнему относится анализ форм и фигур, сформированных ценой. Участники торгов записывали цены активов и строили на их основе графики, на которых отмечали закономерности, изучали характер движения, стараясь найти похожие модели, с целью предсказать дальнейшее направление цены. Таким образом, появилось множество так называемых фигур технического анализа. В дальнейшем трейдеры стали анализировать динамику движения цен с помощью построения рыночных индикаторов, которые представляли собой некоторую функцию от цены. Классическим примером такой функции является простое скользящее среднее.
В связи с развитием информационных технологий, методы анализа и прогнозирования финансовых рынков видоизменяются. Еще только в 20 веке участникам рынка приходилось выписывать значения котировок на котировочные доски в торговых залах, а трейдерам приходилось находится непосредственно в этих залах, чтобы иметь представление о текущих ценах на активы. Особо успешные трейдеры могли позволить себе купить телеграф, который печатал цены на специальной бумаге [1].
Спустя несколько десятилетий доступ к рыночной информации значительно упростился. Сейчас достаточно иметь компьютер или смартфон с доступом в интернет, чтобы получать самые актуальные цены на практически любые финансовые активы. Расчет индикаторов, построение сложных графиков - все это не занимает много времени, а стоимость услуг за
В настоящее время существуют сотни индикаторов технического анализа, тысячи ценовых паттернов, в той или иной мере используемых участниками торгов при анализе цен финансовых активов. Совокупность методов анализа и прогнозирования движения цен с помощью индикаторов и поиск закономерностей на графике, называется техническим анализом. Данный вид прогнозирования является одним из самых популярных инструментов для принятия торговых решений, особенно у начинающих трейдеров, т.к. позволяет визуально оценить ситуацию на рынке, определить текущее направление цены и попробовать предсказать ее будущее поведение без углубленных знаний экономики и финансов.
Однако, при всех плюсах технического анализа, есть один существенный недостаток: многие классические стратегии, описанные в книгах по трейдингу, а также все остальные публичные торговые стратегии со временем перестают работать и на смену прибыльным сделкам приходит регулярный убыток. Чем известнее становится стратегия и чем больше трейдеров начинают ее использовать в своей торговле, тем меньше ее эффективность. В связи с этим рабочие алгоритмы и идеи зачастую остаются в тайне, а авторы таких исследований предпочитают зарабатывать сами, либо брать средства сторонних инвесторов под свое управление.
Примером этому служит известная на весь мир стратегия Черепах, принесшая миллионы долларов трейдерам по всему миру, начиналась как эксперимент между двумя успешными друзьями [2]. Спустя 30 лет об этой стратегии знает каждый, однако она едва ли может принести хоть какой-то разовый доход.
Также, одной из самых распространенных причин получения убытков на рынке является отсутствие торговой системы или плана торговли.
Бессистемность в принятии торговых решений — довольно частое явление среди трейдеров (особенно среди начинающих). Даже если трейдер
Торговая система представляет собой группу конкретных правил и параметров, которые объединяются в одно целое для создания сигналов на покупку и продажу финансового актива. Подобные системы могут быть спроектированы и разработаны с использованием множества различных технологий, включая Microsoft Excel, MATLAB®, TradeStation, R, Python. Кардинальным отличием торговой стратегии от ручной торговли является то, что в первом случае, каждая сделка совершается строго по заданному алгоритму. Таким образом из процесса торговли полностью исключается человеческий фактор, который зачастую и приводит к убыткам [3].
Существует множество различных инструментов, которые можно использовать при проектировании торгового алгоритма. В классических торговых системах используется два или более технических индикатора, которые объединяются и используются как фильтр, для отбора качественных точек входа в сделку. Как видно технические индикаторы являются наиболее распространенными, однако многие торговые системы включают в себя и фундаментальный анализ. В его основе лежит анализ различных фундаментальных рыночных данных, таких как доход (в случае анализа компаний), анализ денежного потока, задолженность к капиталу, учет изменения ключевых ставок, сезонность и т.д. Некоторые, особо интеллектуальные системы, могут использовать для анализа даже новости, сообщения из социальных сетей и другие данные со всего интернета. Любая информация, которая может быть представлена в цифровом виде, может оказаться полезной.
В данной выпускной квалификационной работе главным образом рассматривается вопрос создания такой автоматической торговой системы, которая будет приносить максимальную прибыль с ограниченным риском. Система должна получать данные о ценах с биржи, проводить их анализ, принимать решение и совершать сделки.
Цель работы заключается в оптимизации процесса торговли, путем разработки автоматической системы торговли на валютном рынке. Разработка данного программного обеспечения имеет большое значение: оно исключит влияние человеческого фактора на процесс торговли, избавит трейдера от ответственности за принятые решения и позволит улучшить свои торговые результаты.
В связи с этим были поставлены следующие задачи:
- провести анализ предметной области;
- исследовать рыночные неэффективности;
- провести анализ существующих торговых систем;
- спроектировать и протестировать на истории торговый алгоритм;
- разработать автоматическую торговую систему на основе полученного алгоритма;
- разработать веб-приложение;
- протестировать все компоненты результирующего проекта.
Методологической основой выпускной квалификационной работы стал системный подход и принцип научной объективности, позволившие рассмотреть существующие торговые системы, проанализировать рыночные неэффективности, а также разработать и протестировать различные торговые алгоритмы.
В ходе выполнения данной выпускной квалификационной работы была достигнута поставленная цель оптимизации процесса торговли на валютном рынке. Все поставленные для решения цели задачи были успешно выполнены. Проведен анализ рыночных неэффективностей и публичных торговых стратегий. Спроектирована и разработана автоматическая система торговли на валютном рынке. Также разработано веб-приложение, позволяющее получить доступ к журналу сделок, торговым результатам, возможность посмотреть текущее состояние на рынке валют, проанализировать эффективность торговли с помощью автоматической системы. Также была описана функциональная схема предметной области, спроектированные логическая и физическая схемы модели базы данных.
Из результата проведенных работ можно сделать вывод, что разработка данного программного обеспечения является актуальной, так как спрос на продукт достаточно велик. Исследования подтверждают, что с каждым годом количество клиентов на Московской бирже стремительно растет, что только доказывает актуальность данных исследований. Главное отличие данного проекта от уже существующих вариантов - это совмещение в себе удобного веб интерфейса и алгоритмической торговли, что является очень удобным для пользователей, не владеющих в достаточной мере навыками работы в консоли.
Информационная система позволяет структурировать и автоматизировать процесс торговли на валютном рынке, а также снять с трейдера ответственность за принятые торговые решения.
1. Лефевр Э. Воспоминания биржевого спекулянта. - Olympus Business, 2012.
2. Faith C. Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders. - McGraw Hill Professional, 2007.
3. Lehoczky J., Schervish M. Overview and History of Statistics for Equity Markets //Annual Review of Statistics and Its Application. - 2018. - Т. 5. - №. 1.
4. Викулин А. В. Экономико-математические методы в обосновании ожидаемой доходности и риска отдельных акций и портфеля из них //новейшие достижения и успехи развития экономики. - 2018. - С. 37.
5. Лоран Ж. Опасные игры с деривативами: Полувековая история провалов от Citibank до Barings, Societe Generale и AIG. - Альпина Паблишер, 2018.
6. Саркисов В. Г., Парамонов Р. А. Контртрендовая стратегия на рынке сверхкраткосрочных бинарных опционов //Проблемы экономики и менеджмента. - 2014. - №. 12 (40).
7. Weissman R. L. Mechanical trading systems //Hoboken: Wiley. - 2005.
8. LeBeau C., Lucas D. W. Computer analysis of the futures market. - McGraw-Hill, 1992.
9. Burgess A. N. et al. A computational methodology for modelling the dynamics of statistical arbitrage : дис. - University of London, 2000.
10. Broussard J. P., Vaihekoski M. Profitability of pairs trading strategy in an illiquid market with multiple share classes //Journal of International Financial Markets, Institutions and Money. - 2012. - Т. 22. - №. 5. - С. 1188-1201.
11. Рубцов Б. Б. и др. Мировой и российский рынки IPO: анализ тенденций и перспектив развития //Эффективное антикризисное управление. - 2011. - №. 5.
12. Володин С. Н., Коненков И. А. Статистический арбитраж на российском фондовом рынке //Аудит и финансовый анализ. - 2013. - №. 6. - С. 237-244.
13. Мазаев Н. Ю. Использование фундаментального анализа в управление портфелем ценных бумаг //Инновации и инвестиции. - 2015. - №. 1. - С. 34-37.
14. Паттерсон С. Кванты. Как волшебники от математики заработали миллиарды и чуть не обрушили фондовый рынок //М.: Манн, Иванов и Фербер. - 2014.
15. Lin V. Trading Strategy, Cost Efficiencies in FX Algo Trading //Market Commentary, Portfolio Strategy, Credit Suisse, AES. - 2010.
16. Arnuk S. L., Saluzzi J. Toxic equity trading order flow on wall street //Themis Trading LLC White Paper, http://www. themistrading. com/article_files/0000/0524/Toxic_Equity_Trading_on_Wall_Street_-- _FINAL_2__12. - 2008. - Т. 17.
17. Sarika K. B., Sreekumar R., Shilja M. S. An Analytical Approach for Algotrading.
18. Kia F. Developing a fully automated algo-trading system. - 2016.
19. Fecht F., Hackethal A., Karabulut Y. Is proprietary trading detrimental to retail investors? //The Journal of Finance. - 2018. - Т. 73. - №. 3. - С. 1323-1361.
20. Yamamoto A. Cryptocurrency Bible-vol 2: Includes 3 Cryptocurrency Books-Bitcoin Hacking? Bitcoin Why Not to Invest? Cryptocurrency Trading & Investing (Volume 2). - 2018.
21. Glodjo A., Bronson N. D., Harrington S. E. Trading system with individualized order books : заяв. пат. 14846230 США. - 2015.
22. Xing X., Xue Y. Trading mechanisms and market quality: Limit-order books versus dealership markets //Economics Letters. - 2017. - Т. 154. - С. 35-44.
23. Ha Y. Algorithmic Trading in Limit Order Books for Online Portfolio Selection. - 2018.
24. Bouricius P., Dyer M., Robinson L. Molasses and Marshmallow: Food and Trading in New England Account Books. - 2015.
25. Майнер Р. Торговые стратегии с высокой вероятностью успеха: тактики входа и выхода на рынках акций, фьючерсов и валют. - Альпина Паблишер, 2018.
26. Чеботарев Ю. Торговые роботы на российском фондовом рынке.
- Litres, 2017.
27. Крюков П. А. Теоретические основы совершенствования финансового механизма ведения торговых операций на валютном рынке Forex //Вестник Кузбасского государственного технического университета. - 2014. - №. 4 (104).
28. Семенкова Е. Операции с ценными бумагами. - Litres, 2017.
29. Ананченко И. В., Мусаев А. А. Торговые роботы и управление в хаотических средах: обзор и критический анализ //Труды СПИИРАН. - 2014.
- Т. 3. - №. 34. - С. 178-203.
30. Белова Е., Окороков Д. Технический анализ финансовых рынков. Учебное пособие. - Litres, 2017.