Мухаммад Рафай Алим, Нандита Двиведи, Киран

1. Мотивация и предыстория

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

Сопутствующие работы

В прошлом было предпринято множество попыток предсказать цены на акции компаний, а также понять, как текст новостных статей, сообщений в Twitter и других платформ влияет на цены акций. Эти попытки включали анализ влияния настроений в отношении упомянутых ресурсов и прогнозирование стоимостных цен на акции. Что до сих пор остается неизученным, так это влияние настроений финансовых отчетов на эти фондовые рынки. Гарвардская школа бизнеса опубликовала рабочий документ «Ленивые цены», в котором утверждается, что эти финансовые отчеты влияют на курс акций фирмы. Они заявили, что резкое изменение сходства (оценки Жаккара и Косинуса) этих документов может увеличить или уменьшить рыночную стоимость фирмы [1].

2. Заявление о проблеме

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

  1. В какой степени квартальные и годовые финансовые отчеты, представляемые фирмами, влияют на стоимость их акций?
  2. Как включение настроений в исторические финансовые отчеты влияет на прогноз цен на акции?
  3. Как мы можем построить стабильный портфель, используя прогнозные значения на квартал?

Эти проблемы являются сложными, потому что нам пришлось провести много предварительных исследований в предметной области. Использование правильных функций и правильное проектирование функций для получения наилучших прогнозов потребовало значительного обучения. Кроме того, источник данных и формат для этих файлов не согласованы, и поэтому очистка и анализ данных были большой проблемой. Здесь задействованы два разных источника данных: один - это данные из финансовых отчетов, а другой - стоимость акций. Чтобы подготовить набор данных для анализа и обучить нашу модель прогнозирования, нам пришлось изучить различные методы интеграции этих двух источников. Эти наборы данных не соответствуют друг другу, так как данные OHLC публикуются ежедневно, а отчеты SEC публикуются каждый квартал. Чтобы объединить их вместе, нам пришлось тщательно сопоставить диапазоны дат и тщательно спроектировать функции, чтобы сопоставить прогнозы на следующий квартал.

3. Data Science Pipeline

3.1 Сбор данных

Документы по SEC 10-Q и 10-K от EDGAR

Самым первым шагом в нашем конвейере данных было очистить базу данных SEC Edgar (Электронный сбор, анализ и извлечение данных). Это онлайн-база данных, поддерживаемая Комиссией по ценным бумагам и биржам США («SEC») для отслеживания всех заявок SEC публичными компаниями, и в настоящее время она содержит более 12 миллионов таких заявок.

Поскольку на момент написания этого документа EDGAR не поддерживает никаких параметров фильтрации, кроме тикеров компаний и центральных индексных ключей (CIK), нам пришлось очистить все заявки 10-K и 10-Q для компаний S&P 500 [2], независимо от того. интересующих нас периодов времени.

Мы собрали около 60 ГБ этих данных для тикеров S&P 500 из базы данных. Поскольку EDGAR ограничивает количество запросов на пользователя до 10 в секунду, нам пришлось добавить несколько дополнительных примитивов, чтобы учесть это ограничение. Кроме того, учитывая огромный размер набора данных, мы поддерживали контрольные точки для каждого загруженного тикера, чтобы можно было возобновить работу в более позднее время в случае сбоев и избежать потери данных.

Данные OHLC из Quandl API

OHLC (открытие-максимум-минимум-закрытие) - это тип набора данных, который предоставляет цены открытия, максимума, минимума и закрытия для акций на каждый рабочий день. Этот набор данных был одной из наиболее важных сведений, используемых для обучения наших моделей на более поздних этапах нашего конвейера. Мы использовали Stocker [3], абстракцию Python на Quandl API, чтобы получить эти данные OHLC для каждой компании S&P 500.

3.2 Подготовка данных

Документы по SEC 10-Q и 10-K от EDGAR

Мы обнаружили, что очищенные документы SEC 10-K и 10-Q были сильно неструктурированными, поскольку они содержали HTML-теги, символы и числовые таблицы. Мы очистили эти файлы, удалив несвязанные данные, а затем использовали их для синтаксического анализа HTML в чистые текстовые данные, которые затем использовались для анализа настроений. Для очистки и парсинга мы использовали регулярное выражение, NumPy и BeautifulSoup.

В рамках подготовки данных мы также сгенерировали файлы сопоставления списков CikList для заявок 10-K и 10-Q для каждого CIK, которые содержали сопоставления для дат, типов SEC, имен файлов, CIK и тикеров. Поле даты было датой подачи формы SEC; Тип SEC был 10-Q или 10-K, а имя файла - файл SEC.

