Отчет семинара.

АННОТАЦИЯ

Фондовый рынок или рынок акций — один из самых сложных и изощренных способов ведения бизнеса. Мелкие собственники, брокерские корпорации, банковский сектор — все зависит от этого самого органа, чтобы получать доход и распределять риски; очень сложная модель. Предлагается алгоритм машинного обучения для прогнозирования будущей цены акций на бирже с использованием библиотек с открытым исходным кодом и уже существующих алгоритмов, чтобы сделать этот непредсказуемый формат бизнеса немного более предсказуемым. Результат полностью основан на числах и предполагает множество аксиом, которые могут или не могут следовать в реальном мире, как и время предсказания.

1. ВВЕДЕНИЕ

Фондовый рынок — один из старейших методов, с помощью которого обычный человек может торговать акциями, делать инвестиции и зарабатывать деньги на компаниях, которые продают часть себя на этой платформе. Эта система оказывается потенциальными инвестиционными схемами, если все сделано с умом. Однако цены и ликвидность этой платформы крайне непредсказуемы, и именно здесь на помощь приходят технологии. Машинное обучение — один из таких инструментов, который помогает в достижении требований.

Фондовый рынок — это место, где люди покупают или продают акции публичных компаний. Он предлагает платформу для облегчения беспрепятственного обмена акциями. Проще говоря, если А хочет продать акции Reliance Industries, фондовый рынок поможет ему найти продавца, который готов купить Reliance Industries. Однако важно отметить, что человек может торговать на фондовом рынке только через зарегистрированного посредника, известного как биржевой маклер. Покупка и продажа акций происходит через электронную среду. В Индии есть две основные фондовые биржи, на которых совершается большинство сделок: Бомбейская фондовая биржа (BSE) и Национальная фондовая биржа (NSE). Фондовый рынок является очень важной торговой площадкой, которая затрагивает каждого на индивидуальном и национальном уровне [2]. Основной принцип довольно прост: компании размещают свои акции в компаниях как небольшие товары, называемые акциями. Они делают это, чтобы собрать деньги для фирмы. Компания размещает свои акции по цене, называемой IPO или первичным публичным предложением. Это цена предложения, по которой компания продает акции и привлекает деньги. После чего эти акции становятся собственностью владельца, и он может продать их по любой цене покупателю на такой бирже, как БФБ или Бомбейская фондовая биржа. Трейдеры и покупатели продолжают продавать эти акции по своей цене, но компания получает только деньги, заработанные во время IPO. Продолжающаяся передача акций от одной стороны к другой с целью получения большей прибыли приводит к увеличению цены конкретной акции после каждой прибыльной сделки.

1.1 Почему люди боятся инвестировать в фондовый рынок?

Инвестировать страшно, потому что возврат не гарантирован. Вместо этого они зависят от того, насколько хорошо работают инвестиции человека и сколько они стоят при продаже. В результате возникает риск потери первоначально вложенной суммы. Существует также потенциал для вкусной положительной прибыли, но эту возможность часто упускают из виду. Страх удерживает людей за пределами инвестиционного мира и, возможно, от достижения их долгосрочных финансовых целей. Вместо того, чтобы инвестировать, люди предпочитают хранить свои деньги на сберегательных счетах и ​​ISA Cash. Хотя экономия — это разумный шаг, это не всегда самый подходящий вариант, если вы ищете долгосрочный рост. Стоимость сбережений может упасть, если получаемая процентная ставка упадет ниже уровня инфляции. Вот почему важно думать об инвестициях. Поскольку доходность не привязана к какой-либо фиксированной процентной ставке, есть шанс получить доход, превосходящий инфляцию. На самом деле, в долгосрочной перспективе акции, как правило, работают лучше, чем наличные деньги.

1.2 Что люди обычно понимают на рынке?

Торговля — это, по сути, обмен товарами и услугами между двумя субъектами. Это основной принцип, лежащий в основе всех экономических обществ и финансовой деятельности. Торговля управляет колесами прогресса в любом обществе и позволяет создавать богатство. Есть в основном два типа торговли. Долгосрочная торговля и краткосрочная торговля. Внутридневная торговля и долгосрочное инвестирование являются жизнеспособными формами торговли ценными бумагами, и многие трейдеры предпочитают делать и то, и другое. Дневная торговля включает в себя совершение сделок, которые длятся секунды или минуты, используя краткосрочные колебания цены актива. При внутридневной торговле все позиции открываются и закрываются в течение одного дня. С другой стороны, долгосрочное инвестирование состоит из сделок, которые остаются открытыми месяцами, а часто и годами. Это сделки купи-и-держи, а не быстрые сделки купи-продай. Процесс принятия решений для внутридневной торговли может сильно отличаться от процесса долгосрочного инвестирования с различными навыками и, в некоторых случаях, личностными качествами, необходимыми для каждого. Существует также золотая середина между инвестированием и дневной торговлей, называемая свинг-трейдингом, когда сделки длятся от нескольких дней до нескольких месяцев.

