Стратегия возврата к среднему

SMA DEV MA
Дата создания: 2024-06-17 14:57:59 Последнее изменение: 2024-06-17 14:57:59
Копировать: 0 Количество просмотров: 600
1
Подписаться
1617
Подписчики

Стратегия возврата к среднему

Обзор

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

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

  1. Вычислите простой скользящий средний (SMA) за заданный период ((дифолт 20) как средний уровень цены.
  2. Вычислить стандартное расхождение цены (DEV) и построить по этому принципу верхнюю и нижнюю орбиты. Верхняя орбита - это SMA плюс кратность стандартного расхождения (дифолт 1.5). Нижняя орбита - это SMA минус кратность стандартного расхождения.
  3. Когда цена вверх пробивает верхнюю траекторию, она делает пустоту, а когда она вниз пробивает нижнюю траекторию, делает больше.
  4. Когда цена, которая делает больше, становится более плохой, когда она проходит через SMA вниз, а цена, которая делает больше, становится плохой, когда она проходит через SMA вверх.
  5. На графике помечаются движущиеся средние, верхние и нижние линии, а также сигналы к покупке и продаже.

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

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

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

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

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

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

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

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

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

//@version=5
strategy("Mean Regression Strategy", overlay=true)

// Define the lookback period for the moving average
length = input.int(20, title="Moving Average Length")
mult = input.float(1.5, title="Standard Deviation Multiplier")

// Calculate the moving average and standard deviation
ma = ta.sma(close, length)
dev = mult * ta.stdev(close, length)

// Calculate upper and lower bands
upper_band = ma + dev
lower_band = ma - dev

// Plot the moving average and bands
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(upper_band, color=color.red, linewidth=2, title="Upper Band")
plot(lower_band, color=color.green, linewidth=2, title="Lower Band")

// Entry conditions
long_condition = ta.crossover(close, lower_band)
short_condition = ta.crossunder(close, upper_band)

// Exit conditions
exit_long_condition = ta.crossunder(close, ma)
exit_short_condition = ta.crossover(close, ma)

// Strategy orders
if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

if (exit_long_condition)
    strategy.close("Long")
if (exit_short_condition)
    strategy.close("Short")

// Plot signals on the chart
plotshape(series=long_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")