Рис. 16. Сигналы нейронной сети
Я указал на отсутствие смещения линиями, хотя это также видно в правой части графика.
Ресурсы
Для тех, кто не занимался нейронными сетями, но хотел бы посмотреть в этом направлении, я хочу сказать несколько вещей. Торговые алгоритмы проще и менее ресурсоемки, чем нейронные сети. С одной стороны, разработка торговых роботов - сложный и наукоемкий процесс, а с другой стороны, он ресурсоемкий. Если для того, чтобы советник по торговле и инвестициям провел меня по десяти тысячам акций на основе анализа технических индикаторов, мне нужна пара дешевых серверов, то, к сожалению, простотой на нейронных сетях не отделаешься. Даже без учета затрат на подготовку данных, например, расчет одного финансового инструмента для нейронных сетей, упомянутых в статье, выполняется на моем компьютере в течение 4 минут. То есть, если у вас есть 10 000 акций, то лично я смог бы обойти их все только 1 раз на своем компьютере в течение месяца. Соответственно, для мониторинга рынка и адекватной работы нейронных сетей необходим небольшой дата-центр. И вы тоже должны быть готовы к этому.
Технологический стек
Я хотел бы сказать два слова о стеке технологий.
Изучение алгоритмов разметки проводилось с использованием: TypeScript, Angular2+, Highcharts.
Торговые алгоритмы: TSLab 2.1.
Источник набора данных для торговых алгоритмов: Finam.
Источник набора данных для нейронных сетей: Yahoo.
Формирование набора данных: микросервисы на Node.JS .
Нейронные сети: python/tensorflow 2/keras.
Два слова о себе. Я являюсь основателем стартапа для прогнозной аналитики международных финансовых рынков на основе нейронных сетей finprophet.com . Меня интересует тема автоматизированного принятия решений по торговле и инвестированию, в том числе с использованием нейронных сетей. Я верю, что за этой технологией будущее. Если у кого-то есть желание пообщаться, вы можете написать мне здесь или по контактам, указанным ниже.
Контакты:
Телеграмма: https://t.me/step_a_v
ВКОНТАКТЕ: https://vk.com/mauriy
ФБ: https://www.facebook.com/apollo.stepanov
Всего наилучшего, побед и
успех на фондовых рынках
рынки!Эта статья будет интересна тем, кто разрабатывает или занимается торговлей и инвестированием как с использованием автоматизированных систем (советников, роботов и т.д.), так и тем, кто все это делает и принимает решения вручную.
Прежде чем я перейду к самой статье, я хочу сделать пару вступлений. Здоровая критика и комментарии приветствуются. Ценные данные о сравнительной эффективности ВАШИХ торговых роботов, советников и всех других систем, которые позволяют вам торговать или инвестировать более эффективно. В этой статье будут приложены сценарии и наборы данных инструментов, чтобы при необходимости они могли самостоятельно проверить или сравнить эффективность представленных здесь алгоритмов с вашими.
Цели
Давайте определимся с целями. Давайте не будем обманывать друг друга и самих себя, каждый, кто торгует или инвестирует на фондовых рынках, делает это для того, чтобы получить прибыль. Каждый делает это разными способами в меру своего понимания и возможностей, не всегда есть одно желание - заработать, вернуть инвестиции, увеличить богатство как можно больше в принципе.
Но сколько вы можете заработать? Давайте возьмем пример одной из самых вкусных компаний (с точки зрения роста).
Рис. 1. Месячный график котировок Apple (AAPL), nasdaq
Посмотрите на надкушенное яблоко (рис. 1), казалось бы, все в порядке. Тот, кто инвестировал в компанию десять лет назад, десятикратно приумножил свой капитал.
Но здесь можно выделить два глобальных нюанса.
Первый. Так всегда бывает.
Рис. 2. Недельный график котировок Helmerich & Payne (HP), Нью-Йоркская фондовая биржа
Могут быть, например, такие, как в HP (рис. 2), когда вы ничего не зарабатываете.
Рис. 3. Недельный график котировок MRC Global (MR), НИЦЦА
Или, может быть, как на рисунке 3 с компанией MRC. Вложив во что-то деньги, вы не скоро получите отдачу от своих инвестиций, если вообще получите.
Но каждый хочет зарабатывать или хотя бы не быть убыточным, в том числе и на таких компаниях. И здесь есть второй нюанс, который можно назвать одним словом – возможности. И эти возможности заключаются в торговле на волатильности (волнах и колебаниях финансового инструмента).
Возможности
В этой статье мы рассмотрим волатильность на дневном таймфрейме, хотя вы понимаете, что можете взять любой таймфрейм (недельный, часовой, минутный), и вы увидите волатильность на нем.
В качестве примера такой возможности мы снова проанализируем надкушенное яблоко (ЯБЛОКО).
Рис. 4. Маркировка волатильности Apple (AAPL), nasdaq по стохастике: рост зеленой волны, падение красной волны
Взгляните на рисунок 4. Торговля на волатильности создает возможности, когда вы покупаете дешевле и продаете дороже, умножая свой капитал.
Если мы рассмотрим этот тип наценки, то теоретически, торгуя в ЛОНГ по этому финансовому инструменту, вы можете максимизировать свой капитал в 1386,47 раза. Почувствуйте разницу. в 10 раз с точки зрения доходности инвестиций и потенциального 1,386.47??
Вы можете разметить данные и рассчитать различную волатильность. Вы можете брать большие волны и меньшие. Взгляните еще раз на рисунок 4, на нем есть большое количество пробелов, связанных с торговлей по тренду при открытии позиции в ЛОНГ (то есть нет смысла покупать, если яблоко упадет). Но, тем не менее, это не означает, что в этих точках нет волатильности, которую мы можем проработать. Поэтому мы рассматриваем в качестве возможности в наших рассуждениях волатильность не стохастическую, а меньшую. В идеале желательно подбирать каждую волну, на которой можно заработать (рис. 5).
Рис. 5. Разметка волатильности (все волны) компании Apple (AAPL), nasdaq: зелёное – рост волны, красное – падение волны
Рис. 6. Окончательная разметка волатильности (все волны) Apple (AAPL), nasdaq: рост зеленой волны, падение красной волны
6. Видно, что сейчас мы можем взять практически все, что дает рынок. При таком подходе в Apple вы потенциально можете увеличить свой портфель в 76 330,31 раза. Сравните показатели доходности инвестиций в 10 раз и потенциальной торговли в 76 330,31 раза. Чувствуете ли вы разницу? И я даже не напоминаю вам, что вам все равно нужно получить эти 10 раз, потому что, как было показано выше, компании разные. И некоторые из них падают.
важный! Здесь есть важный нюанс. Вы должны понимать, что то, что представлено выше, является недостижимым идеалом. Хотя бы потому, что вы не можете поймать оптимальные точки входа/экстремумы. Даже если вы способны обнаружить все волны, в лучшем случае вы можете получить доходность, когда точки входа и выхода сдвинуты на 1 бар.
В следующих обсуждениях мы рассмотрим два типа потенциальной прибыльности. Как максимум (теоретически недостижимый идеал), так и доходность при смещении точек входа и выхода на 1 бар.
Торговые Алгоритмы
Прежде чем мы перейдем к нейронным сетям, давайте сначала определимся с торговыми алгоритмами.
В качестве основы для сравнения были выбраны простые торговые алгоритмы, основанные на EMA, стохастике и MACD. Торговые алгоритмы реализованы в пакете TSLab, и вы можете скачать их здесь.
Тип торговли: ДЛИННАЯ (мы будем покупать везде и только покупать)
Рис. 7. Пример торгового алгоритма в TSLab (картинка из Интернета)
Стол. 1
Список алгоритмов для сравнения
Стоп-лосс фиксирован, %: 10.
Скриншоты результатов исследования приведены ниже в качестве примера. Сами результаты будут приведены ниже в другом разделе
Рис. 8. Скриншот результатов исследования алгоритма EMA9_EMA20 на инструменте AJG
График результатов на рис. 8 состоит из 2 частей. В верхней части отображаются сделки по инструментам, в нижней части отображается накопленная доходность в результате торговли.
Рис. 9. Скриншот результатов прибыльности алгоритма EMA9_EMA 20 на инструменте AEG
Также результаты исследования представлены на графике, рис. 9. Здесь отображается строка котировки (синяя), которая позволяет оценить прибыльность инвестиций. Конкретно в данном случае она составляет 125 %. Также показана прибыльность торгового алгоритма (выделена зеленым цветом). В частности, в данном случае доходность алгоритма при торговле одной акцией составляет 82,99 %. Как вы можете видеть, сам торговый алгоритм в этом случае не достигает доходности инвестиций, но он занимает хорошую долю.
База для сравнения
Теперь, когда мы определились с торговыми алгоритмами, давайте решим, с какими компаниями мы будем сравнивать.
В качестве базы для сравнения послужит портфель следующих компаний (рынок NASDAQ): AG, AC, CR, TI, HP, INT C, OXY.
Всего существует 8 финансовых инструментов.
Эти компании подобраны таким образом, чтобы наше сравнение было более интересным.
. Рис. 10. Недельный график компании AJG
Рис. 11. Недельный график FTI
Портфель был выбран таким образом, чтобы в нем были разнородные компании, как растущие, так и падающие, для большей актуальности оценки.
Даты оценки: с 11 ноября 2012 года по 11 ноября 2021 года.
Компании будут оцениваться в течение десятилетнего периода.
Наборы данных для Slab можно загрузить здесь.
Нейронные сети
За основу алгоритма нейросетевой торговли были взяты нейронные сети LSTM. Обучение проходило по более чем 10 000 финансовым инструментам, что за годы составило более 100 тысяч лет данных.
Целью обучения нейронных сетей было формирование алгоритма, который позволял бы торговать с максимальной прибылью, как показано на рис. 5 и 6.
Факторы обучения были основаны на факторах технического анализа с общим количеством факторов более 2000 шт.
Точность работы и отсутствие переподготовки нейронных сетей контролировались стандартным отклонением.
Рис. 12. Пример данных стандартного отклонения, основанных на результатах одного из исследований
Результаты самих нейронных сетей были представлены в следующем виде:
Рис. 13. Результаты нейронных сетей для AJG (сигналы управления)
На рисунке 13 показано несколько графиков, из которых вы можете получить некоторое представление о сигналах, генерируемых нейронной сетью:
- Давайте начнем со второй строки сверху, показанной синим цветом. Это ожидаемое поведение нейронной сети, которое мы хотим получить.
- Самый верхний график (оранжевый) является результатом вычисления нейронной сети.
Зеленые и красные графики ниже представляют собой математически преобразованные вычислительные сигналы нейронной сети в управляющие сигналы для торгового робота. Они отличаются алгоритмами преобразования. В качестве основы расчета в дальнейшем мы возьмем самый низкий график (красный), работающий на основе распределения Гаусса.
Если рассматривать каждый график сигналов отдельно, то управляющие сигналы имеют 3 состояния: удержание, покупка и продажа.
+1 = покупка.
- 1 = продажа.
Рис. 15. Результаты нейронных сетей для AJG (рентабельность)
Основываясь на результатах обратного теста, вы можете получить следующие графики доходности:
А) Два центральных графика - это ожидаемая доходность (максимальная и труднодостижимая). Оранжевый график - это потенциальная доходность без смещения, зеленый график - со смещением на 1 день.
Б) Графики выше и ниже являются показателями прибыльности нейронной сети.
Здесь я сразу отмечу, что на графиках показана доходность, которая рассчитывается как соотношение "Цены закрытия" и "Цены открытия". То есть, сколько раз вы умножаете во время торгов.
Все, что выше черной линии (рис. 15), то есть положительная доходность, все, что ниже – отрицательная.
По результатам исследования мы получили данные как о накопленной прибыльности, так и о прибыльности при торговле фиксированным объемом акций за весь торговый период (мы будем обозначать это как прибыльность при торговле 1 акцией).
Результаты исследований
Я хотел бы еще раз обратить ваше внимание, исследование проводилось ТОЛЬКО при торговле в Лонг!
По результатам исследований прибыльности каждой акции и торгового алгоритма результаты были занесены в электронную таблицу Excel и рассчитаны средние значения отслеживаемых показателей. Таблицу со всеми результатами можно скачать здесь.
Результаты экспериментов записаны и могут быть загружены ниже:
- Ссылка для загрузки архива скриншотов торговых алгоритмов.
- Ссылка для загрузки результатов нейронных сетей.
В этой статье я представлю обобщенные результаты исследований без привязки к отдельным финансовым инструментам.
Таблица 2
Обобщенные результаты экспериментальных исследований сравнительной эффективности
Выводы
Как видите, с точки зрения инвестиций за 9-летний период, работая с этим портфелем, вы можете получить лишь небольшую прибыль. Максимум 13 %.
Но если рассматривать теоретически недостижимый идеал, то можно получить от 300 до 22500 раз (с округлением). Что такое 0,13 и тысячи процентов?? За это стоит бороться.
Если рассматривать простые торговые алгоритмы, рассмотренные в этой статье, то они показали себя лучше всего на чистом стохастике, MACD и EMA небольших периодов. Используя эти алгоритмы, вы можете удвоить свой капитал.
Однако здесь следует отметить следующее. Не все торговые алгоритмы работают хорошо. Плюс ко всему, эффективность алгоритмов сильно отличается как во времени, так и в зависимости от финансового инструмента. Поэтому не факт, что, приняв эти алгоритмы, вы сможете опередить доходность инвестиций по другому портфелю.
Вам нужно понимать, что вы можете как выиграть, так и проиграть.
Но если сравнивать торговые алгоритмы и доходность инвестиций, то они не идут ни в какое сравнение с эффективностью нейронных сетей.
Взгляните, вы можете умножить этот портфель в 600 раз с помощью нейронных сетей. Что такое в 1,3 или даже в 2 раза по сравнению с тем, что вы можете получить??
Здесь я хочу отметить важный момент. Потенциальная прибыльность наценки со смещением в 1 день составляет около 300. И мы получили 600. Это связано с тем, что нейронная сеть МОЖЕТ улавливать экстремумы. То есть входить и выходить наиболее выгодным способом, не смещаясь относительно локальных минимумов и максимумов.