Каждый файл сопоставления CikList имел примерно 12 строк для файлов 10-K и 34 строки для файлов SEC 10-Q для окна 10 лет. Мы использовали эти файлы сопоставления, чтобы отслеживать файлы SEC для каждого CIK. Эти сохраненные сопоставления позже использовались для расчета настроений для всех файлов SEC, соответствующих каждому CIK.

Данные OHLC из Quandl API

Модуль Python Stocker позволяет относительно легко получить данные OHLC для каждого тикера в виде фрейма данных Pandas. Однако, поскольку наш метод делает прогноз на следующий квартал с использованием окна за 90 дней (причины описаны в разделе «Методология»), нам пришлось провести некоторую обработку данных, прежде чем мы сможем передать их нашим моделям глубокого обучения.

Мы использовали 90-дневное окно (квартал - 90 дней), чтобы построить каждую строку как X, содержащую все данные OHLC за этот период, и поместили Adj. Close as Y. Метод, который мы использовали для подготовки этих данных, визуально поясняется на рисунке 1.

3.3 Интеграция данных

Объединение оценок настроения с данными OHLC

Интеграция данных OHLC, полученных из Quandl API, с настроениями из заявок SEC, основанных на датах, была сложной из-за разницы в датах подачи заявок SEC и ежеквартальных датах OHLC для акций.

Для данных OHLC квартальная доходность акций приходилась на 3-й, 6-й, 9-й и 12-й месяцы, тогда как для SEC квартальные данные приходились на 2-й, 5-й, 7-й и 10-й месяцы.

Таким образом, чтобы решить эту проблему, мы использовали метод «прямого» слияния Panda, который сопоставил / объединил оценки настроений для подачи в SEC за один квартал с данными о ценах акций на ближайшую дату. Целью этого сопоставления было проанализировать, как были затронуты цены закрытия тикеров после выпуска финансового отчета. Мы показали первые 5 строк объединенного фрейма данных на рисунке 2.

Стандартизация данных OHLC для акций S&P 500

Мы взяли данные по акциям компаний из списка S&P 500 за 10 лет. Причина ограничения этих данных недавним временным окном заключается в том, что широко распространено мнение, что финансовые данные являются «нестационарными» и подвержены изменениям режима, которые могут сделать старые данные менее актуальными для прогнозирования [4, 5]. Поэтому мы определили этот период в диапазоне с 1 января 2008 года по 31 декабря 2018 года.

Получив эти данные и ограничив их 10-летним периодом, мы обнаружили, что несколько компаний стали публичными после 1 января 2008 г., и их пришлось отфильтровать для обеспечения согласованности. Эта фильтрация сократила набор данных примерно до 300 тикеров. Более того, были случаи, когда для определенных тикеров отсутствовало несколько строк данных OHLC. Дальнейшее расследование не выявило каких-либо конкретных событий в истории этих компаний, так что это могла быть ошибка в Quandl API. Чтобы исправить это несоответствие, мы использовали метод Pandas «интерполировать» для построения этих недостающих строк.

Мы также использовали библиотеку fastai для преобразования дат в такие функции, как «день недели», «месяц года» и «неделя», чтобы модель могла узнать, есть ли какие-либо временные отношения в курсах акций.

4. Методология

Анализ настроений с помощью NLTK VADER

Мы использовали анализатор тональности NLTK VADER (Valence Aware Dictionary и sEntiment Reasoner), который представляет собой инструмент анализа тональности на основе лексики и правил. При таком подходе каждое слово в лексиконе оценивается на предмет того, является ли оно положительным, отрицательным или нейтральным, и баллы рассчитываются в зависимости от того, насколько положительным, отрицательным или нейтральным является настроение.

В лексиконе Вейдера нет финансовых словарей, поэтому мы обновили его финансовыми словарями из Loughran-McDonald Financial Sentiment Word Lists [6, 7].

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

Вместо этого мы получили положительные, отрицательные и нейтральные оценки для всех разделов каждой заявки SEC (около 4600 файлов SEC). VADER довольно медленно работает с большими текстами, поэтому мы разбиваем контент на партии по 2000 слов, что привело к сокращению времени расчета тональности. Для каждой из этих партий мы рассчитали положительные, отрицательные и нейтральные оценки настроения и взяли среднее значение, которое было окончательной оценкой настроения для каждой подачи в SEC.

Прогноз цены акций

Первоначальные идеи, неудачи и успех

