
이차 역전 거래 전략은 주식 지향 옵션과 지향 낙점 옵션의 비율을 계산하여 지향 옵션과 낙점 옵션 비율이라고도 하며, 이 비율이 역전되면 거래 신호를 냅니다. 이 전략은 간단한 자금 관리 규칙과 결합하여 수익을 창출합니다. NDX와 SPX의 30 분 주기에는 적용됩니다. 진동 지표는 올바른 역전을 반영하기 위해 조정해야합니다.
이 전략의 핵심 지표는 투기 상향투자 옵션 비율의 평균과 그 표준 격차이다. 먼저 지난 20 일 동안의 투기 상향 옵션 비율의 평균을 계산하고, 그 다음 지난 30 일 동안의 비율의 표준 격차를 계산한다. 비율의 상위 통과 비율의 평균값이 표준 격차의 1.5 배가 될 때, 더 많이; 비율의 하위 통과 비율의 평균값이 표준 격차의 1.5 배가 될 때, 공백한다.
더 많은 것을 한 후, 비율이 다시 평균 이상의 값으로 떨어지면, 공백 포지션을 평행하십시오. 중지 손실 라인은 포지션 개시 가격의 1%로 설정하십시오. 중지 라인은 포지션 개시 가격의 3배의 중지 손실 거리로 설정하십시오.
이 전략의 가장 큰 장점은 시장 감정의 역전점을 포착하는 데 있습니다. 시장이 지나치게 비관적이거나 지나치게 전망할 때, 상향 상향 옵션 비율이 비정상적으로 나타나며, 이 때 역전 작업은 지역 역전 기회를 포착 할 수 있습니다. 또한, 자금 관리 규칙은 중지 손실과 중지 거리를 설정하여 단일 거래의 위험과 수익을 효과적으로 제어 할 수 있습니다.
이 전략의 주요 위험은 매개 변수 설정 문제이다. 매개 변수 설정이 잘못되면 거래 신호가 너무 자주 발생하여 큰 반전 기회를 잡을 수 없다. 또한, 반전 신호는 거짓으로 돌파되어 손실을 초래할 수 있다. 매개 변수를 최적화하여 신호를 더 안정적이고 신뢰할 수 있도록 권장한다.
다른 지표와 결합하여 반전 신호를 검증하는 것을 고려할 수 있으며, 가짜 돌파가 오도되는 것을 방지할 수 있다. 예를 들어, 거래량 지표가 추가될 수 있으며, 거래량이 커질 때만 반전 신호를 고려할 수 있다. 또한 일부 트렌드 지표가 추가될 수 있으며, 역동 동작을 피할 수 있다.
이 전략은 시장의 반전을 포착하기 위해 보이스/보드 옵션 비율을 계산하고 간단한 재원 관리 원칙을 결합합니다. 이 전략은 지역 반전의 기회를 잡을 수 있다는 장점이 있지만, 가짜 돌파구에 의해 오해의 소지가 있습니다. 최적화 파라미터를 설정하고 더 많은 검증 지표를 추가함으로써 전략의 안정성과 수익성을 향상시킬 수 있습니다.
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © I11L
//@version=5
strategy("I11L Long Put/Call Ratio Inversion", overlay=false, pyramiding=1, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash)
SL = input.float(0.01,step=0.01)
CRV = input.float(3)
TP = SL * CRV
len = input.int(30,"Lookback period in Days",step=10)
ratio_sma_lookback_len = input.int(20,step=10)
mult = input.float(1.5,"Standard Deviation Multiple")
ratio_sma = ta.sma(request.security("USI:PCC","D",close),ratio_sma_lookback_len)
median = ta.sma(ratio_sma,len)
standartDeviation = ta.stdev(ratio_sma,len)
upperDeviation = median + mult*standartDeviation
lowerDeviation = median - mult*standartDeviation
isBuy = ta.crossunder(ratio_sma, upperDeviation)// and close < buyZone
isCloseShort = (ratio_sma > median and strategy.position_size < 0)
isSL = (strategy.position_avg_price * (1.0 - SL) > low and strategy.position_size > 0) or (strategy.position_avg_price * (1.0 + SL) < high and strategy.position_size < 0)
isSell = ta.crossover(ratio_sma,lowerDeviation)
isTP = strategy.position_avg_price * (1 + TP) < high
if(isBuy)
strategy.entry("Long", strategy.long)
if(isCloseShort)
strategy.exit("Close Short",limit=close)
if(isSL)
strategy.exit("SL",limit=close)
if(isTP)
strategy.exit("TP",limit=close)
plot(ratio_sma,color=color.white)
plot(median,color=color.gray)
plot(upperDeviation,color=color.rgb(0,255,0,0))
plot(lowerDeviation,color=color.rgb(255,0,0,0))
bgcolor(isBuy?color.rgb(0,255,0,90):na)
bgcolor(isSell?color.rgb(255,0,0,90):na)