
이 글은 주로 ‘ 적용 베이츠 조건 판단’이라는 RSI 거래 전략의 정량 거래 전략을 분석한다. 이 전략은 RSI 지표의 확률 분포를 계산하여, 베이츠법을 적용하여 RSI 지표가 계속 상승하거나 하락할 확률을 추론하여 미래의 가격 추세를 판단하여 수익을 창출한다.
이 전략의 핵심 논리는 다음과 같습니다.
구체적으로, 전략은 먼저 p를 RSI 지표를 계산하는 주기적 변수로 정의하고, r는 미래의 가격 변화를 예측하는 시간 범위를 정의한다. 그리고 p 주기에, 통계적 종결 가격 상승 여부를 계산하고, 확률 분포를 계산한다. 동시에 p 주기에, 이 주기가 끝난 후 r 주기에, RSI가 계속 상승 여부를 계산하고, 확률 분포를 계산한다.
그 다음, 베이츠 법칙 공식을 적용하여, 매출 종결 시점 가격 상승과 RSI가 계속 상승하는 두 가지 조건을 동시에 만족시키는 확률을 계산합니다. 이는 최종 확률 판단 지표입니다. 이 확률이 주어진 절댓값보다 높을 때, 추세가 계속 상승할 것이라고 판단하여 더 많은 거래를합니다. 확률이 절댓값보다 낮을 때, 추세가 역전되어 평점을 취합니다.
따라서, 전략 종합은 가격 정보와 기술 지표 정보를 고려하고, 확률 통계와 베이이스 법칙을 적용하여 미래의 추세를 판단하여 거래 신호를 생성합니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
다양한 정보를 통합하는 것이 전략은 가격 정보뿐만 아니라 RSI와 같은 기술 지표 정보와 결합하여 미래 추세를 종합적으로 판단하여 판단 정확도를 향상시킵니다.
확률 예측: 통계적 확률 분포를 통해 가격과 RSI의 변화 방향을 확률적으로 예측하고, 단순한 수치 비교가 아닌 판단을 더 과학적으로 만든다.
베이스 최적화: 베이즈 법칙을 사용하여 관련 확률을 계산하고, 원시 통계 확률을 최적화하여 판단을 더 정확하게 한다.
유연한 변수: 다양한 변수를 제공하여 조정 최적화, 다른 시장 및 자산에 대한 변수 적합성을 제공하여 전략 적응성을 향상시킵니다.
간단하고 효과적입니다.전략적 사고가 명확하고, 간단한 통계 및 확률 연산으로 거래 신호 판단을 구현하고, 이해하기 쉽고 최적화할 수 있으며, 효과가 분명하다.
이 전략에는 다음과 같은 주요 위험도 있습니다.
변수 의존: 정책 효과는 파라미터 설정에 의존하며, 다른 시장에서 최적의 효과를 얻기 위해 많은 파라미터를 조정해야 하며, 정책 운영의 난이도를 증가시킨다.
확률 오류: 통계 시간 및 샘플이 제한되어 있기 때문에 계산된 확률이 실제 추세와 일치하지 않을 수 있으며, 판단이 편향될 수 있다.
특별 이벤트주요 돌연변이는 시장 가격과 RSI 지표의 연관성에 영향을 미쳐 전략을 무효화 할 수 있습니다.
기술적인 지표의 무효: 어떤 시장 상황에서는 RSI와 같은 기술 지표가 실패 신호를 만들어서 전략 판단이 실패할 수 있습니다.
위험을 대응하는 해결책은 다음과 같습니다: 매개 변수 설정 프로세스를 최적화, 통계 시간 및 샘플 수를 조정, 더 많은 보조 정보를 결합, 인적 개입 이상 상황 등.
이 전략의 주요 최적화 방향은 다음과 같습니다.
다중 시간 프레임여러 시간 주기 (태양선, 주경선 등) 에서 전략을 실행할 수 있고, 종합적인 판단을 통해 안정성을 높일 수 있다.
더 많은 지표: K선 형태, 운동 평균 등과 같은 기술 지표 신호를 더 추가하여 판단 기반을 풍부하게 한다.
모델 최적화: 기계 학습과 같은 방법을 적용하여 베이스 모델을 최적화하여 계산을 더 정확하게 합니다.
동적 변수: 매개 변수의 동적 최적화 모듈을 추가하여 매개 변수가 실시간 시장 변화에 따라 조정될 수 있도록 한다.
풍력 조절 장치최대 회수, 단발성 등 풍력 제어 지표를 설정하여 극한 시장에서 큰 손실을 피하십시오.
통합적 개선: 다른 종류의 전략이나 모델과 통합하여 투표 메커니즘을 형성하고 판단의 안정성을 향상시킵니다.
이 전략은 우선 통계적으로 가격과 RSI 지표의 확률 분포를 계산한 다음 베이이스 법칙을 이용하여 복합 확률을 계산하여 확률이 주어진 임계보다 높을 때 거래 신호를 생성하여 수익을 달성한다. 이 전략은 다중 소스 정보, 응용 확률 예측 및 베이이스 최적화를 통합하여 판단 효과를 더 잘한다. 주요 최적화 방향은 시간 프레임 확장, 지표 증가, 변수 역학 등이다.
/*backtest
start: 2022-12-11 00:00:00
end: 2023-03-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// Stealthy7 trading scripts are radikal. You have entered the mystical realm of demonic profit.
// If you like this script, check out my bots at cryptotrader.org/?r=51
// Let me know if you find any improvements to this script. It is beta.
// Please subscribe.
strategy("Stealthy7 Bayes Conditional RSI Trader Strategy", overlay=true)
p = input(title="Period", defval=30, minval=5, maxval=500)
t = input(title="Movement Thresh", type=float, defval=1.003, minval=1.001, maxval=1.5, step=0.001)
r = input(title="Look Range", defval=7, minval=1,maxval=500, step=1)
RSIT = input(title="Jump", defval=8, minval=1,maxval=99, step=1)
BAYEST = input(title="SM", defval=3, minval=1,maxval=99, step=1)
RSIP = input(title="RSIP", defval=14, minval=2,maxval=100, step=1)
countup = 1
countdn = 1
countupS = 1
countdnS = 1
for i = p to 1
if close[i]/close[i + r] > t
countup := countup + 1
else
countdn := countdn + 1
if close[i]/close[i + r] < 2 - t
countupS := countupS + 1
else
countdnS := countdnS + 1
rsi = rsi(open,RSIP)
countup2 = 1
countup3 = 1
countup2S = 1
countup3S = 1
for i = p to 1
if close[i]/close[i + r] > t and rsi[i + r + 1] > rsi[i + r + 2] + RSIT
countup2 := countup2 + 1
else
countup3 := countup3 + 1
if close[i]/close[i + r] < 2 - t and rsi[i + r + 1] < rsi[i + r + 2] - RSIT
countup2S := countup2S + 1
else
countup3S := countup3S + 1
countup2b = countup2 / p
countup3b = countup3 / p
countupb = countup / p
countdnb = countdn / p
countup2bS = countup2S / p
countup3bS = countup3S / p
countupbS = countupS / p
countdnbS = countdnS / p
bayes = 0
bayes := ((countupb * countup2b) / ((countupb * countup2b) + (countdnb * countup3b))) * 100
bayesS = 0
bayesS := ((countupbS * countup2bS) / ((countupbS * countup2bS) + (countdnbS * countup3bS))) * 100
SN1 = sma(bayes,BAYEST)
SN2 = sma(bayesS,BAYEST)
shortCondition = crossunder(bayesS, SN2) //and rsi < 49
longCondition = crossover(bayes, SN1) //and rsi > 59
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)