신호 대 잡음 비율과 이동 평균을 기반으로 한 양적 거래 전략


생성 날짜: 2024-01-02 12:24:35 마지막으로 수정됨: 2024-01-02 12:24:35
복사: 1 클릭수: 868
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

신호 대 잡음 비율과 이동 평균을 기반으로 한 양적 거래 전략

1 전략 이름

신호-소음 이동 평균 거래 전략

2 전략 개요

이 전략은 일정 주기 내의 신호-소음 비율을 계산한 후, 일률적인 거래 신호와 결합하여 양적 거래를 실현한다. 그것의 기본 아이디어는 다음과 같다:

  1. 일정 주기 (설정가능) 의 통신소음비율을 계산한다
  2. 대칭소음비율 적용 평균선 평평
  3. 현재 통신소음비율과 평균선값을 비교하여 거래 신호를 생성한다
  4. 트레이딩 신호에 따라 더 많은 헤드 또는 빈 헤드

세번째, 전략적 원칙

  1. 신호-소음 비율 (Signal to Noise Ratio) 의 계산 공식은: StN = -10*log(Σ(1/close)/n) n는 주기의 길이가 됩니다
  2. 대칭 노이즈 비율을 적용한 간단한 이동 평균 (SMA) 을 이용하여 평평한 대칭 노이즈 비율을 얻는다.
  3. 현재 문자소음비율 StN과 평평한 문자소음비율 SMAStN을 비교한다: (1) SMAStN > StN, 공백 (2) SMAStN < StN, 더 많이 (3) 그렇지 않다면

네, 전략적 장점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 신음률은 시장의 변동과 위험을 판단하고, SMA는 소음 제거 기능을 가지고 있다.
  2. SMA와 거래 신호를 생성하기 위해 시트 노이즈 비율을 결합하여 시장 위험을 판단하고, 다른 지표의 장점을 사용합니다.
  3. 다양한 시장 상황에 맞는 변수 조정 전략을 설정할 수 있습니다.
  4. Stdout 신호 지시로 더 많은 코카이드를 할 수 있으며, 직관적으로 시장 특성을 판단할 수 있다.

다섯째, 전략적 위험 분석

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

  1. 신뢰소음비율과 평균선 교차 판단에 잘못된 위치 위험이 있다.
  2. 사이클 설정이 잘못되면 잘못된 신호가 발생할 수 있습니다.
  3. 공백 기회는 상대적으로 적고, 매개 변수를 통해 최적화할 수 있다.
  4. 급격한 변동으로 인한 급격한 변동으로 인해 손실이 발생할 수 있습니다.

위험 해소:

  1. 평균선 변수를 조정하여 지나치게 부드럽게하지 마십시오.
  2. 최적화 사이클 변수, 다양한 시장 적응성을 테스트
  3. 카우카이 조건의 조정으로 카우카이 기회를 더 많이 제공합니다.
  4. 최대 손실을 제어하기 위해 중지 설정

6 전략적 최적화

이 전략은 다음과 같은 측면에서 최적화될 수 있습니다.

  1. 더 많은 종류의 평행선의 조합을 테스트합니다.
  2. 손해배상장치 제어 위험을 증가시키는 것
  3. 포지션 관리를 추가하고, 변동에 따라 포지션을 조정합니다.
  4. 더 많은 판단 요소와 함께 전략의 안정성을 높여라
  5. 기계 학습 방법을 사용하여 매개 변수를 자동으로 최적화합니다.

VII. 결론

이 전략은 신호음 비율을 통해 시장의 변동 위험을 판단하고, 일률을 사용하여 거래 신호를 생성하여 수량 거래를 구현한다. 단일 기술 지표에 비해 이 전략은 신호음 비율과 SMA의 각자의 장점을 통합하여 위험을 제어하면서 안정성을 향상시킨다. 매개 변수 최적화 및 기계 학습과 같은 방법으로 이 전략에는 많은 개선 공간이 있으며, 신뢰할 수 있고 효과적인 수량 거래 전략이다.

전략 소스 코드
/*backtest
start: 2023-12-25 00:00:00
end: 2023-12-29 10:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © HPotter 05/01/2021
// The signal-to-noise (S/N) ratio. 
// And Simple Moving Average.
// Thank you for idea BlockchainYahoo
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors. 
////////////////////////////////////////////////////////////
SignalToNoise(length) =>
    StN = 0.0
    for i = 1 to length-1
        StN := StN + (1/close[i])/length
    StN := -10*log(StN)

strategy(title="Backtest Signal To Noise ", shorttitle="StoN", overlay=false)
length = input(title="Days", type=input.integer, defval=21, minval=2)
Smooth =  input(title="Smooth", type=input.integer, defval=7, minval=2)
reverse = input(false, title="Trade reverse")
StN = SignalToNoise(length)
SMAStN = sma(StN, Smooth)
pos = iff(SMAStN[1] > StN[1] , -1,
	   iff(SMAStN[1] < StN[1], 1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )
plot(StN, title='StN' )
plot(SMAStN, title='Smooth', color=#00ff00)