Блог им. Stade1

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

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

В основе математической модели лежит классический многослойный перцептрон с количеством слоев равным двум, поскольку в процессе разработки было установлено, что значительное усложнение топологии нейронной сети приводит к явлению переобучения (overfitting) и сеть теряет свои обобщающие свойства. Проблема переобучения отдельно в данной статье не исследуется, а способы борьбы с ней будут освещены далее. Схема многослойного перцептрона представлена на рис. 1. Входные параметры в модели – “x” (данные по компании), а выходной параметр (output) – апсайд (upside), прогноз изменения стоимости акции.

Нейросетевая фундаментальная торговая система. Опыт, затруднения при разработке, первые результаты.
Рис. 1. Схема многослойного перцептрона

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

Базовым сроком инвестирования (удержания длинной позиции) при разработке модели выбран один год, в соответствии с публикацией компаниями финансовых результатов в годовых аудированных отчетах. Торговые площадки – NYSE и NASDAQ. Годовые отчеты скачивались с сайта американского регулятора, из системы EDGAR — http://www.sec.gov/edgar/searchedgar/companysearch.html. Котировки акций скачивались с сервиса Yahoo http://finance.yahoo.com/. Оказалось, что у американских компаний годовые финансовые результаты консолидируются в разные месяцы, чего не было ранее замечено у крупных российских компаний, у которых финансовый год совпадает с календарным. В связи с этим сформулируем ограничения при выборе эмитентов для исследования перспективности их включения в инвестиционный портфель:

1)    финансовый год должен заканчиваться в четвертом квартале;

2)    дата публикации годовых отчетов должна быть не позднее 1 марта, начиная с 2007 года включительно (по текущим требованиям регулятора на публикацию годового отчета компаниям c public float более $700 млн. отводится 60 дней);

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

4)    компания должна быть публичной и отчитаться не менее пяти раз.

На данный момент собирается фундаментальная информация для выборки, на которой будет производиться обучение модели (обучающая выборка). Всего собраны данные по 50 компаниям с 2002 года включительно с суммарной капитализацией $5,944 трлн. по состоянию на февраль 2015 года. Впоследствии, для прогнозной выборки возможно будет ограничиться периодом в пять лет, на глубину исследования каждой компании.

Обучение модели выполнялось на данных за период 2002-2013 гг. и заключалось в минимизации ошибки между фактическим изменением стоимости акции и расчетным. Интервал расчета – один год. Анализ компаний в каждый расчетный год осуществлялся на дату, рассчитываемую как «дата публикации годового отчета последней компанией из выборки + 1 торговый день». Дата формирования инвестиционного портфеля (дата сделки) рассчитывалась как «дата публикации годового отчета последней компанией из выборки + 2 торговых дня», с целью учета проскальзывания. За стоимость акции принималась цена закрытия торгового дня. Каждый год инвестиционный портфель пересматривался путем включения в него лучших компаний из выборки по показателю апсайда и исключения худших. Для исследования теоретической доходности от инвестиций составлено 4 модельных портфеля, каждый из которых сравнивался с исторической доходностью индекса S&P500:

1)    25 лучших акций с долей пропорциональной капитализации эмитента в портфеле;

2)    все 50 акций с долей пропорциональной капитализации эмитента в расчетной выборке;

3)    25 лучших акций с равной долей в портфеле;

4)    все 50 акций с равной долей в портфеле;

Совокупная доходность четырех модельных портфелей и индекса S&P500 представлена на рис. 2. Доходности представлены с учетом выплаты дивидендов. Последние точки на графиках соответствуют текущим теоретическим портфелям акций. Расчет портфелей выполнен на данных, которые не участвовали в обучении модели. Численные значения доходности портфелей за представленный период показаны в таблице 1, и отдельно по годам в таблице 2.


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

Рис. 2. Совокупная доходность модельных портфелей и индекса S&P500

Таблица 1. Численные значения совокупной доходности модельных портфелей

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

Таблица 2. Процентное изменение стоимости модельных портфелей за период 2008-2015 гг.

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

