Построение торговой стратегии с помощью техники машинного обучения.

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

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

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

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

● Данные

Исторические данные для Apple можно бесплатно получить из yahoo Finance. Начало и конец временного ряда можно изменить.

● Оптимальная торговая стратегия

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

● Всякий раз, когда текущая цена ниже предыдущей, покупайте акцию по самой низкой цене (локальный минимум) и продавайте ее непосредственно перед тем, как цена начнет снижаться.

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

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

● Нейронная сеть

Будет использоваться очень простая нейронная сеть с 1 скрытым слоем. Сигнал покупки/продажи будет зависеть от 15 предыдущих возвратов журнала.

● Входной слой — это 15 предыдущих возвратов журнала.

● Рассматривается скрытый слой с 3 узлами.

● Выходной слой состоит из 1 узла

● Функцией активации является функция Tanh (гиперболический тангенс).

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

Код Python определен на https://robotbourso.com/machine-learning-strategy.

В качестве игрушечного примера мы можем воспроизвести вычисления в Excel. Excel-файл, реализующий стратегию, доступен на Google Диске по ссылке.

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

Важно протестировать подобранную нейронную сеть с разными данными.

В случае Goldman Sachs (GS) стратегия ведет себя лучше.

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

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