리소스 로딩... 로딩...

브린드 벨트 평준화 회귀 거래 전략과 동적 지원

저자:차오장, 날짜: 2024-07-31 14:19:48
태그:BBSMASD

 布林带均值回归交易策略与动态支撑

개요

동적 지원과 함께 동적 지원에 대한 브린밴드 회귀 거래 전략은 브린밴드 지표를 활용하여 잠재적인 구매 기회를 식별하고 중심을 동적 지원 수준으로 수익을 창출하는 거래 전략이다. 이 전략은 가격이 상향 중심을 벗어나는 징후를 나타내면 더 많이 입상하고 가격이 중심을 넘어가는 경우 또는 입시 가격에서 크게 떨어지는 경우 지위를 탈퇴하는 것을 목표로합니다.

이 전략의 핵심 정신은 평위 회귀의 개념에 기초하고 있으며, 즉 가격이 평균 수준으로 되돌아가는 경향이 있다. 이 경우, 브린 밴드의 중경은 이 평균 수준을 나타낸다. 이 전략은 가격이 중경을 깨고 확인을 받기 위해 기다리는 것을 통해 거래의 성공률을 높이고 동시에 역동적인 출구 조건으로 위험을 관리하는 것을 목표로 한다.

전략적 원칙

이 전략의 작동 원리는 다음과 같습니다.

  1. 참가 조건:

    • 가격이 브린 베일트 중심을 깨고 그 다음 두 거래일에 중심을 유지하면 멀티 헤드 포지션을 설정합니다.
    • 이 조건은 상승 추세가 일시적인 가격 변동이 아닌 지속적인 것을 보장하는 데 도움이됩니다.
  2. 이 모든 것은 이 모든 것을 통해 이루어집니다.

    • 가격이 브린밴드 중추 궤도에 닿을 때 상위에서 많은 지점을 평형합니다.
    • 중추선은 여기서 동적 지원 위치 역할을 하며, 이윤을 얻기 위해 사용된다.
  3. 손해를 막는 조건:

    • 만약 가격이 진입 가격의 2% 이상 떨어지면, 직장을 다룰 수 있다.
    • 이 손해배상 조건은 가격이 크게 떨어지면 자금을 보호하는데 도움이 됩니다.
  4. 같은 날 거래 제한:

    • 이 전략은 같은 날에는 손해를 유발하지 않는 한 구매와 판매를 하지 않는 것을 보장합니다.
    • 이것은 불필요한 거래와 잠재적인 가격 변동을 피하는 데 도움이 됩니다.

전략은 20일 간 간단한 이동 평균 (SMA) 을 브린 밴드의 중전선으로 사용하며, 상하전선은 중전선과 2배 기준차이를 각각 마이너스한다. 이 매개 변수는 거래자의 선호도와 시장 조건에 따라 조정될 수 있다.

전략적 장점

  1. 동적 시장 적응:

    • 브린 띠는 시장의 변동에 따라 자동으로 조정되며 전략이 다른 시장 환경에 적응 할 수 있습니다.
  2. : : : : : :

    • 이 전략은 입출입 규칙이 명확하고 주관적인 판단의 필요성을 줄여줍니다.
  3. 위험 관리:

    • 고정된 비율의 손해배상 비율을 사용함으로써 전략은 각 거래의 위험을 효과적으로 통제할 수 있습니다.
  4. 평균값 회귀 원리:

    • 이 전략은 금융 시장에서 흔히 볼 수 있는 평균값 회귀 현상을 활용하여 수익 가능성을 높였다.
  5. 이 모든 것은 다른 사람들과의 관계를 바꾸기 위한 것입니다.

    • 이 전략은 두 거래일 안에 들어서기 전에 가격이 중전선 위에 유지되도록 요구함으로써 가짜 돌파구로 인한 불필요한 거래를 줄입니다.
  6. 유연성:

    • 전략의 매개 변수 (예: 브린 벨트 길이, 표준차 배수, 스톱 손실 비율) 는 다른 시장과 개인 선호도에 따라 조정될 수 있다.

전략적 위험

  1. 트렌드 시장은 좋지 않다:

    • 강력한 트렌드 시장에서, 가격은 장기적으로 평균에서 벗어날 수 있으며, 전략이 큰 트렌드 시장을 놓치는 결과를 초래할 수 있다.
  2. 이 모든 것은 매우 위험합니다.

    • 더 변동적인 시장에서는 가격이 중심을 자주 통과할 수 있으며, 이로 인해 거래량이 많고 거래 비용이 높습니다.
  3. 고정 손해의 한계:

    • 2%의 고정 스톱 손실은 어떤 경우에 너무 크거나 너무 작을 수 있으며 모든 시장 상황에 잘 맞지 않을 수 있습니다.
  4. 슬라이드 포인트와 유동성 위험

    • 유동성이 낮은 시장에서는 정확한 가격 수준에서 거래를 실행하는 것이 어려울 수 있으며 전략 성과에 영향을 미칩니다.
  5. 패러미터 민감성:

    • 전략의 성능은 브린 띠의 매개 변수 설정에 민감할 수 있으며, 신중한 최적화와 재검토가 필요합니다.
  6. 가짜 돌파구 위험:

    • 2일 확인 메커니즘에도 불구하고, 가짜 돌파구가 발생할 수 있으며, 불필요한 거래로 이어질 수 있습니다.

