확률적 모멘트 지표를 기반으로 한 양적 거래 전략


생성 날짜: 2024-03-11 10:46:10 마지막으로 수정됨: 2024-03-11 10:46:10
복사: 3 클릭수: 595
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

확률적 모멘트 지표를 기반으로 한 양적 거래 전략

전략 개요

이 글은 스토카스틱스 모멘텀 인덱스 (SMI) 를 기반으로 한 양적 거래 전략에 대해 소개한다. 이 전략은 잠재적인 구매 및 판매 기회를 식별하기 위해 SMI 지표와 그 지수 이동 평균 (EMA) 의 교차 신호를 사용합니다. SMI 신호 라인이 EMA를 통과하면 구매 신호를 유발하고 SMI 신호 라인이 EMA를 통과하면 판매 신호를 유발합니다.

전략 원칙

이 전략의 핵심은 무작위 힘 모터 지표 ((SMI) 였다. SMI는 동적 흔들림 지표로, 일정 시간 동안 상가와 낮은 가격 범위에 대한 상가와 낮은 가격의 위치를 측정한다. 구체적으로, 이 전략은 먼저 지정된 기간의 최고 가격과 최저 가격을 계산하고, 그 다음 상가와 낮은 가격의 중간점, 그리고 최고 가격과 최저 가격의 차이를 계산한다. 다음으로, 전략은 SMI 값을 계산한다. 즉, 상대적 차이의 평균은 절대적 차이의 평균에 100을 곱한다. 마지막으로, 전략은 SMI의 지수 이동 평균을 신호선으로 계산한다.

SMI 신호선이 EMA를 통과할 때, 상향 변동력이 강화되어 구매 신호를 유발하는 것을 나타냅니다. SMI 신호선이 EMA를 통과할 때, 하향 변동력이 강화되어 판매 신호를 유발하는 것을 나타냅니다. 또한, 이 전략은 초과 구매 및 초과 판매 수준을 통해 SMI의 극단적인 상태를 표시합니다.

전략적 이점

  1. 이 전략은 강력한 동력 지표인 SMI를 기반으로 시장 추세와 동력의 변화를 효과적으로 포착할 수 있다.

  2. 전략의 논리는 명확하고, 이해하기 쉽고, 실행하기 쉽다.

  3. 지수 이동 평균을 신호선으로 사용하여, 전략은 가격 잡음을 평선시키고 신호 신뢰성을 향상시킬 수 있다.

  4. 과매매와 과매매 수준에 대한 표기는 전략에 추가적인 위험 관리 도구를 제공합니다.

전략적 위험

  1. 이 전략은 단일 지표 SMI에 의존하여 지표의 실패의 위험에 직면할 수 있습니다. 이 위험을 완화하기 위해 거래 신호를 확인하기 위해 다른 기술 지표 또는 기본 요소와 결합하는 것이 고려 될 수 있습니다.

  2. 전략은 불안정한 시장에서 자주 거래 신호를 생성하여 높은 거래 비용을 초래할 수 있습니다. 이 문제를 해결하기 위해 매개 변수를 최적화하거나 필터링 메커니즘을 도입하여 거래 빈도를 줄일 수 있습니다.

  3. 이 전략에는 명확한 스톱스 메커니즘이 없으며, 단일 거래의 위험이 너무 큰 문제가 발생할 수 있습니다. 적절한 스톱스 지점을 설정하여 위험을 제어 할 수 있습니다.

전략 최적화 방향

  1. 매개 변수 최적화: 이 전략의 성능은 SMI 계산에 사용되는 매개 변수, 예를 들어%K 길이,%D 길이 등에 크게 의존한다. 이러한 매개 변수를 최적화함으로써 전략의 성능을 향상시킬 수 있다.

  2. 신호 필터링: 거래 빈도를 줄이고 신호 품질을 높이기 위해, 트렌드 확인, 거래량 확인 등과 같은 추가 필터링 메커니즘을 도입하는 것을 고려할 수 있습니다.

  3. 위험 관리: 전략에 명확한 스톱로스 및 포지션 관리 규칙을 포함하면 위험을 더 잘 제어하고 전략의 안정성을 향상시킬 수 있습니다.

  4. 다중 요소 결합: SMI 신호를 다른 기술 지표 또는 기본 요소와 결합하여 보다 포괄적이고 신뢰할 수 있는 거래 의사 결정 메커니즘을 형성한다.

요약하다

이 글은 무작위 힘 모트 지표 ((SMI) 를 기반으로 한 양적 거래 전략에 대해 소개한다. 이 전략은 SMI 지표와 지수 이동 평균의 교차 신호를 사용하여 잠재적인 구매 기회를 식별한다. 이 전략의 장점은 강력한 동적 지표, 논리 명확성, 구현 쉬운 것을 기반으로 하고 있으며, 이동 평균과 초매 초매 수준을 사용하여 신호 신뢰성 및 위험 관리를 향상시키는 것이다. 그러나 이 전략은 또한 단일 지표 실패, 고주파 거래 및 위험 제어 부족 등의 위험을 직면하고 있다.

전략 소스 코드
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Stochastics Momentum Index Strategy", shorttitle="SMI_BackTest", overlay=false)

// Input parameters
a = input.int(10, "Percent K Length")
b = input.int(3, "Percent D Length")
ob = input.int(40, "Overbought")
os = input.int(-40, "Oversold")

// Range Calculation
ll = ta.lowest(low, a)
hh = ta.highest(high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2

avgrel = ta.ema(ta.ema(rdiff,b),b)
avgdiff = ta.ema(ta.ema(diff,b),b)

// SMI calculations
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ta.ema(SMI,b)
emasignal = ta.ema(SMI, 10)

// Color Definition for Stochastic Line
col = SMI >= ob ? color.green : SMI <= os ? color.red : color.white

plot(SMIsignal, title="Stochastic", color=color.white)

plot(emasignal, title="EMA", color=color.yellow)

level_40 = ob
level_40smi = SMIsignal > level_40 ? SMIsignal : level_40

level_m40 = os
level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40

plot(level_40, "Level ob", color=color.red)
plot(level_40smi, "Level ob SMI", color=color.red, style=plot.style_line)

plot(level_m40, "Level os", color=color.green)
plot(level_m40smi, "Level os SMI", color=color.green, style=plot.style_line)

//fill(level_40, level_40smi, color=color.red, transp=ob, title="OverSold")
//fill(level_m40, level_m40smi, color=color.green, transp=ob, title="OverBought")

// Strategy Tester
longCondition = ta.crossover(SMIsignal, emasignal)
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = ta.crossunder(SMIsignal, emasignal)
if (shortCondition)
    strategy.entry("Sell", strategy.short)