Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

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

Введение

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

Логика принятия решений

В основе любого решения, которые вы принимаете должна быть логика. Так, логика принятия решений существует и в торговле с инвестициями. В основе лежит некий баланс, консенсус или ваше представление между двумя факторами: прибыль и риски (рис. 1).

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 1. Прибыль и риски

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

Прибыль и риски

Прежде чем я перейду к основной части данной системы, я приведу примеры расчёта прибылей и рисков.

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

- потенциальная доходность;

- текущая доходность.

Давайте взглянем на рис. 2.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 2. Котировки тикера FTI

Вы хотите войти в позицию Long так, как показано на рисунке. Вы ожидаете роста. Но сколько вы можете ожидать прибыли?? В данном случае, вы неизбежно вынуждены оценивать потенциальную доходность инструмента исходя из исторического контекста. Для этого можно взять максимальное значение амплитуды предыдущей волы, взять усреднённое значение N волн, оценить волатильность по ATR или среднеквадратическому отклонению, или каналам, которых великое множество, или даже сделать консенсус прогноз на основании всего вышесказанного.

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

И в данном случае на первый план выходит оценка текущей доходности актива.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 3. Рост котировок тикера FTI

Видя текущую ситуацию на рынке, и осознавая текущую доходность актива вы уже можете принимать какое-то решение.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 4. Сильное движение на тикере FTI

Но следует понимать, что сами по себе сильные движения и их детектирование не являются достаточным условием для эффективной торговли. Взгляните на рис. 4. Вы видите сильное движение, да, например по EMA 3 вы его детектировали, но после этого может быть так как показано на рисунке. Вошли вы поздно. Прибыли взяли часть. Да еще и вышли где-нибудь так, как показано на рис. 5.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 5. Вход и выход позиции Long, тикер FTI

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

Немаловажным фактором является верная оценка риска.

При этом, следует понимать ВАЖНУЮ вещь. Когда вы оцениваете как прибыль, так и доходность, то для адекватности это должны быть приведённые к одному знаменателю показатели.

Например, при расчёте доходности вы можете выйти на «Прибыль в день» (%/1 день). В таком случае и риск должен быть рассчитан таким же образом. То есть, какой потенциально убыток (или прибыль) по риск факторам вы можете получить.

В данном случае при расчёте рисков вы можете учитывать разные факторы. Можете учитывать данные системы предиктивной аналитики (если конечно она у вас есть).

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 6. Пример прогноза системы предиктивной аналитики на базе нейронных сетей

Например, ваша система может давать прогноз убытка в случае будущего неблагоприятного движения. То есть, вы стоите в лонг, а цена идёт вниз, а вас выбивает по стоп лосс. Соответственно, данный риск вы можете просчитать. Вам понятен прогноз нейронной сети. И вы его приводите к вашим возможным дневным убыткам.

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

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

Система управления рисками и эффективностью

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 7. Общий вид и взаимосвязь системы подбора торговых сигналов

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

Подходы к решению

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

Кластеризация

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

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 8. Результат обработки сигналов по итогам кластеризации

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

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 9. Кластеры с наибольшей эффективностью и наименьшим риском

Однако следует понимать и то, что вы не всегда способны брать только самое вкусное с рынка. Причин этому множество, и это не только отсутствие самих сигналов.

Датасет

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

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

Табл. 1

Пример датасета

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

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

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 10. Пример распределения сигналов финансовых инструментов по доходности в выборке

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 11. Пример распределения сигналов финансовых инструментов по риску

Данные на рисунка 10 и 11 это просто примеры, которые в некоторой степени иллюстрируют состояние вопроса с распределением инструментов по риску и прибыли.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 12. Само распределение сигналов финансовых инструментов по обучающей выборке по риску и прибыли выглядит так

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

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

Нейронные сети

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

В примере было выбрано 50 кластеров.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 13. Распределение кластеров обучающей выборки

По итогам расчёта кластеризации обучающей выборки, вы получаете следующую картину (рис. 13).

Разумеется вам интересно то, что наиболее доходно, и наименее рисково, то есть то, что показано на рис. 14.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 14. Наиболее доходные и наименее рисковые кластеры

И соответственно после расчёта вы получаете массив распределения ваших сигналов по кластерам (рис. 15):

[39 35 17 25 48 0 28 7 38 35 36 23 33 18 11 31 15 42 16 4 18 39 9 4

9 12 11 24 34 40 27 39 26 129 30 37 43 45]

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 15. Результаты расчёта по кластерам для рассчитываемых сигналов

Зная распределение ваших расчётных сигналов по кластерам, вы можете принять какое-то решение по тем или иным сигналам.

Классификация

Как вы видите из рис. 14 и 15, распределение центров кластеров и их расположение может быть не всегда удобным, что может вызывать сложность с точки зрения принятия решений. Это можно решить контролируемым разбиением с применением методов классификации. В данном примере будет приведена классификация с применением логистической регрессии. Хотя методов множество, вы можете выбрать для своего усмотрения иные. Скачать скрипт вы можете здесь.

Прежде чем приступать к обучению модели, нужно создать поле классов, которые мы получаем на основании разбиения поля сигналов на нужные нам зоны, примерно так, как это показано на рис. 16.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 16. Разбиение на классы поля сигналов

На рис. 16 показано равномерное разбиение, однако, вы можете сделать любое разбиение. Например, вам не интересны рисковые сигналы и менее доходные. Вы можете взять разбиение как на рис. 17.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 17. Не равномерное разбиение поля риска и прибыли на классы

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

Для демонстрационных целей, в приведенном алгоритме, будет представлено равномерное разбиение, как частный случай. Всего поле будет разбито на 10х10 классов, то есть, всего 100 классов.

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 18. Результат классификации обучающей выборки по методу логистической регрессии

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 19. Результат классификации расчётной выборки по методу логистической регрессии

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

Стратегии торговли и инвестирования

Два слова о стратегии. Понимания параметры риска и прибыли, вы можете сформировать стратегии в соответствии с вашими потребностями. Это может быть сбалансированная торговля и инвестирование (рис. 20). Может быть стратегия, нацеленная на минимизацию рисков (рис. 21). Или стратегия максимизации доходности вне зависимости от рисков (рис. 22).

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 20. Стратегия баланса рисков и прибыли

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 21. Стратегия минимизации рисков

Повышение эффективности торговых и инвестиционных систем с применением кластеризации и классификации на базе ИИ

Рис. 22. Стратегия максимизация доходности

Заключение

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

Контакты:

Всех благ, побед и

успехов на фондовых

рынках!

33
Начать дискуссию