전략적 최적화 방향

  1. 동적 중단:

    • 시장의 변동성에 기반한 동적 스톱 로지, 예를 들어 ATR (평균 실제 파장) 배수를 사용하여 다른 시장 조건에 더 잘 적응하는 것을 고려하십시오.
  2. 여러 시간 프레임 분석:

    • 거래 방향이 더 큰 시장 추세와 일치하는지 확인하기 위해 더 긴 시간 프레임 분석을 도입하십시오.
  3. 양적 확인 지표:

    • 다른 기술 지표 (예를 들어 RSI 또는 MACD) 를 필터로 추가하여 입력 신호의 품질을 향상시킵니다.
  4. 동적 파라미터 최적화:

    • 다양한 시장 주기와 변동성에 적응하기 위해 브린 벨트 매개 변수를 동적으로 조정하는 것을 구현합니다.
  5. 일부 위치 관리:

    • 대량 조립 및 조립 메커니즘을 도입하여 위험을 더 잘 관리하고 가격 변동을 포착하십시오.
  6. 시장 환경 필터링:

    • 시장 환경 식별 메커니즘에 가입하여 평균 회귀 거래에 적합하지 않은 시장 환경에서 거래를 중단하십시오.
  7. 을 막는 최적화:

    • 더 큰 가격 변동을 포착하기 위해 경로 근처에 추가적인 차단 조건을 설정하는 것을 고려하십시오.
  8. 거래 비용은 다음과 같습니다.

    • 전략적 논리에 거래 비용을 고려하여 너무 빈번한 소규모 거래를 피하기 위해.

요약

브린밴드 평준화 회귀 거래 전략과 동적 지원은 기술 분석과 통계적 원리를 결합한 양적 거래 방법이다. 브린밴드 지표를 활용함으로써, 이 전략은 가격의 평준화 오차 이후의 회귀 기회를 포착하고 동시에 동적 지원과 중지 손실 메커니즘을 통해 위험을 관리하려고 시도한다.

이 전략의 주요 장점은 명확한 거래 규칙과 시장의 변동에 동적으로 적응하는 능력이다. 그러나, 그것은 또한 강한 트렌드 시장에서 좋지 않은 성과와 잠재적인 과도한 거래의 위험에 직면한다.

전략의 안정성과 적응성을 더욱 향상시키기 위해, 동적 스톱, 멀티 타임 프레임 분석, 추가 확인 지표, 그리고 더 복잡한 포지션 관리 기술을 도입하는 것을 고려할 수 있다. 동시에, 전략 파라미터의 지속적인 최적화와 재검토도 필수적이다.

전반적으로, 이 전략은 거래자에게 가격 변동을 포착하고 위험을 관리하는 체계적인 방법을 제공합니다. 그러나, 모든 거래 전략과 마찬가지로, 그것은 만능하지 않으며, 특정 시장 조건과 개인 위험 선호도에 따라 조정 및 최적화가 필요합니다. 실제 응용에서는, 거래자가 실제 거래 전에 충분한 재검토와 모의 거래를 수행하여 전략의 특성 및 잠재적인 위험을 충분히 이해하도록 권장합니다.


/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Mean Reversion Strategy with Bollinger Bands", overlay=true)

// Bollinger Bands settings
length = input.int(20, minval=1, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input.float(2.0, minval=0.1, title="Bollinger Bands Multiplier")

// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plot Bollinger Bands
plot(basis, title="Middle Band", color=color.blue)
p1 = plot(upper, title="Upper Band", color=color.red)
p2 = plot(lower, title="Lower Band", color=color.red)
fill(p1, p2, color=color.rgb(255, 0, 0, 90))

// Buy condition: Price crosses above the middle band
longCondition = ta.crossover(close, basis)

// Close condition: Price touches the middle band
closeCondition = ta.crossunder(close, basis)

// Emergency stop condition: Price drops below 2% of entry price
dropCondition = strategy.position_size > 0 and close < strategy.position_avg_price * 0.98

// Plot Buy/Sell Signals only on initial cross
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, textcolor=color.black, text="BUY", size=size.small)
plotshape(series=closeCondition and not dropCondition, location=location.abovebar, color=color.red, style=shape.triangledown, textcolor=color.black, text="SELL", size=size.small)
plotshape(series=dropCondition, location=location.abovebar, color=color.red, style=shape.triangledown, textcolor=color.black, text="STOP", size=size.small)

// Track entry date to ensure no same-day buy/sell
var float entryPrice = na
var int entryYear = na
var int entryMonth = na
var int entryDay = na

// Strategy Logic
if (longCondition and (na(entryDay) or (year != entryYear or month != entryMonth or dayofmonth != entryDay))) 
    strategy.entry("Long", strategy.long)
    entryPrice := close
    entryYear := year
    entryMonth := month
    entryDay := dayofmonth

if ((closeCondition or dropCondition) and strategy.position_size > 0 and (na(entryDay) or (year != entryYear or month != entryMonth or dayofmonth != entryDay or dropCondition)))
    strategy.close("Long")
    entryDay := na

관련 내용

더 많은 내용