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

Динамическое планирование и стратегия управления позициями на основе волатильности

Автор:Чао Чжан, Дата: 2024-12-12 15:19:18
Тэги:ATR

img

Обзор

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

Принципы стратегии

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

  1. Расчет волатильности канала: использует индикатор ATR (средний истинный диапазон) для измерения волатильности рынка и создает динамический канал волатильности.
  2. Механизм определения тренда: определяет направление тренда через относительное положение цены к каналу волатильности.
  3. Система управления позициями: динамически рассчитывает размер позиции на основе начального капитала и заранее установленного риска на одну сделку, в сочетании с дистанцией остановки потери в режиме реального времени, обеспечивая постоянную рисковую экспозицию для каждой сделки.
  4. Механизм управления рисками: реализует динамический режим стоп-лосса на основе канала волатильности, автоматически закрывая позиции, когда цена достигает уровня стоп-лосса, и заставляя закрывать позиции до закрытия рынка, чтобы избежать риска на ночь.

Преимущества стратегии

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

Стратегические риски

  1. Рыночный риск: может привести к частым сделкам и последовательным небольшим потерям на различных рынках.
  2. Влияние скольжения: может возникнуть значительный риск скольжения в периоды высокой волатильности, что влияет на эффективность стратегии.
  3. Чувствительность параметров: эффективность стратегии чувствительна к периоду ATR и выбору множителя, неправильный выбор параметров может повлиять на производительность.
  4. Требования к капиталу: динамическое управление позициями может потребовать большого начального капитала для обеспечения эффективного контроля рисков.

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

  1. Фильтрация рыночной среды: Добавление индикаторов силы тренда для приостановки торговли на различных рынках, уменьшая потери в нестабильных условиях.
  2. Анализ многочасовых рамок: включить более длинные временные рамки суждения тенденции для улучшения точности направления торговли.
  3. Оптимизация получения прибыли: Разработка динамических условий получения прибыли на основе волатильности для улучшения получения прибыли.
  4. Оптимизация времени входа: Добавьте ценовые модели или индикаторы импульса в качестве вспомогательных индикаторов для улучшения точности времени входа.
  5. Контроль за снижением: Добавление динамических механизмов контроля риска, основанных на собственном капитале счета, для уменьшения размера позиции или приостановки торговли во время последовательных потерь.

Резюме

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("BNF FUT 5 min Volatility Strategy", overlay=true)

// Inputs
length = input.int(20, "Length", minval=2)
src = input.source(close, "Source")
factor = input.float(2.0, "Multiplier", minval=0.25, step=0.25)
initial_capital = input.float(100000, "Initial Capital ($)")
risk_per_trade = input.float(1.0, "Risk per Trade (%)", minval=0.1, maxval=10.0)

// Volatility Stop Function
volStop(src, atrlen, atrfactor) =>
    if not na(src)
        var max = src
        var min = src
        var uptrend = true
        var float stop = na
        atrM = nz(ta.atr(atrlen) * atrfactor, ta.tr)
        max := math.max(max, src)
        min := math.min(min, src)
        stop := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
        uptrend := src - stop >= 0.0
        if uptrend != nz(uptrend[1], true)
            max := src
            min := src
            stop := uptrend ? max - atrM : min + atrM
        [stop, uptrend]

// Calculate Volatility Stop
[vStop, uptrend] = volStop(src, length, factor)

// Plot Volatility Stop
plot(vStop, "Volatility Stop", style=plot.style_cross, color=uptrend ? #009688 : #F44336)

// Risk Management and Position Sizing
atr = ta.atr(length)
stop_distance = math.abs(close - vStop) // Distance to stop level
position_size = (initial_capital * (risk_per_trade / 100)) / stop_distance // Position size based on risk per trade
position_size := math.max(position_size, 1) // Ensure minimum size of 1

// Strategy Logic
if not na(vStop)
    if uptrend and not uptrend[1] // Transition to uptrend
        strategy.close("Short")
        strategy.entry("Long", strategy.long, qty=position_size)
    if not uptrend and uptrend[1] // Transition to downtrend
        strategy.close("Long")
        strategy.entry("Short", strategy.short, qty=position_size)

// Exit on Stop Hit
if strategy.position_size > 0 and low < vStop // Exit long if stop hit
    strategy.close("Long", comment="Stop Hit")
if strategy.position_size < 0 and high > vStop // Exit short if stop hit
    strategy.close("Short", comment="Stop Hit")
if (hour == 15 and minute == 15)
    strategy.close_all()

Связанные

Больше