Совокупная доходность портфеля №1 оказалась в 2,29 раза выше портфеля №2 с полным набором акций и в 2,75 раза выше доходности S&P500. Совокупная доходность портфеля №3 оказалась в 1,95 раза выше портфеля №4 с полным набором акций и в 3,18 раза выше доходности S&P500. Некоторое отличие доходностей портфеля №2 и индекса S&P500 связано с количественным и качественным несоответствием эмитентов в портфеле и индексе (не учитываются обанкротившиеся компании, в выборке также есть одна компания уже исключенная из индекса S&P500) и методом расчета долей эмитентов в портфеле (индекс S&P500 рассчитывается с учетом доли акций эмитента находящихся в свободном обращении). Обанкротившиеся компании на данный момент не учитываются из-за того, что Yahoo не предоставляет котировок по таким эмитентам.

 

Согласно проведенным исследованиям наиболее оптимальным с точки зрения доходности является портфель №3 с равными долями акций, реализация которого доступна для инвесторов с небольшим капиталом. Тем не менее, на данный момент портфель №3, сформированный 3 марта 2015 года, уступает индексу S&P500 в отличие от портфеля №1. Данная ситуация, характерна и для 2008 года, когда наблюдалось падение рынка акций, и доходность портфеля была близка к доходности индекса. Разработанная модель при достаточном количестве статистического материала позволит, теоретически, предсказывать переоцененность рынка акций и его склонность к падению, что позволит изменить стратегию выбора компаний и уменьшить просадку инвестиционного портфеля по сравнению с индексом S&P500.

 

★3
14 комментариев

В дополнение к статье хотелось бы найти единомышленников по алгоритмической торговле в данном направлении и обсудить тематику. Если Вам понравилась статья, то я могу далее публиковать свои исследования и прогнозы по американскому рынку. Если есть у кого-то возможность поделиться фундаментальными данными по американским компаниям прошу оставить сообщение, обсудим условия, могу делиться своими прогнозами. Собрать достоверную статистику по всем компаниям из S&P500 за необходимый период оказалось на грани моих физических возможностей. Платить за информацию по $12000 в год таким поставщикам как Thomson Reuters нет возможности.

Спасибо за внимание!

avatar
Джон Стейд, Статья то конечно по уму с точки зрения прикладной математики, но через весь текст проходит громадная ошибка именно по трейдингу. Сделки инвестиционные с прицелом на год, а тест за 10 лет, т.е. нет необходимого кол-ва сделок которое способно дать статистическую картину. Интересен был бы спекулятивный подход, т.к. тестируемую доходность надо смело делить на 3 а то и на 10. Т.е. хочешь получить 100% в тестах должно быть не меньше 300% доходность, а лучше 1000%
Трансляция сигналов, эта проблема освещена в статье, физическое ограничение на сбор информации. На 10 точно не делить, потому что маловероятно проиграть сильно среднему значению по выборке из-за неверного выбора акций. Грубо говоря если допустить что выбор акций моделью случаен, то получим результат рынка.
avatar
Джон Стейд, Окей. Тогда другой вопрос с подвохом. А как реализовать защиту от сбоев где в момент может требоваться маржи в 5-10 раз больше чем есть на депозите?
Трансляция сигналов, как такое возможно,  если мы покупаем акции только на свои кровные? Есть $100 000, купили акций на все, держим год, продаем и покупаем другие.
avatar
Джон Стейд, Шутка миллиардера над гербалайфом стоила 80% цены акций кампании. Закрытие торгов афинской биржи на 4 месяца. Это те примеры которые сразу в голову приходят. Ты же не получаешь на руки сертификат на акции и не можешь их продать на другой площадке. 
Какой канцелярских язык. Студент чтоли…
avatar
ПBМ, Скорее человек с пилкой для ногтей пришёл к пахарям с плугом и теорией как он этой пилкой поле вспашет. Интересно:)
Трансляция сигналов, диверсификация, а так мы все умрем, да. Не ходить на рынок акций как вариант. Да, и я Вам не тыкал.
avatar
Джон Стейд, Я тебе сразу писал что спеулятивный подход был бы интереснее, но ты настаиваешь на своём. Никто не против, но это не интересно:)
Джон Стейд, И по поводу ты и вы. Ты будешь вы когда заработаешь под аплодисменты, а пока ты потому что  ни чем не отличаешься от серой массы сливаторов.
я бы немного изменил подход
попробовал построить сеть повторяющую трейдера, те принимающая решения — копать в сторону NEAT, Cascade-, RBF-, SNAP-

avatar
nbvehrfr, у Вас есть разработки в этом направлении? Рабочие прототипы? Какие вычислительные мощности требуются для таких алгоритмов при условии колоссального объема информации на рынке?
avatar

теги блога InvestGPT

....все тэги



UPDONW
Новый дизайн