양적 거래에 트레일링 스톱과 함께 RSI 기반의 장기 전략

저자:차오장, 날짜: 2024-03-08 15:06:58
태그:

img

전반적인 설명

이 문서에서는 상대적 강도 지수 (RSI) 와 트레일링 스톱을 기반으로 긴 거래를 위한 양적 거래 전략을 소개합니다. 이 전략은 트렌드 트렌드를 따르는 고전적인 전략으로, 시장이 과잉 매매되면 긴 포지션을 입력하고 과잉 매매되면 포지션을 닫는 것을 통해 과잉 매매 및 과잉 매매 상황을 결정합니다. 동시에, 이 전략은 리스크를 제어하기 위해 비율 기반의 트레일링 스톱을 사용합니다. 이것은 강한 시장에서 상승 추세를 포착하기 위해 고안된 전략입니다.

전략 원칙

이 전략의 핵심은 상대적 강도 지수 (RSI) 이다. RSI는 일정 기간 동안 가격 변화의 크기를 측정하는 데 사용되는 모멘텀 오시일레이터이다. 계산 공식은:

RS = Average gain over N days / Average loss over N days
RSI = 100 - 100 / (1 + RS) 

여기서 N는 RSI를 계산하는 기간이며 일반적으로 14로 설정됩니다.

전략 논리는 다음과 같습니다.

  1. N-period RSI를 계산합니다.
  2. RSI가 과잉 판매 수준 (예를 들어, 30) 을 넘어서면 아래에서 긴 포지션을 입력합니다.
  3. RSI가 상위에서 과잉 매수 수준 (예: 70) 아래로 넘어가면 긴 포지션을 닫습니다.
  4. 입력 시 현재 가격과 설정된 비율을 기준으로 스톱 로스 가격을 계산합니다.
  5. 만약 가격이 스톱 로스 가격에 도달한다면, 손실을 통제하기 위해 긴 포지션을 닫습니다.

이 전략은 시장의 하향에서 상승으로의 전환의 시작에 지위를 입력하고, 주요 상승 추세를 포착하기 위해 상승 시장의 끝에서 지점을 종료하려고합니다.

이점 분석

  1. 단순성: 전략은 하나의 기술 지표인 RSI를 명확한 논리로 사용하므로 초보자도 배울 수 있고 사용할 수 있습니다.
  2. 트렌드 추적: 전략은 트렌드 투자의 "저가 구매, 높은 판매" 원칙을 준수하여 과잉 판매 구역에 입점하고 과잉 구매 구역에서 종료하여 시가 시장 상승 추세를 효과적으로 포착합니다.
  3. 리스크 제어: 비율 기반의 트레일링 스톱은 투자자가 각 거래의 리스크 노출을 제어하고 손실을 수용 가능한 범위로 제한하는 데 도움이됩니다.

위험 분석

  1. 범위에 묶인 시장에서 손실: RSI는 지체 지표이며 범위에 묶인 시장에서 많은 잘못된 신호를 생성 할 수 있으며, 빈번한 입출로 이어지며 작은 손실이 큰 손실로 축적됩니다.
  2. 잘못된 스톱 로스 설정: 스톱 로스가 너무 넓게 설정되면 거래당 손실이 커질 것이고 너무 좁게 설정되면 전략이 너무 일찍 중단되어 후속 트렌드를 놓칠 것입니다.
  3. 포지션 관리의 부족: 전략은 포지션을 동적으로 조정하는 메커니즘이 부족하여 위험 노출 통제가 유연하지 않습니다.

최적화 방향

  1. 트렌드 필터링: RSI 신호를 사용하기 전에 이동 평균 또는 다른 트렌드 지표를 사용하여 먼저 장기 트렌드를 결정하고 주요 트렌드가 상승 할 때만 RSI 긴 신호를 사용합니다.
  2. 스톱 로스 최적화: 트레일링 스톱 또는 ATR과 같은 더 고급 스톱 로스 전략을 사용하여 스톱 로스 포지션을 시장 리듬에 더 잘 맞게 동적으로 조정하는 것을 고려하십시오.
  3. 포지션 관리: 시장 변동성 및 트렌드 강도와 같은 요소를 기반으로 각 거래의 크기를 역동적으로 조정하여 위험을 더 잘 제어합니다.
  4. 긴 짧은 헤지: 긴 전략을 사용하면서 전략의 전체 위험 노출을 줄이기 위해 짧은 헤지 전략을 도입하십시오.

결론

이 기사에서는 RSI와 트레일링 스톱을 기반으로 긴 시장을 취하기 위한 양적 거래 전략을 소개했다. 이 전략은 위험 통제를 위해 비율 기반 트레일링 스톱을 사용하는 동시에 입출점과 출점을 위해 RSI 과잉 구매 및 과잉 판매 신호를 사용한다. 이것은 초보자도 배울 수 있는 간단하고 실용적인 트렌드 추후 전략이다. 그러나, 이 전략에는 범위와 관련된 시장에서 낮은 성과와 스톱 로스 및 포지션 관리에 대한 유연성이 부족하는 것과 같은 몇 가지 한계도 있다. 이러한 단점을 해결하기 위해 우리는 트렌드 필터링, 동적 스톱 로스, 포지션 관리, 그리고 더 강력한 수익을 얻기 위해 장기 단위 헤지 등 측면에서 전략을 최적화할 수 있다. 양적 거래 전략의 개발은 지속적인 최적화와 반복의 과정이며, 투자자들이 지속적으로 요약하고 실제에서 전략을 정비하도록 요구한다.


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

//@version=5
strategy("RSI Strategy (Long)", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = ta.rsi(price, length)
co = ta.crossover(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)

// *** Signals ***
enter_long = ta.crossover(vrsi, overSold)
enter_short = ta.crossunder(vrsi, overBought)
close_long = ta.crossunder(vrsi, overBought)
close_short = ta.crossunder(vrsi, overBought)


// *** Risk management *** 
entry_price = close
percent_diff = input(5)
stop_loss_price_long = (1 - percent_diff / 100.) * entry_price 
stop_loss_price_short = (1 + percent_diff / 100.) * entry_price 


// *** Positions *** 
if enter_long and strategy.position_size == 0
    strategy.entry("Long", strategy.long)
    strategy.exit("SL Long", "Long", stop = stop_loss_price_long)

if enter_short and strategy.position_size == 0
    strategy.entry("Short", strategy.short, qty=.001)
    strategy.exit("SL short", "Short", stop = stop_loss_price_short)

if close_long 
    strategy.close("Long", "Exit Long")

if close_short
    strategy.close("Short", "Exit Short")

더 많은