Количественная торговая стратегия, основанная на развороте дна


Дата создания: 2024-02-06 15:16:39 Последнее изменение: 2024-02-06 15:16:39
Копировать: 0 Количество просмотров: 657
1
Подписаться
1617
Подписчики

Количественная торговая стратегия, основанная на развороте дна

Обзор

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

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

Стратегия основана на двух основных показателях:

  1. Быстрый RSI-индикатор. Быстрый анализ рынка, чтобы определить, насколько он перекуплен или перепродан, рассчитывая все изменения за последние 2 дня. Когда быстрый RSI ниже 10, рынок находится в состоянии перепродажи.

  2. Фильтрация K-линейных объектов. Считается, что появление нижнего сигнала происходит, когда физический объем более чем в 1,5 раза больше среднелинейного объема, рассчитывая соотношение K-линейных объектов к среднелинейным.

Во-первых, быстрый RSI ниже 10 означает, что рынок перепродается; затем, K-линия увеличивается, удовлетворяя физическому объему, превышающему в 1,5 раза средний линейный объем. Когда оба условия одновременно удовлетворяются, появляются многочисленные сигналы о том, что рынок находится на обратном дне, что позволяет отфильтровать много ложных сигналов.

Стратегические преимущества

Эта стратегия имеет следующие преимущества:

  1. Быстрый RSI является чувствительным и позволяет быстро определить, насколько вы перепродаете.
  2. Фильтрация K-линейных объектов увеличивает точность и предотвращает ложные прорывы.
  3. В сочетании с быстрым индикатором и формой K-линии можно эффективно определить точку переворота рынка.
  4. В результате этого, можно получить доступ к рынку в относительно низкой точке.
  5. Стратегическая концепция проста, ясна и понятна.

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

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

  1. Рынок может переживать периоды подъема и падения даже при перепродаже.
  2. Быстрый RSI может привести к ложному сигналу, а физический фильтр может быть нарушен.
  3. Количественный анализ стратегии рискует быть слишком адекватным, а реальные результаты могут отличаться.

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

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

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

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

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

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

Эта стратегия позволяет эффективно судить о нижней части рынка, используя быстрый RSI для определения перепродажи и фильтрацию на K-линии. Идея стратегии проста, ее легко реализовать и получить возможность поворота. Однако есть определенные риски, которые требуют дальнейшей оптимизации для повышения стабильности и эффективности на рынке. В целом, стратегия торговли на нижней части, разработанная на основе этой идеи, заслуживает дальнейшего изучения.

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

//@version=3
strategy("MarketBottom", shorttitle = "MarketBottom", overlay = true)

//Fast RSI
src = close
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Body Filter
body = abs(close - open)
abody = sma(body, 10)

mac = sma(close, 10)
len = abs(close - mac)
sma = sma(len, 100)
max = max(open, close)
min = min(open, close)
up = close < open and len > sma * 2 and min < min[1] and fastrsi < 10 and body > abody * 1.5
plotarrow(up == 1 ? 1 : na, colorup = blue, colordown = blue)

sell = sma(close, 5)
exit = high > sell and close > open and body > abody
plot(sell)

if up
    strategy.entry("Long", strategy.long)

if exit
    strategy.close_all()