Стратегия двойных опционов Bollinger Quant

Автор:Чао Чжан, Дата: 2023-09-27 16:19:30
Тэги:

Обзор

Стратегия двойного Боллинджера - это стратегия торговли опционами, которая использует двойные полосы Боллинджера и индикатор RSI для генерации торговых сигналов. Она обнаруживает отклонения рынка после агрессивных односторонних движений.

Логика стратегии

Стратегия использует два набора полос Боллинджера с различными параметрами одновременно. Первый BB имеет длину 20 и множитель 2. Второй BB имеет длину 20 и множитель 3.

Сигнал покупки генерируется, когда цена закрывается ниже нижней полосы второго BBs и RSI ((14) <= 20. Сигнал продажи генерируется, когда цена закрывается выше верхней полосы второго BBs и RSI))) >= 80.

Согласно теории полос Боллинджера, закрытие за пределами полос указывает на более высокую вероятность обратного тренда. Сочетание с сигналами RSI перекупленности/перепроданности повышает эффективность. Использование двойных BB позволяет получить больше возможностей для обратного тренда с различными параметрами.

Анализ преимуществ

  • Улучшенная вероятность поймать обратные действия с помощью двойных BB

Двойные BB увеличивают вероятность поймать сигналы реверсии во время повышенной волатильности.

  • RSI фильтрует ложные перерывы и недействительные сигналы

RSI эффективно оценивает уровни перекупленности/перепроданности, отфильтровывая некоторые недействительные сигналы прорыва.

  • Подходит для лова резких переворотов

Двойные BB с RSI могут быстро поймать возможности для обратного движения после агрессивных односторонних движений.

  • Низкочастотные торговые системы

Низкая частота торгов эффективно контролирует затраты на снижение и сдвиг, а также соответствует характеристикам торговли опционами.

Анализ рисков

  • Возможность длительного отсутствия торговли

Поскольку стратегия сосредоточена на обнаружении перемен, сигналы могут быть редкими во время стойких тенденций.

  • Трудно генерировать сигналы при низкой волатильности

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

  • Риск неудачной реверсии

Захватывание реверсий сопряжено с риском неудачного реверса. Цена может снова измениться после подачи сигнала, вызывая убытки. Правильное размещение позиций и стоп-лосс могут помочь управлять таким риском.

Руководство по оптимизации

  • Оптимизировать параметры BB

Испытайте различные комбинации длины и множителя, чтобы найти оптимальные параметры для лучшей производительности.

  • Добавить другие индикаторы в качестве фильтров

Проверка добавления MACD, KD и т. д. для фильтрации торговых сигналов и улучшения качества.

  • Оптимизация выбора контрактов опционов

Выбирать подходящие опционные контракты в соответствии с волатильностью рынка для максимальной эффективности стратегии.

  • Оптимизировать выбор торговой сессии

Тестирование может найти лучшие торговые сессии, чтобы избежать недействительных сигналов и улучшить результаты.

Заключение

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


/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 15m
basePeriod: 5m
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/
// © Trade_by_DB


//@version=5
strategy("Double Bollinger Binary Options", overlay=true, margin_long=100, margin_short=100)

// Bollinger bands #1 (20,2)
length1 = input.int(20, minval=1)
src1 = input(close, title="Source")
mult1 = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis1 = ta.sma(src1, length1)
dev1 = mult1 * ta.stdev(src1, length1)
upper1 = basis1 + dev1
lower1 = basis1 - dev1

//Bollinger bands #2
length2 = input.int(20, minval=1)
src2 = input(close, title="Source")
mult2 = input.float(3.0, minval=0.001, maxval=50, title="StdDev")
basis2 = ta.sma(src2, length2)
dev2 = mult2 * ta.stdev(src2, length2)
upper2 = basis2 + dev2
lower2 = basis2 - dev2


//Buy Condition
buy = close < lower2 and ta.rsi(close,14) <=20
sell = close > upper2 and ta.rsi(close,14) >=80

// plotshape(buy, style = shape.arrowup , color = color.green, location = location.belowbar)
// plotshape(sell, style = shape.arrowdown , color = color.red, location = location.abovebar)





if (buy)
    strategy.entry("CALL", strategy.long)


if (sell)
    strategy.entry("PUT", strategy.short)


Больше