1.3 Как машинное обучение помогает анализировать фондовый рынок?

Машинное обучение — это применение искусственного интеллекта (ИИ) и метода анализа данных, который учится на опыте, используя вычислительные данные, чтобы «извлекать» информацию непосредственно из данных, не полагаясь на заранее определенное уравнение. Другими словами, чем больше данных он получает, тем умнее он становится. Алгоритмы находят закономерности в данных, которые генерируют понимание для принятия более эффективных и разумных решений. Краткосрочная и долгосрочная торговля предпринимались в прошлом, и некоторые люди даже продолжают использовать их сегодня. У них есть свои достоинства и недостатки, но, в конце концов, они не могут надежно предсказать рынок так, как предполагалось.
Фундаментальный анализ — включает экономические факторы, влияющие на цену акции. . Эти факторы включают баланс, отчет о прибылях и убытках и отчет о движении денежных средств. Бухгалтерский баланс — это финансовый отчет, в котором, среди прочего, содержится информация об активах, обязательствах и собственном капитале компании. Он сообщает людям, чем владеет компания и какие долги она должна выплатить. В отчете о прибылях и убытках перечислены доходы, расходы, а также прибыль или убыток компании. Отчет о движении денежных средств информирует людей о том, как деньги приходят и уходят из бизнеса. Фундаментальный анализ использует эти документы, чтобы предсказать финансовое положение компании.

Технический анализ. Используется для прогнозирования того, что думают другие акционеры, исходя из цены и объема торгуемых акций. Технический анализ использует ряд различных типов индикаторов, чтобы прогнозировать, куда движется цена акции. Общий ключ к техническому анализу - выяснить, идет ли тренд вверх или вниз, и попытаться обнаружить закономерности.

Попытаться построить график биржевой цены за определенный период времени и предсказать ее следующий результат — тяжелая работа. Человеческий мозг очень способен расширить график на несколько координат, просто взглянув на него в течение нескольких минут. [1] И если вычислить толпу, т. е. заставить группу случайных людей попытаться расширить график на фиксированное количество времени (скажем, на неделю), можно получить разумный и приблизительный ответ для реальных графиков. Потому что многие мозги будут пытаться интерпретировать закономерность и делать предположения, и такая деятельность на практике оказалась намного более успешной, чем кажется в теории. [5] Сказав это, предсказание истинной стоимости акций лучше всего оценивается методом крауд-вычислений. Но совершенно очевидно, что массовые вычисления — это очень медленное занятие, поэтому здесь мы пытаемся использовать компьютер для моделирования такого примера с более научным и математическим подходом. В статистике есть способ посмотреть на значения и атрибуты проблемы на графиках, идентифицировать зависимые и независимые переменные и попытаться установить или идентифицировать существующую связь между ними [3][4]. Этот метод известен как линейная регрессия в статистике и очень часто используется из-за его очень простого и эффективного подхода. В машинном обучении адаптируется тот же алгоритм, в котором функции используются для обучения классификатора, который затем предсказывает значение метки с определенной точностью, которую можно проверить при обучении и тестировании классификатора. Чтобы классификатор был точным, необходимо выбрать правильные функции и иметь достаточно данных для обучения классификатора. Точность классификатора прямо пропорциональна количеству данных, предоставленных классификатору, и выбранным атрибутам.

1.4 Связанные модели прогнозирования машинного обучения

Машинное обучение не совсем подходит для последовательного прогнозирования фондового рынка. По всему миру проводятся эксперименты в поисках идеальной техники, позволяющей сделать то, что всегда было невозможно. Это просто заставляет людей стараться больше и больше верить в то, что у них есть волшебный алгоритм для достижения Святого Грааля. Вот несколько техник, которые используют люди:

