피벗 포인트 예측 오실레이터 백테스팅 전략


생성 날짜: 2023-12-20 13:44:26 마지막으로 수정됨: 2023-12-20 13:44:26
복사: 0 클릭수: 669
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

피벗 포인트 예측 오실레이터 백테스팅 전략

개요

이 전략은 투샤르 데가 개발한 Pivot Point Forecast Oscillator에 기반을 둔 회귀를 수행합니다. 이 지표는 종전 가격과 n 주기적 선형 회귀 예측 가격의 비율 차이를 계산합니다. 예측 가격이 종전 가격보다 높을 때 지표는 상위 10을 뚫고; 예측 가격이 종전 가격보다 낮을 때 지표는 아래 0을 뚫고 있습니다. 이것은 시장의 전환점을 식별하는 데 사용할 수 있습니다.

전략 원칙

이 전략은 중심점 예측 흔들림 지표를 사용하여 시장의 공백을 판단한다. 구체적으로, n 주기의 선형 회귀 예측 가격을 계산하여 실제 종결 가격과 차이가 있는 비율을 계산한다. 차이가 있는 비율이 0을 통과할 때 상수로; 차이가 있는 비율이 0을 통과할 때 공백으로. 완전한 거래 논리는 다음과 같다:

  1. n주기 선형 회귀 예측 가격 xLG를 계산
  2. 종식 가격과 예측 가격의 비율 차이를 계산하는 xCFO
  3. xCFO와 0의 관계를 판단하여 포시그를 출력합니다.
    1. xCFO > 0과 더 많은 것을 허용하고, possig = 1
    2. xCFO < 0이고 공백이 허용되고, possig = -1
    3. 다른 경우, possig = 0
  4. 포시그 신호에 따라 더 많이 하거나 더 적게 한다.

이 전략은 간단하고 직접적이며, 실제 가격과 예측된 가격을 비교하여 시장이 과대평가되거나 과소평가되었는지 판단하여 거래 신호를 발생시킵니다.

우위 분석

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

  1. 논리적으로 명확하고 이해하기 쉬운 구현.
  2. 파라미터가 적어서 조정하기 쉽다.
  3. 다양한 시장에 적응할 수 있는 유연한 선택 주기
  4. 은 은 은 은
  5. 지표를 시각화하여 명확한 거래 신호를 형성합니다.

위험 분석

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

  1. 선형 회귀 예측은 때때로 효과적이지만, 지속적으로 효과적이지 않다.
  2. 잘못된 선택은 거래의 빈도를 높일 수 있습니다.
  3. 급격한 사건으로 인해 지표가 잘못된 신호를 낸다.

대책:

  1. 다른 지표와 결합하여, 선형 회귀 예측의 유효성을 확인한다.
  2. 거래 빈도를 낮추기 위한 최적화 매개 변수
  3. 단독 손실을 통제하기 위한 전략이 추가되었습니다.

최적화 방향

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

  1. 이동 평균과 같은 지표와 결합하여 거래 신호를 풍부하게 합니다.
  2. “이런 일이 벌어진다면, 우리는 더 큰 손실을 피할 수 있습니다”.
  3. 최적화 변수, 최적의 변수 조합.
  4. 자동 정지 전략을 추가합니다.
  5. 거래비용을 고려하여 합리적인 스톱스트로스를 설정하십시오.

요약하다

축점 예측 흔들림 지표는 선형 회귀를 활용하여 가격을 예측하는 정량화 거래 전략이다. 이 전략은 논리가 간단하고, 매개 변수 설정이 유연하며, 명확한 거래 신호를 생성할 수 있다. 이 전략은 중단 손실 전략을 최적화하고, 매개 변수 선택 및 다른 지표 신호와 결합하여 더 나은 거래 효과를 얻을 수 있는 더 많은 개선의 여지가 있다.

전략 소스 코드
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/03/2018
// The Chande Forecast Oscillator developed by Tushar Chande The Forecast 
// Oscillator plots the percentage difference between the closing price and 
// the n-period linear regression forecasted price. The oscillator is above 
// zero when the forecast price is greater than the closing price and less 
// than zero if it is below.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Chande Forecast Oscillator Backtest", shorttitle="CFO")
Length = input(14, minval=1)
Offset = input(0)
reverse = input(false, title="Trade reverse")
hline(0, color=black, linestyle=line)
xLG = linreg(close, Length, Offset)
xCFO = ((close -xLG) * 100) / close
pos = iff(xCFO > 0, 1,
       iff(xCFO < 0, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xCFO, color=red, title="CFO")