Заработок

Тестируем торговую стратегию с крутым индикатором Джона Ф. Элерса на Python

🔥 Введение

Знаете, что бесит в торговле? Запаздывающие индикаторы! Пока он показал сигнал — рынок уже улетел 🚀. Поэтому я решил протестировать индикатор Джона Элерса, который обещает предсказывать движение цены без лагов. Ну, почти. 😆

Тестируем торговую стратегию с крутым индикатором Джона Ф. Элерса на Python

SBER

Почему именно Python? Потому что:

  • Он бесплатный (в отличие от каких-нибудь TSLab или MetaTrader, где без лицензии как без рук).

  • backtesting.py — мощный инструмент, который позволяет не только тестировать стратегии, но и визуализировать результаты.

  • aiomoex — загружаем котировки с Мосбиржи без плясок с бубном вокруг брокеров.

📢 Кстати, backtesting.py вдруг ожил после 4 лет без обновлений! Видимо, автор решил, что мир не готов терять такую штуку. 😄

Тестируем торговую стратегию с крутым индикатором Джона Ф. Элерса на Python

S&P 500 E-Mini Futures

💡 В чем фишка индикатора Элерса?

Классическая скользящая средняя (SMA) — это как запоздалый друг, который вечно приходит на вечеринку, когда все уже уходят. Элерс придумал Projected Moving Average (PMA), которая использует регрессию для предсказания движения цены.

Формула простая: PMA = SMA + Slope * Length / 2

Где Slope — наклон линии тренда. Но это еще не все! Мы прогнозируем сам PMA: PredictPMA = PMA + 0.5 * (Slope – Slope[2]) * Length

📈 Когда PredictPMA пересекает PMA, это сигнал на вход или выход!

🎯 Как работает стратегия?

Вход в длинную позицию (покупка):

✅ Цена на недельном графике выше 50-недельной PMA.
✅ Цена на дневном графике выше 50-дневной PMA.
10-дневная PMA выше 50-дневной.

Выход из позиции:

🔹 Стоп-лосс — фиксированный 10% вниз от входа.
🔹 Трейлинг-стоп на основе ATR (чтобы фиксировать прибыль и не вылетать раньше времени).

🤖 Автоматизация тестов

🛠️ Код выложен на GitHub, можете глянуть.

Файлы:

  • data_loader.py — качаем котировки с Мосбиржи.

  • scanner.py — фильтруем ликвидные бумаги.

  • strategy.py — сама стратегия.

  • backtester.py — прогоняем бэктест.

  • main.py — связываем всё вместе.

💡 Такой подход делает код удобным и масштабируемым!

📊 Бэктестим стратегию

Пример кода на backtesting.py:

Тестируем торговую стратегию с крутым индикатором Джона Ф. Элерса на Python

🤔 Что нам скажет статистика?

📈 Общая доходность (%) — заработала стратегия или слила депозит?
📉 Максимальная просадка (%) — насколько больно было держать сделку.
📊 Коэффициент Шарпа — насколько стратегия адекватна.
Процент прибыльных сделок — хотя бы 50%?
Средняя продолжительность сделки — сколько держим позицию.

Тестируем торговую стратегию с крутым индикатором Джона Ф. Элерса на Python

СПБ Биржа (тикер SPBE)

🚀 Итоги тестирования

Результаты загружены на GitHub в виде HTML-отчетов. Спойлер: некоторые акции показали отличные результаты, другие… ну, скажем так, стратегия требует доработки. 😆

🔥 Если хотите видеть больше подобных экспериментов — жмите подписаться!

Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»

Источник

Нажмите, чтобы оценить!
[Общий: 0 Средний: 0]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»