Машинное обучение

Как специалист по данным, какие модели прогнозирования вы используете чаще всего?

Любит | Нелюбов | Ответы | Вид | 5748


Хокон Хапнес Стрэнд инженер машинного обучения   
@ | Обновлено Right Now


Посмотрим. Мы собираемся применить алгоритм MLP (Многослойный персептрон), чтобы предсказать возврат цен от их отстающих. Многослойный персептрон - это тип искусственной нейронной сети с прямой связью.

Это наш план атаки:

  • Загрузите качественные почасовые данные EURUSD (около 20 000 значений).
  • Очистите данные и рассчитайте результаты, чтобы подготовить их к алгоритму.
  • Разделите данные на обучающий набор и набор для тестирования, включающий около 3000 значений, что составляет около 15%.
  • Запустите алгоритм на нескольких слоях и запаздывающих значениях EURUSD, другими словами, мы хотим оптимизировать его, чтобы получить наилучшие гиперпараметры и количество запаздывающих значений. Эта задача оставлена ​​сложной функции, которая немного выходит за рамки этого ответа.
  • Проверьте результаты обратного тестирования и посмотрите, был ли коэффициент попадания стабильным в течение нескольких периодов (чтобы убедиться, что результаты не из-за удачи). Мы рассчитаем средний коэффициент попадания, исключив выбросы с обеих сторон.
  • Рассчитайте коэффициент пассивного распараллеливания , который я разработал, чтобы быстро взглянуть на то, превзошли ли результаты или уступили эталонному результату на последовательной основе. Значение выше 1 указывает на лучшую модель, в то время как значение ниже 1 указывает на низшую модель, которая работает хуже, чем удача (для получения дополнительной информации об этом соотношении я написал статью об этом в LinkedIn: добавление дополнительного коэффициента достоверности модели к вашей регрессии результаты. ).

Используемая библиотека есть, а пакет есть .sklearn.neural_networkMLPRegressor

Ниже приведена статистика бэк-теста

% длинных позиций = 55% (без смещения)

Средний коэффициент попадания = 51,26%

Оптимизированный коэффициент попадания = 54,22%

Пассивный параллелизм = 1.001 (слегка улучшенная модель)

Валовая доходность = + 2,94% (в годовом исчислении она дает около 5,99%)

Валовая прибыль по эталону = -0,51%

Здесь не хватает одной важной вещи - соотношения риска и вознаграждения. Эта упрощенная стратегия предполагает соотношение 1: 1, и, следовательно, коэффициент попадания немного завышен, но все еще имеет запас прочности для сохранения прибыли даже после изменения соотношения риска к прибыли 1: 2.

И на следующем графике показана эволюция (до транзакционных издержек) портфеля, который торгуется по каждому сигналу, генерируемому алгоритмом MLP, по сравнению со стратегией «купи-и-держи» (в данном случае это просто покупка евро и продажа доллара США за продолжительность 3000 часов, что не лучший показатель, но все же хорошее сравнение). Синим цветом обозначена эволюция EURUSD в течение периода тестирования, а оранжевым - эффективность стратегии.

Наконец, для развлечения давайте сравним другие модели машинного обучения с результатами MLP.

Жирным зеленым: среднее из прогнозов всех нижеприведенных моделей.

Фиолетовый: алгоритм MLP.

Красным цветом: алгоритм SVR.

Серым цветом: алгоритм случайного леса.

Синим цветом: алгоритм байесовского гребня.

Зеленым цветом: алгоритм линейной регрессии.

Желтым цветом: алгоритм регрессии AdaBoost.

Черным цветом: EURUSD.

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

| |