Скользящее среднее. это метод, используемый в техническом анализе, который сглаживает ценовые истории путем усреднения дневных цен за определенный период времени. Скользящая средняя рассчитывается по-разному в зависимости от ее типа (простая или экспоненциальная). Человек обычно использует исторические данные, такие как последние 30, 60 или 90 дней, с техническими индикаторами для прогнозирования цены акций. Машинное обучение может использовать нейронные сети для обнаружения закономерностей в данных, которые другие системы не могут обнаружить, что дает преимущество перед ними. Эксперименты могут проводиться на основе определенных критериев, и результаты проверяются. Если конечный результат неудовлетворителен, некоторые входные данные и другие факторы можно изменить, чтобы определить лучший результат.

Линейная регрессия — анализирует две отдельные переменные для определения единой взаимосвязи и является полезной мерой для технического и количественного анализа на финансовых рынках. Он возвращает уравнение, определяющее взаимосвязь между независимыми переменными и зависимой переменной. При использовании в машинном обучении линейная регрессия представляет собой простой метод, основанный на обучении с учителем. Это в основном используется для выяснения взаимосвязи между переменными и прогнозирования.

2. МОДЕЛЬ ПРОГНОЗА

В этом разделе описываются этапы, которые необходимо пройти для прогнозирования модели.

2.1 Этап анализа данных

На этом этапе изучаются доступные необработанные данные, чтобы определить подходящие атрибуты для прогнозирования выбранной метки. Необходимые данные для программы берутся с www.quandl.com, главной платформы для предоставления наборов данных.

Взятый набор данных предназначен для GOOGL с помощью WIKI и может быть извлечен с сайта quandl.com с использованием токена «WIKI/GOOGL». Были извлечены и использованы данные примерно за 14 лет.

Атрибуты набора данных включают:

  • Открыть (Цена открытия Акции)
  • Высокий (максимально возможная цена в момент времени)
  • Низкая (самая низкая цена, возможная в данный момент времени)
  • Close (Цена закрытия акции)
  • Объем (общее количество сделок в течение дня)

Скорректированные значения атрибутов Adj. Открытый, прил. Высокий, прил. Низкий, прил. Закрыть и прил. Объем

Атрибут «Закрыть» выбран в качестве метки (переменная, которая будет прогнозировать) и использовать «Корр. Открытый, прил. Высокий, прил. Близко, прил. Низкий и прил. Объем», чтобы извлечь функции, которые помогут лучше предсказать результат. Скорректированные значения используются вместо необработанных, поскольку эти значения уже обработаны и не содержат распространенных ошибок сбора данных. Графики, созданные для анализа запасов, используют указанные выше атрибуты для их построения. Такие графики называются графиками Candlebar или OHLCV [11] и очень информативны в отношении состояния акций. Те же самые графические параметры могут использоваться для определения функций классификатора.

Набор используемых функций:

  • Прил. Закрытие: это важный источник информации, поскольку он определяет цену открытия рынка на следующий день и ожидаемый объем в течение дня.
  • HL PCT: это производный признак, который определяется:

HL PCT = ( Ad j.High − Ad j.Low ) / Ad j.Close

Используется процентное изменение, так как это помогает уменьшить количество объектов, но сохранить задействованную чистую информацию. High-Low – важная функция, поскольку она помогает сформулировать форму графика OHLCV.

  • Изменение PCT: это также производный признак, определяемый:

Изменение PCT=( Adj.Close-Adj.Open) / Ad j.Open

  • Та же самая обработка выполняется с Open и Close как High и Low, поскольку они оба очень важны в модели прогнозирования и также помогают уменьшить количество избыточных функций.
  • Прил. Объем: это очень важный параметр для принятия решения, поскольку объем торгов оказывает самое непосредственное влияние на будущую цену акций, чем любой другой параметр. Поэтому он используется без каких-либо изменений.
  • Данные успешно проанализированы и извлечена полезная информация, необходимая для классификатора. Это очень важный шаг, и к нему следует относиться с особой осторожностью. Пропуск информации или небольшая ошибка в получении полезной информации приведет к отказу модели предсказания и очень неэффективному классификатору. Кроме того, извлеченные функции очень специфичны для используемого объекта и определенно будут варьироваться от объекта к объекту. Обобщение возможно тогда и только тогда, когда данные другого субъекта собираются с той же согласованностью, что и предыдущий субъект.

2.2 Этап обучения и тестирования

На этом этапе извлеченные данные внедряются в модель машинного обучения. Такие библиотеки, как SciPy, Scikit-Learn и Matplolib на Python, используются для программирования модели, обучения их с помощью извлеченных функций и меток, а затем их тестирования с теми же данными.

