В рамках данного исследования для оптимизации моделей и улучшения их предсказательных возможностей использовались генетические алгоритмы. Эти алгоритмы предназначены для решения задач оптимизации и поиска наиболее эффективных решений путем имитации процессов естественного отбора и эволюции.
Процесс выбора признаков включал следующие этапы:1. Инициализация популяции:Начальная популяция представляла собой множество различных комбинаций признаков из нашего набора данных. Каждая комбинация определялась как набор индикаторов, используемых для построения модели.
2. Оценка приспособленности:Для каждой комбинации признаков рассчитывались показатели эффективности модели, такие как точность (accuracy score) и прибыльность (PnL). Эти показатели служили критерием для оценки "качества" или приспособленности каждой комбинации.
3. Селекция и кроссовер:На основе вычисленных показателей производился отбор лучших комбинаций (или "индивидов") для создания новой популяции. Кроссовер позволял обмениваться признаками между комбинациями, чтобы создать новые, потенциально более эффективные варианты.
4. Мутация:Для введения разнообразия в популяцию и предотвращения застревания в локальных оптимумах применялась мутация, которая изменяла случайные признаки в комбинациях.
5. Выбор лучших комбинаций:После нескольких итераций и эволюционных циклов алгоритм выдавал наиболее эффективные комбинации признаков. Эти комбинации были использованы для обучения и тестирования моделей.
Результаты использования генетических алгоритмов показали, что они эффективно отбирают наиболее значимые признаки из большого набора данных, что позволяет создать более точные и прибыльные торговые стратегии. Особенно важно, что найденные комбинации признаков включали новостной сентимент, что подтверждает его значимость и независимость как фактора, влияющего на рынок.
Для обоих рынков, как было отмечено выше, был применён процесс отбора наиболее значимых признаков с использованием генетических алгоритмов. В результате для экспериментов с Bitcoin и IMOEX были выбраны следующие признаки:
Bitcoin:- RSI (Relative Strength Index): Индикатор относительной силы, измеряющий скорость и изменение ценовых движений. Используется для оценки условий перекупленности или перепроданности актива. Период обычно рассчитывается на основе 14 периодов. Значения выше 70 могут указывать на перекупленность, ниже 30 — на перепроданность.
- SMA (Simple Moving Average): Простое скользящее среднее, которое помогает выявить тренды на основе среднего значения цены актива за определённый период. Используется для сглаживания ценовых колебаний.
- SMA_14: Скользящее среднее за последние 14 периодов, которое помогает в анализе краткосрочных трендов.
- OBV (On-Balance Volume): Индикатор объёмов, который суммирует объём торгов в зависимости от направления изменения цены. Если цена растёт, объём добавляется к OBV; если падает — вычитается.
- MFI (Money Flow Index): Индикатор денежного потока, сочетающий цену и объём для оценки давления покупок и продаж. Включает как цену, так и объём, что делает его более комплексным по сравнению с RSI.
- Histogram (MACD Histogram): Разница между линией MACD и сигнальной линией. Положительное значение гистограммы указывает на бычий тренд, отрицательное — на медвежий.
- Sentiment: Сентимент новостей, оценивающий эмоциональную окраску новостных сообщений. Диапазон значений — от -2 до 2. Положительный сентимент может указывать на благоприятный информационный фон, отрицательный — на неблагоприятный.
IMOEX (индекс Московской биржи):- RSI: Индикатор относительной силы, показывающий условия перекупленности и перепроданности актива.
- NATR (Normalized Average True Range): Индикатор, оценивающий волатильность рынка.
- DMI (Directional Movement Index): Индикатор направленного движения, используемый для оценки силы и направления тренда.
- ADX (Average Directional Index): Индикатор, который помогает оценить силу текущего тренда.
- MACD_Line и Signal_Line: Комбинация двух индикаторов MACD, позволяющих оценить изменения в скорости тренда. Разница между ними может указывать на развороты тренда.
- Sentiment: Эмоциональная окраска новостей, которая помогает оценить влияние внешней информации на поведение участников рынка.
Эти признаки представляют собой комбинацию традиционных технических индикаторов и новостного сентимента, что позволяет более комплексно анализировать рынок и делать более обоснованные торговые решения.
Построил матрицы корреляций, из которых видно, что у новостного сентимента отсутствует корреляция со значениями индикаторов. И это очень позитивно, что подтверждает важные аспекты моей гипотезы. Новости - являются отличительным и значимым признаком моего датасета.