rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | Индикатор Kalman Filter и бесплатные роботы на нём.

Сегодня рассмотрим историю появления индикатора Kalman Filter.

Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.

Индикатор Kalman Filter и бесплатные роботы на нём. 

Оглавление.

1.      История появления индикатора Kalman Filter.

2.      Как проводятся расчеты индикатора Kalman Filter.

3.      Какие сигналы может подавать индикатор Kalman?

4.      Роботы для OsEngine на индикаторе Kalman Filter.

4.1.   Стратегия на пересечение индикатора Kalman и Vwma.

4.2.   Стратегия на пересечении двух индикаторов Kalman.

4.3.   Стратегия на пересечение индикатора Kalman и канала из двух индикаторов Ema.

5.      Таблица общих результатов.

1. История появления индикатора Kalman Filter.

Индикатор Kalman Filter является продуктом развития и адаптации математической модели Калмана для технического анализа финансовых рынков. Модель Калмана была впервые предложена в 1960-х годах Рудольфом Калманом, американским инженером и ученым. Его модель была разработана для оценки состояния системы и фильтрации шума в режиме реального времени, которая использовалась для навигационных систем.  Однако, со временем, она стала применяться и в других областях, включая финансовые рынки. В финансовом анализе индикатор Kalman Filter был разработан, чтобы сглаживать ценовые данные и предсказывать тренды на рынке.

Вместо использования статистических методов или простых скользящих средних индикатор Kalman Filter применяет математический алгоритм Калмана для преобразования и фильтрации ценовых данных.

Исторически, индикатор Kalman Filter стал активно применяться в техническом анализе с начала 2000-х годов. Трейдеры и инвесторы начали понимать преимущества этого индикатора в прогнозировании ценовых трендов и определении точек входа и выхода на рынке. Сегодня индикатор Kalman Filter является одним из популярных инструментов технического анализа. Он широко используется для торговли и принятия решений на рынке, основанных на анализе ценовых движений и трендов. Благодаря применению математической модели Калмана индикатор Kalman Filter может давать более точные и надежные прогнозы, а также снижать влияние шумов на данные.

2. Как проводятся расчеты индикатора Kalman Filter.

Расчеты индикатора Kalman Filter могут быть представлены следующим образом:

1. Рассчитаем произведение фактора для расчета минимизации ошибок на фактор Калмана, деленного на 100. Из произведения извлечем квадратный корень.

ShK = sqrt(Sharpness * K / 100),
где

  • Sharpness — фактор для расчета минимизации ошибок;
  • K – фактор Калмана;
  • Sqrt – квадратный корень.

2. Находим расстояние. Рассчитывается как разность текущей цены и предыдущего значения фильтра Калмана.

Distance = Price.Close[i] — Kalman[i — 1],
где

  • Price.Close [i] – текущая цена закрытия свечи;
  • Kalman[i — 1] – предыдущее значение индикатора фильтр Калмана.

3. Расчет скорости. Сумма предыдущего значения скорости и расстояния, умноженного на фактор Калмана, деленного на 100.

Velocity[i] = Velocity[i-1] + Distance * K / 100,
где

  • Velocity[i-1] – предыдущее значение скорости;
  • Distance – расстояние;
  • K – фактор Калмана.

4. Далее рассчитаем ошибку.

Error = Kalman[i-1] + Distance * ShK,
где

  • Kalman[i — 1] – предыдущее значение индикатора фильтр Калмана.
  • Distance – расстояние,
  • ShK – значение, найденное в п.1. 

5. Формула для расчета фильтра Калмана. Рассчитывается как сумма ошибки и скорости.

Kalman[i] = Error + Velocity[i],
где

  • Error – ошибка;
  • Velocity[i] – скорость.

 

Расчёт индикатора в OsEngine можно посмотреть вот в этом файле:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/KalmanFilter.cs

3. Какие сигналы может подавать индикатор Kalman.

Индикатор Kalman Filter может давать следующие сигналы:

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

