스토카스틱 모멘텀 인덱스에 기초한 양적 거래 전략

저자:차오장, 날짜: 2024-03-11 10:46:10
태그:

img

전략 개요

이 문서에서는 스토카스틱 모멘텀 인덱스 (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)


더 많은