분산 반전 거래 전략


생성 날짜: 2023-10-31 14:42:13 마지막으로 수정됨: 2023-10-31 14:42:13
복사: 0 클릭수: 650
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

분산 반전 거래 전략

개요

이차 역전 거래 전략은 주식 지향 옵션과 지향 낙점 옵션의 비율을 계산하여 지향 옵션과 낙점 옵션 비율이라고도 하며, 이 비율이 역전되면 거래 신호를 냅니다. 이 전략은 간단한 자금 관리 규칙과 결합하여 수익을 창출합니다. 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)