Как упоминалось в разделе 3.3, у нас было около 300 тикеров для работы с учетом ограничений, которые мы описали в предыдущем разделе. Мы начали обучать единую модель, используя все 300 тикеров, путем разработки их функций следующим образом:

  • Сконструированные фреймы данных pandas для каждой акции с использованием 90-дневного окна, как показано на рисунке 1.
  • Установите отдельные скейлеры на весь набор данных для каждой акции, чтобы масштабировать значения от 0 до 1. Установка отдельных масштабаторов была важна, потому что каждая партия может иметь разные минимальные и максимальные цены.
  • Эти скейлеры затем использовались для преобразования соответствующего набора данных для поездов, валидации и испытаний для каждого из этих запасов.
  • После всех этих преобразований мы использовали Keras TimeseriesGenerator для каскадирования данных OHLC для всех запасов, как показано на рисунке 3.

Из-за ограниченности аппаратных ресурсов нам не удалось обучить одну модель, используя все данные о 300 акциях, и в конечном итоге пришлось ограничиться первыми 50 акциями.

Модели LSTM были хорошо изучены и доказали свою высокую эффективность в отношении данных временных рядов. Мы скомпилировали модели нейронных сетей с использованием Keras с двумя слоями LSTM, двумя слоями исключения и плотным слоем для вывода.

Мы получили очень плохие результаты после обучения одной модели на данных по всем 50 акциям (построенным, как показано на рисунке 3). Чтобы исследовать это дальше, мы также обучили отдельные модели для каждой из 50 акций без каскадного метода. Результаты, полученные с использованием последнего, оказались гораздо более точными с линиями тренда, которые отражали реальные тенденции для этих акций. Каждая из этих 50 моделей была обучена для 20 эпох и без оценки настроений. Результаты, полученные с помощью этого метода, обсуждаются в разделе 5.

Тренировка эмоций

Оценки тональности могут быть рассчитаны только для каждого квартала, сопоставив его с тремя документами 10-Q и одной 10-K для каждого финансового года, рассматриваемого для компании. Следовательно, их нужно было сопоставить с ежедневными данными OHLC для каждой акции. Мы достигли этого, рассматривая данные OHLC за 90 дней как один квартал и повторяя оценки настроений за предыдущий квартал для всех строк. Отдельные модели с точно такой же архитектурой, как описано выше, были обучены для 20 эпох для каждой из 50 акций. Первое обучение было проведено с положительными оценками настроения, а второе - с отрицательными. Результаты обсуждаются в следующем разделе.

Прогнозирование стабильных портфелей

Мы решили создать стабильные портфели, потому что хотим сохранить портфель на прогнозируемый следующий квартал. Стратегия, которой мы следуем для создания стабильных портфелей, заключается в хранении некоррелированных акций в одном и том же портфеле. Мы делаем это, чтобы избежать огромных потерь в портфеле, потому что, если одна акция упадет, другие уравновесят убыток. Например: если в портфеле 2 акции [AAPL, FB], если они коррелированы, если AAPL падает, это будет означать, что FB также падает, и мы получаем общую потерю в портфеле. Но если бы акции не коррелировали, AAPL и FB не упадут вместе и, таким образом, предотвратят тяжелые убытки. Это создает стабильные портфели со сбалансированным риском, по которым можно получать непрерывную прибыль за квартал.

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

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

Более высокое значение коэффициента Шарпа означает лучшую доходность с поправкой на риск. Коэффициент Шарпа больше 1 считается хорошим, больше 2 считается очень хорошим, а больше 3 считается отличным. Мы рассматривали безрисковую ставку в размере 2%, то есть текущую безрисковую ставку рынка США. Мы рассчитали лучшее значение коэффициента Шарпа для каждого портфеля среди 200 случайно выбранных весов. И на основе полученного коэффициента Шарпа мы разделили наши портфели на хорошие, лучшие и лучшие.

5. Оценка

Оценка влияния настроений Комиссии по ценным бумагам и биржам на курс акций

Мы сопоставили квартальные данные OHLC с квартальными оценками настроений, чтобы проанализировать, как положительные и отрицательные настроения влияют на цены закрытия.

Из Рисунка 4 видно, что когда позитивные настроения усилились, цена закрытия GWW в следующем квартале следовала за трендом и поднималась вверх. И обратная тенденция наблюдалась в случае негативных настроений на Рисунке 5.

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

Поскольку цены на акции зависят также от различных других факторов, мы не смогли увидеть связь между настроениями и ценой закрытия акций для каждого квартала.

