Стохастическая трансформация Фишера временно останавливает изменение количественной стратегии индикатора STOCH


Дата создания: 2024-01-02 11:14:12 Последнее изменение: 2024-01-02 11:14:12
Копировать: 0 Количество просмотров: 424
1
Подписаться
1237
Подписчики

Стохастическая трансформация Фишера временно останавливает изменение количественной стратегии индикатора STOCH

Обзор

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

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

Эта стратегия сначала вычисляет стандартный STOCH-индекс, а затем выполняет его преобразование в INVLine. Когда INVLine пересекает нижнюю линию dl, создается сигнал покупки; когда INVLine пересекает верхнюю линию ul, создается сигнал продажи. В то же время в стратегии также установлен механизм отслеживания стоп-лосса для блокирования прибыли и уменьшения убытков.

В частности, ключевая логика этой стратегии заключается в следующем:

  1. Вычислить STOCH-индикатор: используя стандартные формулы, вычислить быстрый STOCH-значение акций
  2. Преобразование Фишера: преобразование STOCH в INVLine
  3. Создание торгового сигнала: покупка на INVLine при прохождении линии dl, продажа при прохождении линии ul
  4. Прекращение отслеживания: включение временного механизма прекращения отслеживания для своевременного прекращения потерь

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

Основными преимуществами данной стратегии являются:

  1. Преобразование Фишера повышает чувствительность STOCH, позволяя быстрее обнаруживать возможности для изменения тренда.
  2. Механизм временного отслеживания позволяет эффективно контролировать риски и блокировать прибыль.
  3. Подходит для средне- и краткосрочных операций, особенно в последнее время более популярные быстрые количественные сделки
  4. “В условиях стабильности мы показали хорошие результаты, прибыль стабильна.

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

Однако есть и другие риски:

  1. STOCH-индикаторы способны создавать ложные сигналы, которые могут привести к ненужным сделкам
  2. Изменение Фишера также увеличивает шум в STOCH, что приводит к большему количеству ложных сигналов.
  3. “Время отступает, а прибыль не может быть стабильной”.
  4. Для получения Alpha требуется более короткий период хранения, не подходит для длительного хранения

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

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

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

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

  1. Оптимизация параметров преобразования Фишера, сглаживание кривой INVLine
  2. Оптимизация длины периода STOCH, поиск оптимальной комбинации параметров
  3. Оптимизация параметров линейных значений для снижения вероятности ошибочных сделок
  4. Увеличение количества подтверждений, чтобы избежать ненужных следовых потерь
  5. Добавление фильтров на прорыв в течение дня и снижение ложных сигналов в торговом центре
  6. Тенденционные индикаторы, чтобы избежать обратной торговли

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

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

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

//@version=3
strategy("IFT Stochastic + Trailing Stop", overlay=false, pyramiding = 0, calc_on_order_fills = false, commission_type =  strategy.commission.percent, commission_value = 0.0454, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//INPUTS
stochlength=input(19, "STOCH Length")
wmalength=input(4, title="Smooth")
ul = input(0.64,step=0.01, title="UP line")
dl = input(-0.62,step=0.01, title="DOWN line")
uts = input(true, title="Use trailing stop")
tsi = input(title="trailing stop actiation pips",defval=245)                                                                       
tso = input(title="trailing stop offset pips",defval=20)

//CALCULATIONS
v1=0.1*(stoch(close, high, low, stochlength)-50)
v2=wma(v1, wmalength)
INVLine=(exp(2*v2)-1)/(exp(2*v2)+1)

//CONDITIONS
sell = crossunder(INVLine,ul)? 1 : 0
buy = crossover(INVLine,dl)? 1 : 0

//PLOTS
plot(INVLine, color=aqua, linewidth=1, title="STOCH")
hline(ul, color=red)
hline(dl, color=green)
bgcolor(sell==1? red : na, transp=30, title = "sell signal")
bgcolor(buy==1? lime : na, transp=30, title = "buy signal")
plotchar(buy==1, title="Buy Signal", char='B', location=location.bottom, color=white, transp=0, offset=0)
plotchar(sell==1, title="Sell Signal", char='S', location=location.top, color=white, transp=0, offset=0)

//STRATEGY
strategy.entry("BUY", strategy.long, when = buy==1)
strategy.entry("SELL", strategy.short, when = sell==1)

if  (uts)
    strategy.entry("BUY", strategy.long, when = buy)
    strategy.entry("SELL", strategy.short, when = sell)
    strategy.exit("Close BUY with TS","BUY", trail_points = tsi, trail_offset = tso)
    strategy.exit("Close SELL with TS","SELL", trail_points = tsi, trail_offset = tso)