Применение математического анализа и искусственного интеллекта в дневном трейдинге
Рассмотрение персоны - Джеймс Саймонс, который основал хедж-фонд (инвестиционная компания) "Ренессанс", в которой по большей части используется машинное обучение и анализ данных для предсказания роста/падения цен. Направление движения фондового индекса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 20.10.2024 |
Размер файла | 4,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Применение математического анализа и искусственного интеллекта в дневном трейдинге
Газимов А.Ш.
студент
Уфимский университет науки и технологий (г. Уфа, Россия)
Аннотация: в статье представлена модель искусственного интеллекта, способная предвидеть рост стоимости ценной бумаги.
Ключевые слова: трейдинг, искусственный интеллект, ценные бумаги.
Gazimov A.Sh.
Ufa University of Science and Technology (Ufa, Russia)
APPLICATION OF MATHEMATICAL ANALYSIS AND ARTIFICIAL INTELLIGENCE IN DAY TRADING
Abstract: the article presents an artificial intelligence model that can predict the increase in the value of a security.
Keywords: trading, artificial intelligence, AI, Python.
Цена ценной бумаги может зависеть от погоды, политики, конкурентов, новых игроков на рынке, инноваций и многих других факторов. И именно по этой причине самыми успешными трейдерами являются математики и физики. В то время как обычный народ пытается управлять хаосом, доктора наук подстраиваются под него. В конечном итоге скажем, что в течение одного дня цена может пойти либо вверх, либо вниз, варианта всего два - а посему, можно предположить, что она будто зависит от подбрасывания монеты. Такой гипотезой в свое время так или иначе воспользовались Луи Башелье, Майрон Шоулз и Фишер Блэк, и, наконец, Джеймс Саймонс. Каждый из них в своём стиле победил гипотезу эффективного рынка (гипотеза при которой считается, что паттернов в цене активов не существует), при этом заработав огромное количество денег. Пройдемся по их стопам и применим современный подход к оцениванию цены бумаг на рынке. трейдинг искусственный интеллект ценная бумага
Шоулз и Блек составили революционную модель, которая определяет теоретическую цену на европейские опционы. Решив эту аналитическую формулу получаем ожидаемую стоимость покупки/продажи в указанный день, таким образом открылась возможность безрискового хеджирования (Покупая акции и одновременно продавая опционы call на эти акции, инвестор может конструировать безрисковую позицию, где прибыли по акциям будут точно компенсировать убытки по опционам, и наоборот). Эта модель породила четыре новые отрасли и была настоящим прорывом в области экономики.
Более интересная для нас персона - Джеймс Саймонс, основал хедж- фонд (инвестиционная компания) “Ренессанс”, в которой по большей части используется машинное обучение и анализ больших данных для предсказания роста/падения цен. Прибыль от вложенных 100$ в 1988 на сегодняшний день могла бы составить 8.400.000.000$, что безоговорочно делает это самым выгодным вкладом за всю историю.
С огромным ростом популярности машинного обучения в последние годы было бы глупо не заинтересоваться механизмом работы скрипта, осуществляющего обучение искусственного интеллекта. Будем пользоваться языком программирования Python, для обучающей модели я выбрал Случайный Лес (Random Forest Classifier) из библиотеки scikit-learn. Также нам понадобится модуль yfinance от YaHoo для загрузки исторических данных в модель. Ну и Pandas, конечно, для удобной работы с большими данными.
Рисунок 1.
Тикером в трейдинге называется краткое название ценной бумаги (в нашем случае это будет AGSPC). Мы будем работать с американской биржей и предугадывать направление движения фондового индекса S&P500, а точнее, вырастет ли цена бумаги в течение всего дня.
Рисунок 2.
35 строка кода покажет нам такие данные:
Рисунок 3.
Как вы видите, в нашем распоряжении 7 столбцов - дата, цены открытия, закрытия, наибольшей и наименьшей за день, а также дивиденды и дробление. Последние два столбца нам не нужны (они все равно по нулям), поэтому удалим их в 37 и 38 строке. В 36 мы настроили дату как индекс, чтобы в будущем программа все данные привязывала именно к дате. С 39 строки начинается самое интересное - мы добавляем к нашей таблице два новых столбец - цену закрытия на следующий день (Next_Close) и целевое значение (Target), представляющее из себя ответ на вопрос: “Будет ли цена завтра вечером больше чем сегодня вечером?” или “Вырастет ли завтра цена в течение дня?”. Этот столбец нам очень сильно пригодится в будущем, когда мы будем проверять нашу модель на точность. В 41 строке избавимся от “лишних” данных по цене до 1990 года, просто бумага стоила намного меньше в то время, чем сейчас и эти данные мы должны считать мусорными.
Вот так просто создается сама модель Случайного Леса. Уже на этом моменте можно “скормить” ей наши данные о цене (цены открытия и закрытия, максимальная и минимальная за день) и получать какой-никакой результат, но гораздо большего мы достигнем, если дадим ей другие, более полные данные.
Рисунок 5.
В 45 строке в списке лежат горизонты - количество дней которое мы будем брать за расчет скользящих средних и трендов. Последние 2 дня, неделя, 3 месяца (в торговом месяце ~20 дней), год (в торговом году ~250 дней), и, соответственно, 4 года. Таким образом у нас добавится целых 10 столбцов на анализ нашей модели. В 60 строке сотрем все строки в которых появились NaN (not a number, если считать тренд за, например, 5 дней первые 4 будут дня будут пустыми, так как данные по цене брать неоткуда).
Пришло время самой сложной части программы для понимания: бэктестинга (backtesting).
Рисунок 6.
Данная функция обучается на первых 2500 днях из переменной data и строит прогноз на следующие 250 дней, затем добавляет последний год к предыдущим десяти и предсказывает двенадцатый год. То есть, по сути, начиная с 10 лет модель каждую итерацию цикла увеличивает обучаемый набор на год. В 27 строке все предсказания собираются в 1 панда-датасет, последним элементом этого набора как раз и будет нас интересующее число: предсказание на завтра. Функция make_predictions, используемая в 25 строке и описанная в 11 строке возвращает две колонки нулей и единиц, действительные и предполагаемые значения роста цены. В 14 строке есть настройка коэффициента уверенности: если модель на 63% и более уверенна что значение будет 1, то она выберет 1, в обратном случае будет выбран 0.
Рисунок 7.
Запустив программу получаем такие выводы:
Рисунок 8.
Точность модели написана в самой первой строчке - это означает, что когда модель думала, что цена в течение дня вырастет, она действительно выросла в ~60% случаев. Ниже представлена статистика по реальному количеству дней, когда цена выросла - 54.4%. Из этих двух чисел можем сделать вывод, что модель действительно прибыльная. Еще ниже есть статистика по точному количеству дней, когда модель угадала, что цена может вырасти: 351 день (то есть она действительно выросла в 351*0.6011=211 случаях). Наконец, строка Last Prediction: 0 - завтра цена по мнению модели не вырастет. Время работы скрипта в секундах.
Послесловие
Несмотря на то, что точность модели выше реального количества “прибыльных” дней, сама модель вполне возможно может проиграть наши деньги - просто напросто все “победы” могут нивелироваться одним большим проигрышем из дней неудачных.
Что же делать теперь? Все опытные трейдеры всегда опираются на множество факторов при принятии решения, точно так же и мы должны найти больше факторов, а не основывать все наши действия на одной только модели искусственного интеллекта. Возможно, стоит добавить еще больше столбцов в датасет stock_history, изменить коэффициент уверенности (в программе он был
0. 63., работать с моделью в связке с индикаторами сухого мат. анализа, ну и наконец, следить за новостями.
СПИСОК ЛИТЕРАТУРЫ:
1. https://www.youtube.com/watch?v=A5w- dEgIU1M&list=LL&index=2&ab_channel=Veritasium
https://www.youtube.com/watch?v=1O_BenficgE&list=LL&index=40&t=243s&ab_channel=Dataquest;
2. https://scikit-learn.ru
Размещено на Allbest.ru
...Подобные документы
Эволюция систем искусственного интеллекта. Направления развития систем искусственного интеллекта. Представление знаний - основная проблема систем искусственного интеллекта. Что такое функция принадлежности и где она используется?
реферат [49,0 K], добавлен 19.05.2006Искусственный интеллект – научное направление, связанное с машинным моделированием человеческих интеллектуальных функций. Черты искусственного интеллекта Развитие искусственного интеллекта, перспективные направления в его исследовании и моделировании.
реферат [70,7 K], добавлен 18.11.2010Агентно-ориентированный подход к исследованию искусственного интеллекта. Моделирование рассуждений, обработка естественного языка, машинное обучение, робототехника, распознание речи. Современный искусственный интеллект. Проведение теста Тьюринга.
контрольная работа [123,6 K], добавлен 10.03.2015Общая характеристика дисциплины "Основы искусственного интеллекта". Ее предмет, цели и задачи. Особенности и расшифровка ряда понятийных терминов, характеризующих сущность кибернетики. Методы и алгоритмы анализа данных для получения знаний и обучения.
презентация [10,9 K], добавлен 03.01.2014Применение методов искусственного интеллекта и современных компьютерных технологий для обработки табличных данных. Алгоритм муравья, его начальное размещение и перемещение. Правила соединения UFO-компонентов при моделировании шахтной транспортной системы.
дипломная работа [860,8 K], добавлен 23.04.2011Сущность и проблемы определения искусственного интеллекта, его основных задач и функций. Философские проблемы создания искусственного интеллекта и обеспечения безопасности человека при работе с роботом. Выбор пути создания искусственного интеллекта.
контрольная работа [27,9 K], добавлен 07.12.2009Понятие искусственного интеллекта как свойства автоматических систем брать на себя отдельные функции интеллекта человека. Экспертные системы в области медицины. Различные подходы к построению систем искусственного интеллекта. Создание нейронных сетей.
презентация [3,0 M], добавлен 28.05.2015Сущность искусственного интеллекта, сферы человеческой деятельности, в которых он распространен. История и этапы развития данного явления. Первые идеи и их воплощение. Законы робототехники. Использование искусственного интеллекта в коммерческих целях.
реферат [40,8 K], добавлен 17.08.2015Получение навыков работы в Mathcad при использовании интерполяции и регрессии. Постройте функции сглаживания и предсказания данных с помощью различных встроенных функций. Применение операций как калькулятор, математический анализ, матрица и вычисление.
лабораторная работа [205,1 K], добавлен 23.12.2014Характеристика сущности искусственного интеллекта. Проблема создания искусственного интеллекта. Базовые положения, методики и подходы построения систем ИИ (логический, структурный, эволюционный, имитационный). Проблемы создания и реализация систем ИИ.
реферат [43,1 K], добавлен 19.07.2010Может ли искусственный интеллект на данном уровне развития техники и технологий превзойти интеллект человека. Может ли человек при контакте распознать искусственный интеллект. Основные возможности практического применения искусственного интеллекта.
презентация [511,2 K], добавлен 04.03.2013История создания и основные направления в моделировании искусственного интеллекта. Проблемы обучения зрительному восприятию и распознаванию. Разработка элементов интеллекта роботов. Исследования в области нейронных сетей. Принцип обратной связи Винера.
реферат [45,1 K], добавлен 20.11.2009Начало современного этапа развития систем искусственного интеллекта. Особенности взаимодействия с компьютером. Цель когнитивного моделирования. Перспективы основных направлений современного развития нейрокомпьютерных технологий, моделирование интеллекта.
реферат [24,7 K], добавлен 05.01.2010История развития искусственного интеллекта в странах дальнего зарубежья, в России и в Республике Казахстан. Разработка проекта эффективного внедрения и адаптации искусственного интеллекта в человеческом социуме. Интеграция искусственного в естественное.
научная работа [255,5 K], добавлен 23.12.2014Применение методов искусственного интеллекта при определении цвета глаз будущего ребенка. Сущность нейросетевых технологий, обучение нейросимуляторов. Зависимость погрешности обучения от погрешности обобщения. Оценка значимости входных параметров.
презентация [287,2 K], добавлен 14.08.2013Исторический обзор развития работ в области искусственного интеллекта. Создание алгоритмического и программного обеспечения вычислительных машин, позволяющего решать интеллектуальные задачи не хуже человека. От логических игр до медицинской диагностики.
реферат [29,1 K], добавлен 26.10.2009Понятие и суть нечеткой логики и генетических алгоритмов. Характеристика программных пакетов для работы с системами искусственного интеллекта в среде Matlab R2009b. Реализация аппроксимации функции с применением аппарата нечеткого логического вывода.
курсовая работа [2,3 M], добавлен 23.06.2012Современные разработки в области искусственного интеллекта: составление расписаний, принципы автономного планирования и управления, диагностика, понимание естественного языка, ведение игр, автономное управление, робототехника. Направления исследований.
реферат [24,0 K], добавлен 11.03.2014Общая характеристика экспертных программ как систем искусственного интеллекта. Описание реализации в реляционной системе управления базами данных. Рассмотрение особенностей интеграции объектных таблиц принятия решения в проект по распознаванию символов.
дипломная работа [662,5 K], добавлен 20.07.2015Искусственные нейросетевые системы как перспективное направление в области разработки искусственного интеллекта. Назначение нейро-нечётких сетей. Гибридная сеть ANFIS. Устройство и принцип работы нейро-нечётких сетей, применение в экономике и бизнесе.
контрольная работа [102,5 K], добавлен 21.06.2012