Во-первых, данные предварительно обрабатываются для создания данных, которые включают:

  • Сдвинуты значения атрибута метки на процент, который должен быть предсказан.
  • Формат Dataframe преобразуется в формат массива Numpy.
  • Все значения данных NaN удаляются перед передачей их в классификатор.
  • Данные масштабируются таким образом, что для любого значения X, X £ [-1, 1]
  • Данные разделены на тестовые данные и обучающие данные в соответствии с их типом, то есть меткой и функцией.

Теперь данные готовы для ввода в классификатор. Используется простейший классификатор, то есть линейная регрессия, который определен в библиотеке Sklearn пакета Scikit-learn. Этот классификатор выбран из-за его простоты. Линейная регрессия — очень часто используемый метод анализа данных и прогнозирования. По сути, он использует ключевые функции для прогнозирования отношений между переменными на основе их зависимости от других функций. [9] Эта форма прогнозирования известна как контролируемое машинное обучение.

Обучение с учителем — это метод, при котором вводятся помеченные данные, т. е. функции сопоставляются с их метками. Классификатор обучен таким образом, что он изучает закономерности того, какая комбинация признаков приводит к тому или иному ярлыку. В этом случае классификатор видит признаки и просто смотрит на их метки и запоминает их. Он запоминает комбинацию функций и соответствующую метку, которая в данном случае является ценой акции через несколько дней. Затем он движется дальше и узнает, какому шаблону следуют функции для создания соответствующей метки. Вот как работает контролируемое машинное обучение [10]. Для тестирования в контролируемом машинном обучении некоторая комбинация функций вводится в обученный классификатор и сверяется с выходными данными классификатора с фактической меткой. Это помогает определить точность классификатора, что очень важно для этой модели. Классификатор с точностью менее 95% практически бесполезен. Точность является очень важным фактором в модели машинного обучения.

2.3 Результат

После того, как модель готова, она используется для получения желаемых результатов в любой требуемой форме. В этом случае строится график результатов (рис. 1) в соответствии с требованиями.

Ключевым компонентом каждого результата является точность, которую он обеспечивает. Она должна соответствовать потребностям, а модель с точностью менее 95% бесполезна. Существует несколько стандартных методов расчета точности машинного обучения, вот некоторые из них:

  • Значение R2 модели.
  • Скорректированное значение R2
  • среднеквадратичное значение
  • Матрица путаницы для задач классификации.

Точность — это компонент, которому всегда стремится способствовать каждый разработчик машинного обучения. После того, как модель разработана, предпринимаются бесконечные усилия по ее оптимизации для получения все более и более точных результатов. Есть несколько очень распространенных и простых способов повысить эффективность модели. Некоторые из стандартных способов оптимизации алгоритма машинного обучения:

  1. Неограниченная оптимизация
  • Градиентный спуск
  • Метод Ньютона
  • Пакетное обучение
  • Стохастический градиентный спуск

2. Ограниченная оптимизация

  • Двойственность Лагранжа
  • SVM в первичной и двойной формах
  • Ограниченные методы

В конце концов, большинство проблем машинного обучения — это проблемы оптимизации, когда объект функции минимизируется до некоторых ограничений.

3. ПОЛЕЗНЫЕ СОВЕТЫ

Содержание, включенное в этот сеанс, поможет успешному завершению предсказания.

3.1 Требования и спецификация

Точные требования к задаче, а также спецификация машины и производительности должны быть хорошо известны на самом первом этапе. С этим шагом не следует торопиться, так как он очень важен для принятия решения об общем плане разработки программы.

3.2 Тщательный анализ функций

Нужно быть очень осторожным при извлечении функций из данных, поскольку они играют непосредственную роль в модели прогнозирования. Функции должны иметь прямой смысл в сочетании с метками. Настоятельно рекомендуется свести к минимуму функции, на которые распространяются требования ограничений, насколько это возможно.

3.3 Реализация

Необходимо выбрать соответствующую модель, в которой математика будет реализована для получения результатов. Выбранная или спроектированная модель должна соответствовать входным данным. Неправильная модель, разработанная или выбранная для неподходящих данных, или наоборот, приведет к созданию полностью бесполезной мусорной модели. Также хорошей практикой является одновременное тестирование разных моделей, чтобы проверить, какие из них работают наиболее эффективно.

Кроме того, внедрение является самым простым шагом и должно занимать наименьшее количество времени, чтобы сэкономить некоторое время из общих временных затрат, которые можно было бы использовать на некоторых других важных этапах.

