В процессе загрузки ресурсов... загрузка...

Стратегия фильтра с двойным проходом полосы

Автор:Чао Чжан, Дата: 2023-10-24 17:00:02
Тэги:

Обзор

Стратегия Dual Bandpass Filter адаптирована из стратегии, опубликованной Бродером в журнале Stocks & Commodities в 2010 году. Она генерирует торговые сигналы путем вычисления значения фильтра пропускания полосы Бродера для выявления колебаний цен в акциях. Она становится короткой, когда значение фильтра пропускания полосы выше порога, и становится длинной, когда оно ниже, чтобы следовать тренду.

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

Ключевыми этапами этой стратегии являются:

  1. Инициализировать параметры, включая пропускную способностьLength, коэффициент флуктуацииDelta, порог короткой зоныSellZone, и порог длинной зоныBuyZone.

  2. Вычислить фильтр пропускания полосы BroderBPиспользуя ряд тригонометрических функций.

  3. Определить направление позиции: перейти на короткий путь, еслиBPВыше.SellZone; длинный, если нижеBuyZoneВ противном случае, сохраните текущее положение.

  4. Выходные сигналы: генерируют длинные/короткие сигналы на основе направления положения.

  5. Установите цвета строк на основе результатов сигнала.

  6. Нарисуй кривую фильтра пропускания полосы.

Эта стратегия фиксирует краткосрочные колебания с помощью фильтра пропускания полосы Бродера и генерирует торговые сигналы, когда колебания достигают определенной величины, чтобы следовать тренду.

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

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

  2. Чувствительность может регулироваться с помощью настройки параметров для адаптации к различным рыночным условиям.

  3. Простая и понятная логика стратегии, легко понятная и реализуемая.

  4. Параметры могут быть легко оптимизированы, чтобы найти наилучшую комбинацию.

  5. Визуальная кривая фильтра пропускной способности интуитивно показывает колебания рынка.

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

  1. Слишком оптимизированный фильтр пропускной способности может стать слишком чувствительным и генерировать ложные сигналы.

  2. Невозможность определить конечные точки колебаний может привести к увеличению потерь.

  3. Высокая частота торговли может увеличить затраты и риски скольжения.

  4. Уязвимы к черным лебедям, которые вызывают ложные сигналы.

  5. Параметры необходимо корректировать для различных продуктов и рынков.

  6. Подумайте о настройке стоп-лосса на контроль по сделке.

  7. Продлите время выхода или добавьте фильтры, чтобы уменьшить ложные сигналы.

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

  1. Оптимизируйте параметры, чтобы найти лучшую комбинацию, оценивая процент выигрыша, коэффициент прибыли, коэффициент Шарпа и т.д.

  2. Добавьте фильтры, такие как скользящая средняя, ценовые паттерны, чтобы избежать торговли в не трендовых зонах.

  3. Для диверсификации рисков следует рассмотреть возможность объединения параметров между несколькими инструментами для торговли в корзине.

  4. Добавьте логику остановки потери для контроля потери по сделке, например, динамические остановки или остановки после.

  5. Добавьте прибыль, например, перемещение остановок прибыли, чтобы зафиксировать прибыль.

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

  7. Расширение до системы арбитража между активами с использованием дифференциалов цен для хеджирования.

  8. Оптимизация обратных тестов для наилучшего выбора активов и ребалансировки стратегий.

Резюме

Стратегия Dual Bandpass Filter оценивает колебания цен с помощью фильтра пропускной способности Broder и генерирует сигналы, когда колебания достигают порогов, с преимуществом высокой чувствительности к краткосрочным тенденциям и простой реализации.


/*backtest
start: 2022-10-17 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/09/2018
// The related article is copyrighted material from
// Stocks & Commodities Mar 2010
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Bandpass Filter Strategy ver 2.0")
Length = input(20, minval=1)
Delta = input(0.5)
SellZone = input(5, step = 0.01)
BuyZone = input(-5, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xPrice = hl2
hline(0, color=blue, linestyle=line)
beta = cos(3.14 * (360 / Length) / 180)
gamma = 1 / cos(3.14 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
BP = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2])
pos = iff(BP > SellZone, 1,
	   iff(BP <= BuyZone, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )  
plot(BP, color=red, title="Bandpass Filter Strategy")

Больше