МТС Боллинджер
Реализация классической торговой стратегии, описанной Джоном Болинджером в его книге "Боллинджер о лентах Боллинджера".
Вкратце Ленты (или полосы) Боллинджера - являются статистически определяемыми полосами вокруг скользящей средней с небольшим периодом. Верхняя и нижняя полосы показывают стандартное отклонение от средней. Одним словом, ленты Боллинджера указывают наиболее вероятное нахождение локального минимума и максимума для текущего состояния рынка. Более подробное описание можно найти в открытых источниках или в первоисточнике по ссылке выше.
Описание стратегии.
- Нахождение цены на (ниже) нижней линии Боллинджера - сигнал к началу мониторинга
- Формирование следующей свечи как внутренней к сигнальной свече и нахождение ее полностью внутри плос боллинджера - сигнад ко входу в длинную позицию.
- установка стоп-ордеров
- построение гипотез о будущем восходящем канале
- подтверждение одной из гипотез в качестве рабочей
- управление положением стоп-ордера вслед за сформировавшимся восходящим каналом
Очевидно, для короткой позиции сигналы зеркальные.
Скриншот сегодняшней (14.02.2012) работы механической торговой системы во время вечерней сессии на таймфрейме 1 минута. Инструмент - мартовский фьючерс на индекс РТС. Очень недурно.
Во время тестирования стратегии в Амиброкере на исторических данных были обнаружены последовательности из нескольких следующих друг за другом убыточных сделок. Эффект неудивителен - стратегия контртрендовая, а реалии российского рынка секретом не являются. Попытки фильтрации заведомо убыточных сделок принесли определённые плоды. Методом научного тыка и часами работы оптимизатора удалось выявить два (похожих) индикатора и примерные настройки каждого из них. Использование обоих индикаторов в качестве фильтров входа одновременно смысла не имеет, а по отдельности они показывают практически одинаковые результаты. Приятной особенностью оказалось их полное невмешательство в заключение сделок торговой системой во время бокового движения и агрессивный запрет на входы в позицию на резких пробойных импульсах, где открытие контртрендовых позиций гарантированно приносило ощутимые убытки.
Торговая система реализована полностью на языке qpile, объём исходного кода около 2000 строк. Традиционно - параллельная торговля разными инструментами на разных рынках, любых таймфреймах, сохранение результатов торговли и внутренних данных для анализа, модель алгоритма в Amibroker для тестирования на исторических данных, риск - менеджмент.
Ощущение от алгоритма как от весьма надежного и прибыльного. Конечно, о последнем можно будет говорить лишь спустя некоторое время, достаточное для сбора достаточного количества информации, но все 3 дня, которые робот стоял на прогоне на боевом счету, он имел прибыль. Классика есть классика, будь то музыка, одежда или (упс!) биржевые алгоритмы
Краткая справка.
Полосы Боллинджера представляют собой три линии:
1. Средняя линия ML (обычное скользящее среднее) рассчитывается по формуле:
ML = SUM (CLOSE, N) / N = SMA (CLOSE, N),
где:
- SUM (…, N) — сумма за N периодов;
- CLOSE — цена закрытия;
- N — количество периодов, используемых для расчета;
- SMA — простая скользящая средняя.
2. Верхняя линия TL (средняя линия ML, смещенная вверх на определенное число D стандартных отклонений StdDev) рассчитывается по формуле:
TL = ML + (D * StdDev),
3. Нижняя линия BL (средняя линия ML, смещенная вниз на число стандартных D отклонений StdDev) рассчитывается по формуле:
BL = ML — (D * StdDev).
StdDev – стандартное отклонение рассчитывается как:
StdDev = SQRT (SUM ((CLOSE — SMA (CLOSE, N))^2, N)/N),
где SQRT — квадратный корень.
Публикуется с разрешения Заказчика