3.4 Обучение и тестирование

Обучение модели очень простое. Необходимо убедиться, что данные непротиворечивы, непротиворечивы и доступны в большом количестве. Большой набор обучающих данных способствует созданию более сильного и точного классификатора, что в конечном итоге повышает общую точность.

Тестирование также является очень простым процессом. Убедитесь, что тестовые данные составляют не менее 20% от размера обучающих данных. Важно понимать, что тестирование — это проверка точности классификатора, и иногда наблюдается обратно пропорциональная оценка классификатора. Однако точность классификатора не зависит и не коррелирует с тестированием. Иногда так кажется, но тестирование не имеет никакого отношения к классификатору.

3.5 Оптимизация

Практически невозможно создать универсальный классификатор за один раз, поэтому его всегда следует оптимизировать. Всегда есть место для совершенствования. При оптимизации помните о стандартных методах и основных требованиях. Переход к SVM, попытка и тестирование различных моделей, поиск новых и улучшенных функций, изменение всей модели данных, чтобы она полностью соответствовала модели, и т. д. — вот некоторые очень фундаментальные способы оптимизации классификатора.

3.6 Некоторые распространенные ошибки

Некоторые из распространенных ошибок, допускаемых практиками в этой области, которых необходимо избегать [12], заключаются в следующем:

  • Плохая аннотация наборов данных для обучения и тестирования
  • Плохое понимание предположений алгоритмов
  • Плохое понимание параметров алгоритмов
  • Непонимание цели
  • Непонимание данных
  • Избегайте утечки (Характеристики, информация)
  • Недостаточно данных для обучения классификатора
  • Использование машинного обучения там, где это не нужно

4. ВЫВОД

Машинное обучение — очень мощный инструмент, и, как очевидно, у него есть несколько отличных применений. Было замечено, что машинное обучение очень сильно зависит от данных. Таким образом, важно понимать, что данные бесценны, а анализ данных — непростая задача.

Машинное обучение нашло огромное применение и превратилось в глубокое обучение и нейронные сети, но основная идея для всех них более или менее одинакова. Существуют различные способы, методы и приемы, доступные для реализации машинного обучения, а также для обработки и решения различных проблем в различных мыслимых ситуациях.

5. ССЫЛКИ

[1] Эндрю МакКаллум, Камаль Нигам, Джейсон Ренни, Кристи Сеймор «Подход машинного обучения к созданию поисковой системы для предметной области», IJCAI, 1999 — Citeseer

[2] Ядав, Самир. (2017). ВОЛАТИЛЬНОСТЬ ФОНДОВОГО РЫНКА — ИССЛЕДОВАНИЕ ИНДИЙСКОГО ФОНДОВОГО РЫНКА. Глобальный журнал исследовательского анализа. 6. 629–632.

[3] Монтгомери, округ Колумбия, Пек, Э.А. и Вининг, Г.Г., 2012. Введение в линейный регрессионный анализ (том 821). Джон Уайли и сыновья.

[4] Дрейпер, Н.Р.; Смит, Х. (1998). Прикладной регрессионный анализ (3-е изд.). Джон Уайли. ISBN 0–471–17082–8.

[5] Роберт С. Пиндик и Дэниел Л. Рубинфельд (1998, 4 изд.). Эконометрические модели и экономические прогнозы.

[6] Линейная регрессия, 1997–1998 гг., Йельский университет http://www.stat.yale.edu/Courses/1997-98/101/linreg.htm

[7] Агарвал (14 июля 2017 г.). «Введение в фондовый рынок». Интеллигентный экономист. Проверено 18 декабря 2017 г.

[8] Джейсон Браунли, март 2016 г., Линейная регрессия для машинного обучения, Мастерство машинного обучения, просмотрено в декабре 2018 г., https://machinelearningmastery.com/linear-regression-for-machine- learning/

[9] Google Developers, октябрь 2018 г., Decending into ML: Linear Regression, Google LLC, https://developers.google.com/machine- learning/crash-course/descending-into-ml/linear. -регрессия

[10] Fiess, N.M. и MacDonald, R., 2002. К основам технического анализа: анализ информационного содержания цен High, Low и Close. Экономическое моделирование, 19(3), стр. 353–374.

[11] Гурвиц, Э. и Марвала, Т., 2012. Распространенные ошибки при применении вычислительного интеллекта и машинного обучения к моделированию фондового рынка. Препринт arXiv arXiv: 1208.4429.

Загрузить отчет