2. Определение тренда: индикатор Kalman Filter может быть использован для оценки тренда на основе имеющихся данных. Это позволяет определить направление движения рынка и использовать эту информацию для генерации сигналов на основе пересечения цены с индикатором.

3. Комбинирование с другими индикаторами: Kalman Filter может применяться в торговле как самостоятельно, так и совместно с другими трендовыми индикаторами или осцилляторами. Может подавать сигнал при пересечении со скользящими средними или линиями у канальных индикаторов. 

4. Прогнозирование: индикатор Kalman Filter может использоваться для прогнозирования будущих значений на основе имеющихся данных. При этом можно определить сигналы на основе прогноза и использовать их для принятия решений о входе в сделку или выходе из нее.

4.    Роботы для OsEngine на индикаторе Kalman Filter.

4.1. Стратегия на пересечение индикатора Kalman и Vwma.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/IntersectionKalmanAndVwma.cs

Ссылка на Vwma:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/VWMA.cs

Логика входа:

  • Покупаем, когда индикатор Vwma стал выше индикатора Kalman.
  • Продаем, когда индикатор Vwma стал ниже индикатора Kalman.

Выход:

  • Стоп и профит в процентах от цены входа.

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 1. Пример логики на пересечение индикаторов.

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 2. Si, TF15 min, 2021-23, P/L 1 contract: 0,67%

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 3. BR, TF15 min, 2021-23, P/L 1 contract: 0,65%

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 4. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 1,09%

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 5. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 1,20% 

4.2. Стратегия на пересечении двух индикаторов Kalman.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/IntersectionTwoKalman.cs

Пример логики:

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

Выход: 

  • Из покупки. Ставим трейлинг-стоп на минимум за указанный для трейлинг-стопа период и переносим на новый минимум цены, также за указанный период.
  • Из продажи. Ставим трейлинг-стоп на максимум за указанный для трейлинг-стопа период и переносим на новый максимум цены, также за указанный период.
Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 6. Пример логики входа и выхода робота.

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 7. Si, TF15 min, 2021-23, P/L 1 contract: 0,46%

Индикатор Kalman Filter и бесплатные роботы на нём.

Рис. 8. BR, TF15 min, 2021-23, P/L 1 contract: 0,10%

 Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 9. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,24%

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 10. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,94%

4.3. Стратегия на пересечение индикатора Kalman и канала из двух индикаторов Ema.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/IntersectionKalmanWithChannelEma.cs

Ссылка на Ema:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/Ema.cs

Пример логики:

Канал состоит из двух Ema одной длины. Одна рассчитывается по максимальным ценам – это верхняя граница канала, вторая – нижняя граница рассчитывается по минимальным ценам.

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

Выход:

  • Из покупки, когда Kalman ниже верхней линии канала Ema.
  • Из продажи, когда Kalman выше нижней линии канала Ema.

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 11. Пример срабатывания логики стратегии.

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 12. Si, TF15 min, 2021-23, P/L 1 contract: 0,33%

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 13. Br, TF15 min, 2021-23, P/L 1 contract: 0,23%

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 14. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,17%

Индикатор Kalman Filter и бесплатные роботы на нём.
Рис. 15. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,24%

5. Таблица общих результатов.

Индикатор Kalman Filter и бесплатные роботы на нём.

Лучшие результаты у нас показала стратегия, основанная на пересечении индикатора Kalman и Vwma.

Ссылки на роботов на GitHub:

  1. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/IntersectionKalmanAndVwma.cs
  2. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/IntersectionTwoKalman.cs
  3. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/IntersectionKalmanWithChannelEma.cs
Комментарии открыты для друзей, добавляйтесь!

OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка OsEngine: https://t.me/osengine_official_support
Курилка, общаемся здесь:   https://t.me/o_s_a_chat

Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients

 Индикатор Kalman Filter и бесплатные роботы на нём.

★6

UPDONW
Новый дизайн