
고스파예측전략은 고스파의 부드러운 특성을 이용한 고스파의 부드러운 특성을 이용한 양적 거래전략이다. 고스파의 부드러운 특성을 이용한 고스파의 부드러운 특성을 이용한 고스파의 부드러운 특성을 이용한 양적 거래전략이다. 고스파예측전략은 고스파의 부드러운 특성을 이용한 양적 거래전략이다. 고스파예측전략은 고스파의 부드러운 특성을 이용한 양적 거래전략이다. 고스파예측전략은 고스파의 부드러운 특성을 이용한 양적 거래전략이다. 고스파예측전략은 고스파의 부드러운 특성을 이용한 양적 거래전략이다. 고스파예측전략은 고스파예측전략이다. 고스파예측전략은 고스파의 부드러운 특성을 이용한 양적 거래전략이다. 고스파예측전략은 고스파의 부드러운 특성을 이용한 양적 거래전략이다. 고스파예측전략은 고스파의 부드러운 특성을
이 전략의 핵심은 고스파 알고리즘이다. 고스퍼는 가스 함수를 가중치로 사용하는 선형 평준화 필터이다. 이 전략에서는 파라미터를 p로 파 창 크기로 설정한다. 그리고 삼각형 함수를 통해 파 계수 알파를 계산한다.[i]는 원시 가격 순서에 대한 i 번의 고스톤 파동 후의 결과를 나타냅니다.
전략은 재귀를 이용하는 생각이다. 먼저 알파와 원시 가격 순서 price를 사용하여 첫 번째 파동 ret을 계산한다. 그 다음에는 ret을 기반으로 두 번째 파동을 수행하고 ret2를 얻는다. 이렇게 여러 번 반복한다. 마지막으로 여러 가격 순서를 결합하여 미래의 가격을 예측하는 곡선을 수립한다.
이 방법은 여러 개의 파동을 통해 더 부드럽고 통합된 트렌드를 얻을 수 있다. 동시에 다중 모형 모형을 결합하여 단기간에 가격 움직임을 예측할 수 있다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
고스톤파를 사용하여 평평한 가격을 니다. 고주파 노이즈를 효과적으로 필터링하여 전략을 더 안정적으로 만듭니다.
반복적으로 여러 파동을 가한다. 가격 추세에 더 잘 적응할 수 있고, 예측 효과가 더 좋다.
다항식 모형에 기반한 가격 예측. 단기 가격 움직임을 모델링하여 거래 신호를 생성할 수 있다.
현재 가격과 예측 가격을 결합하여 판단한다. 거래 신호는 트렌드 예측과 직접 결합하여 놓친 거래 기회를 피한다.
단순하고 이해하기 쉽고 최적화할 수 있다. 고주파 전략의 기본 모듈로써, 다른 분석 지표를 확장할 수 있다.
이 전략에는 다음과 같은 위험도 있습니다.
고스피 필터는 급격한 가격 변화를 부드럽게 하고, 단기 거래 기회를 놓칠 수 있다.
다중 모형 적합에는 과도한 적합의 위험이 있습니다. 가격 변화 패턴이 돌연변이되면 예측 효과가 떨어질 수 있습니다.
필러브 창의 크기와 다항적 계수를 맞추는 것은 정밀한 설정이 필요합니다. 잘못하면 실패할 수 있습니다.
오픈 가격만 거래 신호로 의존한다. 내부 디스크에서 거래할 수 없다.
이 전략은 다음과 같은 측면에서 최적화될 수 있습니다.
모델 훈련과 슬라이드 윈도우 재교육 메커니즘을 추가한다. 정책 매개 변수를 동적으로 조정하여 과 적합성의 위험을 줄인다.
더 많은 가격 지표와 특징과 결합. 전략적 입력이 풍부하여 예측이 더 안정적입니다.
손해 방지 제도를 강화한다. 극한상황에서 큰 손실을 방지하기 위해 최대 손해 비율을 설정한다.
포지션 관리를 최적화한다. 예측 정확도와 변동률에 따라 포지션을 동적으로 조정한다.
주요 머신러닝 모델에 기반한 예측을 시도한다. LSTM와 같은 딥러닝 모델이다. 전략 예측 능력을 더욱 향상시킨다.
이 전략은 전반적으로 고스톤 파동과 다항 모형을 사용하여 가격 예측을 하는 고주파량화 전략이다. 이 전략은 장점이 있지만 개선할 여지가 있다. 더 많은 특성을 결합하고, 동적 조정, 상쇄 메커니즘과 같은 모듈을 도입하여 최적화하면 전략의 효과를 더욱 향상시킬 수 있다. 이 전략은 고주파 전략의 기초를 마련했으며, 추가 연구를 할 가치가 있다.
/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Gaussbot v1.0", overlay=true)
p = input(20, minval=1, title="Length")
price = input(open, title="Source")
pi=3.1415926535
w=2*pi/p
beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1)
alfa = -beta + sqrt(beta*beta + 2*beta)
ret= pow(alfa,4)*price+4*(1-alfa)*nz(ret[1])-6*pow(1-alfa,2)*nz(ret[2])+4*pow(1-alfa,3)*nz(ret[3])-pow(1-alfa,4)*nz(ret[4])
ret2 = pow(alfa,4)*ret+4*(1-alfa)*nz(ret2[1])-6*pow(1-alfa,2)*nz(ret2[2])+4*pow(1-alfa,3)*nz(ret2[3])-pow(1-alfa,4)*nz(ret2[4])
ret3 = pow(alfa,4)*ret2+4*(1-alfa)*nz(ret3[1])-6*pow(1-alfa,2)*nz(ret3[2])+4*pow(1-alfa,3)*nz(ret3[3])-pow(1-alfa,4)*nz(ret3[4])
ret4 = 3*ret-3*ret2+ret3
diff2 = nz(ret[1]) - nz(ret[2]) - (nz(ret[2]) - nz(ret[3]) )
diff22 = nz(ret2[1]) - nz(ret2[2]) - (nz(ret2[2]) - nz(ret2[3]) )
diff23 = nz(ret3[1]) - nz(ret3[2]) - (nz(ret3[2]) - nz(ret3[3]) )
diff24 = nz(ret4[1]) - nz(ret4[2]) - (nz(ret4[2]) - nz(ret4[3]) )
longCondition = price[0] - ret4[1] > 0
shortCondition = price[0] - ret4[1] < 0
if(longCondition and shortCondition)
longCondition = longCondition[1]
shortCondition = shortCondition[1]
if(longCondition==false and shortCondition==false)
longCondition = longCondition[1]
shortCondition = shortCondition[1]
if (longCondition==true and shortCondition == false)
strategy.entry("Gaussbot Long", strategy.long )
if (longCondition==false and shortCondition == true)
strategy.entry("Gaussbot Short", strategy.short)