Оценка прогнозов акций

Мы обучили каждую из наших 50 моделей по трем случаям; нет настроений, положительные настроения как черты и отрицательные настроения как черты. Результаты для одной из акций (W W Grainger Inc) для всех трех случаев показаны в таблице 1.

Хотя мы получили многообещающие результаты для акций GWW, так было не всегда, и включение настроений по некоторым тикерам практически не повлияло на RMSE. Это говорит о том, что настроения из документов SEC - не единственные факторы, влияющие на цены акций, и могут быть другие потенциальные факторы, которые можно исследовать. Например, внезапное объявление об изменении в энергетической политике может положительно или отрицательно повлиять на компании чистой энергии, и это изменение может отразиться на следующем квартале. Если такие изменения никогда не были рассмотрены в предыдущей регистрации SEC, обученная модель не сможет выбрать эту информацию только из оценок настроения в этой регистрации SEC. Улучшения и предложения по обходу этого обсуждаются в разделе «Дальнейшая работа».

Графики на Рисунке 6 показывают Adj. Цены закрытия на GWW. Зеленая линия показывает динамику запасов за 10 лет (обучение модели проводилось с использованием данных за этот период). Синяя линия показывает прогнозируемую тенденцию без признаков настроений, а желтая линия показывает прогнозируемую тенденцию после включения отрицательных оценок настроений.

Увеличенное изображение тестового окна показано на рисунке 7 и включает фактические и прогнозируемые тенденции. Обратите внимание, что, хотя обе прогнозируемые тенденции похожи, одна, включающая негативные настроения, кажется ближе к реальным значениям. Это подтверждается более низкими значениями RMSE, приведенными в таблице 1.

Оценка оптимизации портфеля

Мы проанализировали корреляцию между 50 акциями с использованием цветовых карт Python. График на Рисунке 8 показывает полученную цветовую карту:

Синий цвет соответствует минимальной корреляции, а красный - максимальной. Это означает, что акции голубого цвета могут быть в одном портфеле. Например: [sbac, msci]

После получения пар акций, которые имеют корреляцию менее 0,5 и ковариацию меньше средней ковариации, мы проанализировали «платежеспособные» и «нежелательные» акции, используя график на Рисунке 9:

На графике голубым цветом показаны подлежащие оплате акции, а зеленым - неоплачиваемые акции. Например: [amgn, mat] могут быть в одном портфеле на основе их значений ковариации и корреляции. Мы сгенерировали портфели на основе приведенного выше графика и рассчитали коэффициент Шарпа и весовое распределение для каждого портфеля. Первые несколько строк окончательного фрейма данных показаны для справки:

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

График на Рисунке 11 построен для «хороших» портфелей. Примером компромисса на графике ниже является [ma, zion, mat, vno, sna, flir, aee, duk, etr, pnr, akam] и [ndaq, mat]. Видно, что последний дает лучшую доходность в 20% при аналогичном риске 1,7 коэффициента Шарпа.

График на Рисунке 12 предназначен для портфелей с коэффициентом Шарпа ›= 2 и‹ 3 (лучше). Более высокий коэффициент шарпа здесь означает, что портфели менее рискованны по сравнению с «хорошими» портфелями. Как и выше, аналогичные интересные компромиссы можно найти и в этом наборе. На графике показан один из таких компромиссов между [ndaq, flir] и [wfc, rtn]: выбор либо дает почти одинаковую доходность, но последнее менее рискованно из-за более высокого коэффициента Шарпа.

Аналогичные выводы можно сделать и из «наилучшего» диапазона коэффициента Шарпа (рис. 13). Этот набор портфелей сопряжен с минимальным риском.

6. Информационный продукт

Нашим конечным продуктом является коллекция блокнотов Jupyter. Мы разделили продукт на четыре модуля: SEC Scraper, Sentiment Analyzer, Stock Predictor и Portfolio Generator.

Скребок SEC: этот модуль сканирует веб-сайт SEC Edgar для извлечения документов 10-Q и 10-K для компаний S&P 500. Реализует контрольные точки, поэтому неудачные загрузки можно возобновить позже. Он также выполняет всю очистку HTML и генерирует из них необработанные текстовые файлы.

Анализатор настроений: этот модуль содержит две записные книжки.

  • Записная книжка для анализа настроений: извлекает оценки для положительных, отрицательных и нейтральных настроений из файлов SEC, находящихся в каталоге. Он сохраняет эти извлеченные настроения в файлы CSV, которые впоследствии можно использовать для обучения моделей, визуализаций и т. Д.
  • Блокнот для визуализации настроений: общий блокнот для отображения тенденций настроений вместе с ценами закрытия для акций.

