RSI(상대강도지수)와 손절매를 기반으로 한 장기 양적 거래 전략


생성 날짜: 2024-03-08 15:06:58 마지막으로 수정됨: 2024-03-08 15:06:58
복사: 0 클릭수: 612
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

RSI(상대강도지수)와 손절매를 기반으로 한 장기 양적 거래 전략

개요

이 글은 상대적으로 강한 지수 ((RSI) 와 상쇄를 기반으로 한 다중 수량 거래 전략을 소개한다. 이 전략은 RSI 지수를 사용하여 시장의 과매매와 과매매 상태를 판단하고, 과매매 할 때 다중 상점 포지션을 열고, 과매 할 때 평점 포지션을 열다. 동시에, 전략은 백분율 상쇄를 사용하여 위험을 제어한다.

전략 원칙

이 전략의 핵심은 상대적으로 강한 약 지수 (RSI) 이다. RSI는 동적 진동 지표로, 한 기간 동안 가격의 변화를 측정하는 데 사용됩니다. 계산 공식은 다음과 같습니다.

RS = N天内上涨幅度的平均值 / N天内下跌幅度的平均值
RSI = 100 - 100 / (1 + RS)

그 중, N은 RSI를 계산하는 시간 주기이며, 일반적으로 14을 다.

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

  1. N주기의 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")