Стратегия инверсии полосового фильтра


Дата создания: 2024-01-24 15:28:26 Последнее изменение: 2024-01-24 15:28:26
Копировать: 0 Количество просмотров: 696
1
Подписаться
1617
Подписчики

Стратегия инверсии полосового фильтра

Обзор

Обратная стратегия с пропускным фильтром - это стратегия торговли акциями, основанная на пропускном фильтре. Она имитирует пропускной фильтр путем построения функции cos и sine и генерирует сигналы покупки и продажи. Стратегия совершает обратную операцию, то есть покупает или продает, когда выход фильтра выше или ниже определенного уровня триггера.

Стратегический принцип

В основе этой стратегии лежит построение пропускного фильтра BP, который состоит из двух параметров: центральной частоты и полосы пропускания. Центральная частота определяет основные циклы, через которые проходит фильтр, а полоса пропускания определяет диапазон циклов, через которые проходит фильтр. Эти параметры определяют характеристики передачи фильтра.

В частности, стратегия включает в себя следующие параметры:

  • Length: центральный цикл фильтра
  • Delta: параметры пропускной способности
  • Бета: коэффициент, связанный с центральной частотой
  • Gamma: коэффициент, связанный с пропускной способностью
  • Alpha: промежуточная переменная, связанная с Beta, Gamma

На основе этих переменных стратегия создает одноступенчатый IIR (бесконечный импульсный ответ) фильтр:

BP = 0.5(1 - alpha)(xPrice - xPrice[2]) + beta*(1 + alpha)*nz(BP[1]) - alpha*nz(BP[2])

Когда BP выше или ниже TriggerLevel, стратегия будет работать в противоположном направлении.

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

Основные преимущества этой стратегии:

  1. Используя пропускной фильтр, можно отфильтровать высокочастотный и низкочастотный шум, извлекая только полезные среднечастотные циклические сигналы, повышая коэффициент шума.
  2. Относительно простой и интуитивный, требует всего лишь несколько параметров, чтобы адаптироваться к различным циклическим и рыночным условиям.
  3. Применение стратегии обратного обращения позволяет вовремя улавливать краткосрочные изменения цены, быстро ликвидировать позиции после получения прибыли и снизить риск хранения позиций.

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

Однако эта стратегия также несет в себе некоторые риски:

  1. Параметры фильтров с пропускной способностью должны корректироваться в зависимости от различных циклов и рыночных условий. Неправильная настройка может привести к упущенным торговым возможностям или созданию более ошибочных сигналов.
  2. Стратегия реверса подвержена влиянию иллюзорного реверса, и если реверс не произойдет, цена продолжит движение в первоначальном направлении, что приведет к убыткам.
  3. При высокой частоте транзакций необходимо следить за предотвращением переоптимизации и контролировать стоимость транзакций.

Чтобы снизить эти риски, можно рассмотреть следующие варианты оптимизации:

  1. Применение адаптивного фильтра, который автоматически корректирует параметры в соответствии с изменениями рынка.
  2. В сочетании с фильтром тренда, чтобы избежать обратного раскрытия позиций.
  3. Оптимизация комбинации параметров, позволяющая приспособить стратегию к более широким рыночным условиям.

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Циклическая и параметрическая адаптация: в зависимости от ценовой ситуации в разных циклах и последнего временного окна, в режиме реального времени корректируются параметры, такие как Length, Delta, чтобы динамика фильтра адаптировалась к изменениям в рыночной среде.

  2. Определение тенденции в сочетании: на основе фильтров с пропускным способом добавляются технические показатели, такие как MACD, MA, чтобы определить направление тенденции, чтобы избежать открытия позиций на обратном направлении.

  3. Объединение нескольких временных рамок: развертывание стратегий в нескольких временных рамах (например, 5 минут, 15 минут, 30 минут и т. Д.), проверка сигналов между различными временными рамками, повышение точности сигналов.

  4. Механизм остановки убытков: установление разумного места остановки убытков, активное прекращение убытков после достижения уровня остановки убытков, эффективный контроль размера убытков.

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

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/2016
// 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...
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Bandpass Filter Reversed Strategy")
Length = input(20, minval=1)
Delta = input(0.5)
TriggerLevel = input(0)
xPrice = hl2
hline(TriggerLevel, 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 > TriggerLevel, -1,
	   iff(BP <= TriggerLevel, 1, nz(pos[1], 0))) 
if (pos == 1) 
    strategy.entry("Long", strategy.long)
if (pos == -1)
    strategy.entry("Short", strategy.short)	    
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(BP, color=red, title="Bandpass Filter Strategy")