Stock Predictor: этот модуль содержит три блокнота.

  • Акции LSTM без сантиментов: выполняет проектирование функций для данных о запасах и обучается, а также оценивает модели LSTM для каждой из указанных акций. Затем каждая модель сохраняется в соответствующем каталоге вместе с графиками, на которых фактические цены сравниваются с прогнозируемыми. Эпохи обучения и все каталоги настраиваются.
  • LSTM Акции с настроениями: выполняет проектирование функций для данных по акциям, а также настроений, извлеченных из модуля анализатора настроений. Затем он обучает и сохраняет каждую модель вместе со сравнительными графиками.
  • Генератор прогнозов: эту записную книжку можно использовать после обучения для загрузки сохраненных моделей и выполнения прогнозов на тестовых данных. Затем прогнозируемые кадры данных можно экспортировать в файлы CSV, чтобы использовать их позже в различных сценариях использования.

Генератор и оптимизатор портфеля: создает портфели, используя попарный выбор слабо коррелированных акций. Оптимизирует портфели, чтобы получить наивысший коэффициент Шарпа по отношению к оптимальным весам, присвоенным акциям в портфеле.

7. Извлеченные уроки

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

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

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

8. Резюме

Машинное обучение в финансах - относительно недавняя разработка, и трудно найти нужные ресурсы. Более того, прогнозирование цен на акции обычно считается сложной задачей и одной из причин, по которой большинство управляющих портфелем не полностью полагаются на нее. Мы показали, что нейронные сети, построенные с использованием LSTM, надежны для решения этой проблемы. Анализ настроений в отношении заявок SEC также оказался надежным методом. Мы считаем, что благодаря более точным данным и большему количеству оценок с использованием инструментов, описанных в разделе 9, результаты можно улучшить. Наконец, сложно построить портфель, и фондовые рынки могут быть нестабильными. Мы показали метод, который можно использовать для снижения риска и построения диверсифицированных портфелей на основе прогнозируемых результатов.

9. Будущая работа

Анализ настроений

Для анализа тональности мы можем рассмотреть модели встраивания слов, а именно: Word2Vec, FastText и Universal Sentence Encoder. Мы можем оценить, могут ли эти модели дать нам более точные оценки настроений, и оценить, могут ли они помочь предсказать лучшие тенденции на фондовом рынке.

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

Прогноз цены акций

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

Ранее мы объясняли, что включение оценок настроений из документов SEC не обязательно дает более низкие значения RMSE и лучшие линии тренда. Чтобы дополнительно подтвердить это утверждение, мы можем расширить наши характеристики, включив новостные настроения за каждый квартал для каждой из соответствующих акций и оценить, помогут ли эти оценки вместе с оценками SEC делать более точные прогнозы.

Оптимизация портфеля

Есть много других методов построения портфолио, которые можно оценить с помощью наших прогнозов. Мы можем оценить стандартные отраслевые методы, такие как «Глобальный портфель минимальной дисперсии (GMV)» и «IVP для портфеля обратной волатильности» [8], и сравнить эти результаты с реальными портфелями для определенного временного окна.

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

Репозиторий Github: https://github.com/mrafayaleem/equity-portfolio-prediction

Ссылки:

  1. Ленивые цены http://laurenhcohen.com/wp-content/uploads/2017/09/lazyprices.pdf
  2. Компании S&P 500 https://en.wikipedia.org/wiki/List_of_S%26P_500_companies
  3. Python Stocker https://github.com/WillKoehrsen/Data-Analysis/tree/master/stocker
  4. Универсальные особенности ценообразования на финансовых рынках: перспективы глубокого обучения https://arxiv.org/pdf/1803.06917.pdf
  5. Https://medium.com/datadriveninvestor/why-financial-time-series-lstm-prediction-fails-4d1486d336e0
  6. Когда ответственность не является ответственностью? Текстовый анализ, словари и 10-килобайтные файлы https://www.uts.edu.au/sites/default/files/ADG_Cons2015_Loughran%20McDonald%20JE%202011.pdf
  7. Финансовая лексика из Loughran-McDonald Sentiment Word Lists. Https://sraf.nd.edu/textual-analysis/resources/#LM%20Sentiment%20Word%20Lists
  8. Самые полезные методы построения портфолио https://seekingalpha.com/article/1710142-the-most-rewarding-portfolio-construction-techniques-an-unbiased-evaluation