리소스 로딩... 로딩...

오픈 마켓 노출 동적 위치 조정 양적 거래 전략

저자:차오장, 날짜: 2024-11-12 14:48:05
태그:OMESMAstdevSRTPSL

img

전반적인 설명

이 전략은 오픈 마켓 노출 (OME) 을 기반으로 한 양적 거래 시스템으로, 샤프 비율과 같은 위험 통제 지표와 결합하여 시장 트렌드를 판단하기 위해 누적 OME 값을 계산하여 거래 결정을 내립니다. 이 전략은 수익을 보장하면서 위험을 효과적으로 제어하기 위해 동적 인 수익 및 스톱 로스 메커니즘을 채택합니다. 시장 개장 후 가격 움직임이 전반적인 추세에 어떻게 영향을 미치는지에 주로 초점을 맞추고 있으며, 과학적 방법을 사용하여 시장 정서와 트렌드의 변화를 판단합니다.

전략 원칙

이 전략의 핵심은 오픈 마켓 노출 (OME) 을 계산하여 시장 트렌드를 측정하는 것입니다. OME는 현재의 종료 가격과 전날의 개막 가격과 비교하여 현재의 종료 가격의 차이의 비율로 계산됩니다. 이 전략은 누적 OME 임계값을 거래 신호로 설정하여 누적 OME가 설정된 임계값을 초과하면 긴 포지션을 입력하고 부정적인 임계값 아래로 떨어지면 포지션을 종료합니다. 샤프 비율은 위험 평가 지표로 도입되어 누적 OME의 평균 및 표준편차를 계산하여 위험 수익률을 측정합니다. 이 전략에는 수익과 손실을 제어하기 위해 고정 비율의 수익 취득 및 중지 손실 메커니즘도 포함되어 있습니다.

전략적 장점

  1. 높은 시장 감수성: OME 지표를 통해 시장 개척 후 트렌드 변화를 빠르게 파악합니다.
  2. 포괄적 리스크 관리: 샤프 비율과 스톱 로스 메커니즘을 결합한 다단계 리스크 관리 시스템을 구성합니다.
  3. 좋은 적응력: 전략 매개 변수는 다른 시장 조건에 따라 조정될 수 있습니다.
  4. 명확한 계산 논리: 단순하고 직관적인 지표 계산, 이해하기 쉽고 실행하기 쉽습니다.
  5. 높은 자본 효율성: 자본 활용을 향상시키기 위해 동적인 위치 관리를 채택

전략 위험

  1. 시장 변동성 위험: 매우 변동적인 시장에서 잘못된 신호를 생성할 수 있습니다.
  2. 미끄러짐 위험: 빈번한 거래는 더 높은 미끄러짐 비용으로 이어질 수 있습니다.
  3. 매개 변수 민감성: 전략의 효과는 매개 변수 설정에 민감합니다.
  4. 트렌드 의존성: 오시일레이션 시장에서 실적이 저하될 수 있습니다.
  5. 유출 위험: 주요 트렌드 전환점이 상당한 유출을 유발할 수 있습니다.

전략 최적화 방향

  1. 변동성 필터링을 도입하십시오: 시장 변동성을 필터링하기 위해 ATR 또는 볼링거 밴드와 같은 지표를 추가하십시오.
  2. 수익을 취하고 손실을 멈추는 것을 최적화하십시오. 고정 비율을 동적인 메커니즘으로 대체하는 것을 고려하십시오.
  3. 시장 환경 판단을 강화: 거래 시기를 최적화하기 위해 트렌드 강도 지표를 도입
  4. 포지션 관리 개선: 샤프 비율을 기반으로 포지션 크기를 동적으로 조정
  5. 펀드 관리 추가: 더 포괄적인 펀드 관리 규칙을 설계

요약

오픈 마켓 노출 동적 위치 조정 전략은 기술 분석과 리스크 관리를 결합한 완전한 거래 시스템이다. OME 지표의 혁신적인 응용을 통해 시장 트렌드를 효과적으로 파악 할 수 있습니다. 전략의 전반적인 디자인은 합리적이며 강력한 실용성과 확장성이 있습니다. 지속적인 최적화 및 개선으로이 전략은 실제 거래에서 더 나은 성능을 얻을 수 있습니다.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Open Market Exposure (OME) Strategy", overlay=true)

// Input parameters
length = input(14, title="Length for Variance")
sharpe_length = input(30, title="Length for Sharpe Ratio")
threshold = input(0.01, title="Cumulative OME Threshold")  // Define a threshold for entry
take_profit = input(0.02, title="Take Profit (%)")  // Define a take profit percentage
stop_loss = input(0.01, title="Stop Loss (%)")  // Define a stop loss percentage

// Calculate Daily Returns
daily_return = (close - close[1]) / close[1]

// Open Market Exposure (OME) calculation
ome = (close - open[1]) / open[1]

// Cumulative OME
var float cum_ome = na
if na(cum_ome)
    cum_ome := 0.0
if (dayofweek != dayofweek[1])  // Reset cumulative OME daily
    cum_ome := 0.0
cum_ome := cum_ome + ome

// Performance Metrics Calculation (Sharpe Ratio)
mean_return = ta.sma(cum_ome, sharpe_length)
std_dev = ta.stdev(cum_ome, sharpe_length)
sharpe_ratio = na(cum_ome) or (std_dev == 0) ? na : mean_return / std_dev

// Entry Condition: Buy when Cumulative OME crosses above the threshold
if (cum_ome > threshold)
    strategy.entry("Long", strategy.long)

// Exit Condition: Sell when Cumulative OME crosses below the threshold
if (cum_ome < -threshold)
    strategy.close("Long")

// Take Profit and Stop Loss
if (strategy.position_size > 0)
    // Calculate target and stop levels
    target_price = close * (1 + take_profit)
    stop_price = close * (1 - stop_loss)

    // Place limit and stop orders
    strategy.exit("Take Profit", "Long", limit=target_price)
    strategy.exit("Stop Loss", "Long", stop=stop_price)





관련

더 많은