지지와 저항의 동적 조정을 기반으로 한 Nifty 50 양적 거래 전략


생성 날짜: 2024-02-22 15:57:28 마지막으로 수정됨: 2024-02-22 15:57:28
복사: 0 클릭수: 786
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

지지와 저항의 동적 조정을 기반으로 한 Nifty 50 양적 거래 전략

개요

이 전략은 Nifty 50 지수를 기반으로 한 고주파수 수량 거래 전략이다. 그것은 Nifty 50 지수의 가격 변화를 추적하여 오픈 이익 변화와 결합하여 지원 지점 근처에서 낮은 가격에 구매하고 저항 지점 근처에서 높은 가격에 판매하는 작업을 수행하여 수익을 창출합니다.

전략 원칙

이 전략은 먼저 Nifty 50 지수의 오픈 이윤 변화 상황을 얻습니다. 그리고 그것은 설정된 지원 저항 수준과 오픈 이득 변화의 폭에 대한 하락값에 따라 구매 및 판매 신호를 생성합니다. 구체적으로:

  1. 지수 가격이 지원에 가까워지고 오픈 이윤의 변화가 설정된 구매 임점을 초과할 때 구매 신호가 발생
  2. 인덱스 가격이 저항에 가까워지고 오픈 이윤이 설정된 매매 마이너스보다 낮아지면 매매 신호가 발생합니다.

이런 식으로, 지지부위 근처에서 낮은 가격에 구매할 수 있고, 저항부위 근처에서 높은 가격에 판매할 수 있으며, 이득을 얻을 수 있다.

우위 분석

이 전략에는 다음과 같은 장점이 있습니다.

  1. 높은 주파수, 단기 가격 변동, 큰 수익성
  2. 개방된 이해관계 정보를 활용하여 시장의 정서를 보다 정확하게 판단할 수 있습니다.
  3. 시장 상황에 따라 유연하게 대응할 수 있는 역동적인 포지션 조정 지원
  4. 간단하고 이해하기 쉬우며, 파라미터를 조정하는 것이 편리합니다.
  5. 확장성이 강하여 기계 학습과 같은 알고리즘을 더 최적화 할 수 있습니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 높은 주파수 거래로 인한 슬라이드 리스크. 거래 주파수를 줄이기 위해 거래 조건을 적절하게 완화 할 수 있습니다.
  2. 지원 저항 레벨이 잘못 설정되어 놓친 거래 기회 또는 손실을 증가시킬 수 있습니다. 조정 매개 변수를 정기적으로 평가해야합니다.
  3. 개방 이익 정보가 지연되어 신호 발기가 정확하지 않을 수 있다. 다중 인자 모형을 고려할 수 있다.
  4. 회귀 기간이 너무 짧아서 전략 수익이 과대평가될 수 있다. 더 긴 회귀 기간 동안 전략의 안정성을 검증해야 한다.

최적화 방향

이 전략은 다음의 몇 가지 측면에서 더 개선될 수 있습니다.

  1. 단독 손실을 효과적으로 제어할 수 있는 추가된 스톱 로직
  2. 변동률, 거래량 등의 지표와 함께 동적 거래 신호를 설정합니다.
  3. 기계 학습 알고리즘을 추가하여 파라미터를 자동으로 최적화하고 조정할 수 있습니다.
  4. 다양한 종류의 거래, 주식 지수 선물 및 주식 선택의 포트폴리오를 확장
  5. 전체적인 꼬리 위험을 더 잘 제어할 수 있는 정량화된 풍력 제어 모듈을 추가

요약하다

이 전략은 Nifty 50을 기반으로 한 간단한 효율적인 양적 거래 전략입니다. 이 전략은 운영 빈도가 높고, 개방된 이해관계 정보를 활용하고, 동적 조달을 지원하는 등의 장점이 있으며, 개선할 여지가 있습니다.

전략 소스 코드
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Intraday Nifty 50 Bottom Buying and Selling with OI Strategy", overlay=true)

// Input parameters
niftySymbol = input("NIFTY50", title="Nifty 50 Symbol")
oiLength = input(14, title="Open Interest Length")
supportLevel = input(15000, title="Support Level")
resistanceLevel = input(16000, title="Resistance Level")
buyThreshold = input(1, title="Buy Threshold")
sellThreshold = input(-1, title="Sell Threshold")

// Fetch Nifty 50 open interest
oi = request.security(niftySymbol, "D", close)

// Calculate open interest change
oiChange = oi - ta.sma(oi, oiLength)

// Plot support and resistance levels
plot(supportLevel, color=color.green, title="Support Level")
plot(resistanceLevel, color=color.red, title="Resistance Level")

// Plot open interest and open interest change
plot(oi, color=color.blue, title="Open Interest")
plot(oiChange, color=color.green, title="Open Interest Change")

// Trading logic
buySignal = close < supportLevel and oiChange > buyThreshold
sellSignal = close > resistanceLevel and oiChange < sellThreshold

// Execute trades
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)