🔥 Введение
Знаете, что бесит в торговле? Запаздывающие индикаторы! Пока он показал сигнал — рынок уже улетел 🚀. Поэтому я решил протестировать индикатор Джона Элерса, который обещает предсказывать движение цены без лагов. Ну, почти. 😆
SBER
Почему именно Python? Потому что:
-
Он бесплатный (в отличие от каких-нибудь TSLab или MetaTrader, где без лицензии как без рук).
-
backtesting.py — мощный инструмент, который позволяет не только тестировать стратегии, но и визуализировать результаты.
-
aiomoex — загружаем котировки с Мосбиржи без плясок с бубном вокруг брокеров.
📢 Кстати, backtesting.py вдруг ожил после 4 лет без обновлений! Видимо, автор решил, что мир не готов терять такую штуку. 😄
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:
🤔 Что нам скажет статистика?
📈 Общая доходность (%) — заработала стратегия или слила депозит?
📉 Максимальная просадка (%) — насколько больно было держать сделку.
📊 Коэффициент Шарпа — насколько стратегия адекватна.
✅ Процент прибыльных сделок — хотя бы 50%?
⏳ Средняя продолжительность сделки — сколько держим позицию.
СПБ Биржа (тикер SPBE)
🚀 Итоги тестирования
Результаты загружены на GitHub в виде HTML-отчетов. Спойлер: некоторые акции показали отличные результаты, другие… ну, скажем так, стратегия требует доработки. 😆
🔥 Если хотите видеть больше подобных экспериментов — жмите подписаться!
Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»