Type/to search

Стратегия следования за трендом на основе kNN

Common strategy
Created: 2023-12-08 11:33:31
Last modified: 3 years ago
1
Follow
1802
Followers

img

Обзор

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

Принцип стратегии

  1. Сбор обучающих данных: сбор временных рядов, таких как исторические цены закрытия и объемы, а также технические индикаторы, такие как RSI и CCI.
  2. Предварительная обработка данных: нормализация значений индикаторов в диапазон 0–100.
  3. Обучение модели kNN: подача двух признаков из текущей модели kNN, вычисление евклидова расстояния между этими векторами признаков и историческими векторами признаков, выбор k исторических образцов с наименьшим расстоянием и анализ распределения меток (лонг или шорт) этих k образцов.
  4. Получение прогноза: прогнозирование текущего рыночного движения на основе меток k ближайших соседей. Если прогноз — «лонг», генерируется сигнал на открытие длинной позиции; если «шорт» — на открытие короткой позиции.
  5. Торговля с использованием фильтров, таких как стоп-лосс, управление размером позиции и скользящие средние.

Преимущества стратегии

  1. Автоматическое распознавание технических паттернов с помощью алгоритмов машинного обучения без необходимости ручного вмешательства.
  2. Гибкий выбор различных технических индикаторов в качестве признаков модели с возможностью оптимизации стратегии в реальном времени.
  3. Интеграция строгих механизмов контроля рисков, таких как стоп-лосс и управление позициями.
  4. Визуализация линии стоп-лосса для наглядности и прозрачности.

Риски и методы их решения

  1. Прогнозы машинного обучения могут быть ложными. Для оптимизации модели можно подобрать подходящее значение k, вектор признаков и временной диапазон выборки.
  2. Торговля только в одном направлении несет потенциальный риск. В код можно добавить разрешение на двустороннюю торговлю для устранения багов.
  3. Неправильные настройки параметров могут привести к чрезмерной торговле. Следует соответствующим образом отрегулировать размер позиции, частоту сделок и другие параметры.

Направления оптимизации

  1. Тестирование различных типов технических индикаторов в качестве входных признаков для kNN.
  2. Использование других метрик расстояния, например, манхэттенского расстояния.
  3. Регулировка размера позиции на основе расстояний до образцов или качества классификации.
  4. Разделение на обучающую и тестовую выборки для реализации скользящей оптимизации.

Заключение

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

Source
Pine
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © sosacur01

//@version=5
Strategy parameters
Strategy parameters
Backtest Time Period
Filter Date Range of Backtest
Start Date
End Date
Long & Short Position
On/Off Long Postion
On/Off Short Postion
kNN-based Inputs
Start Date
Stop Date
Indicator
Short Period [1..n]
Long Period [2..n]
Base No. of Neighbours (K) [5..n]
Volatility Filter
Bar Threshold [2..5000]
MA Inputs
Use MA as Filter
MA Type
MA Length
MA Source
Risk Management Inputs
ATR Length
Long Position - Stop Loss - ATR Multiplier
Short Position - Stop Loss - ATR Multiplier
% of Equity at Risk
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)