지수 이동 평균 및 거래량 가중치를 기반으로 한 다중 요인 정량 전략


생성 날짜: 2024-01-25 15:31:21 마지막으로 수정됨: 2024-01-25 15:31:21
복사: 2 클릭수: 691
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

지수 이동 평균 및 거래량 가중치를 기반으로 한 다중 요인 정량 전략

개요

이 전략은 지수 이동 평균과 거래량 가중치에 기반한 다인자 정량화 전략으로, 주로 지수 이동 평균과 거래량 가중치의 두 가지 요인을 결합하여 정량화 거래를 실현합니다. 이 전략은 가격 추세, 거래량 정보 및 최신 가격 정보를 종합적으로 고려하여 시장 기회를 효과적으로 포착 할 수 있습니다.

전략 원칙

이 전략의 핵심 지표는 nRes이며, 지수 이동 평균 xMAVolPrice, 거래량 지수 이동 평균 xMAVol 및 최신 종결 가격close를 결합하여 다음과 같은 공식으로 계산합니다.

xMAVolPrice = ema(volume * close, length) 
xMAVol = ema(volume, length)
nRes = xMAVolPrice / xMAVol

그 중, xMAVolPrice는 종결 가격과 거래량 곱셈의 지수 이동 평균이며, 가격과 거래량 통합 정보를 반영한다. xMAVol는 거래량 만의 지수 이동 평균이다. nRes는 조정된 가격 정보를 반영한 두 지수 이동 평균의 비율이다.

이 전략은 nRes의 크기와 최신 종식 가격의 관계를 판단하여 더 많은 코어 방향을 결정합니다:

if (nRes < close[1]) 
    做多
if (nRes > close[1])
    做空

만약 nRes가 최신의 매각 가격보다 작다면, 거래량 조정된 가격이 최신의 가격보다 낮다는 것을 나타내며, 구매 신호에 속한다. 만약 nRes가 최신의 매매 가격보다 크다는 것을 나타내면 거래량 조정된 가격이 최신의 가격보다 높다는 것을 나타내며, 판매 신호에 속한다.

종합적으로, 이 전략은 거래량 조정된 가격 지표 nRes와 최신 종결 가격의 비교를 통해 더 많은 상장 방향을 결정하는 전형적인 양적 거래 전략에 속한다.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 다중 요소 정보 결합. 이 전략은 가격 정보뿐만 아니라 거래량 정보를 결합하여 주식의 다중 요소 특성을 최대한 활용하여 시장 움직임을 더 정확하게 판단 할 수 있습니다.

  2. 가짜 신호를 줄여라. 거래량 가중치를 통해 거래량이 부족하여 발생하는 가짜 돌파구를 필터링 할 수 있다. 이것은 불필요한 거래를 효과적으로 줄여서 피하는 것을 피할 수 있다.

  3. 실시간성이 강하다. 간단한 이동 평균과 같은 지표에 비해, 전략의 지수 이동 평균은 최신 데이터에 더 민감하고, 최근 시장 변화를 더 빨리 포착할 수 있다.

  4. 실행하기 쉽다. 이 전략은 간단하고 명확하며, 이해하기 쉽고, 실행하기 쉽고, 양적 거래의 요구에 적합하다.

위험 분석

이 전략은 장점이 있지만, 다음과 같은 위험도 있습니다.

  1. 거래량 정보는 신뢰할 수 없습니다. 거래량 지표는 조작하기 쉽고, 안정적이지 않으며, 오해의 소지가 있습니다.

  2. 다공간 판단의 기회는 드물다. 단순히 추세를 따르는 전략에 비해, 그 전략의 판단의 기회는 상대적으로 적고, 거래 부족으로 이어질 수 있는 상황이다.

  3. 매개 변수 선택의 어려움이 있다. 이동 평균 길이와 같은 매개 변수 선택은 전략의 성과에 큰 영향을 미치며, 잘못된 선택은 수익을 크게 감소시킬 수 있다.

  4. 급격한 변동의 위험. 급격한 상황에서는 지표 계산이 최신 가격에 반응하지 않을 수 있으며, 이로 인해 최고의 거래 시점을 놓칠 위험이 있습니다.

대응 해결 방법: 최적화 매개 변수 설정, 포지션 규모를 엄격하게 제어, 스톱 스톱을 설정; 다른 요소 지표와 결합하여 검사를 수행; 포지션 주기를 적절히 조정.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 더 유연한 입점 논리. nRes와 종결 값의 차이가 어느 한 하락값보다 크면 입점할 수 있으며, 단순히 2차 판단을 하는 것이 아니라 더 많은 기회를 잡을 수 있다.

  2. 포지션 관리 메커니즘을 추가한다. 시장의 변동 정도에 따라, 동적으로 매 거래의 포지션 크기를 조정하고, 위험을 효과적으로 제어한다.

  3. 다른 요소와 결합하여. 감정 지표, 기본 요소 등과 같은 더 많은 요소를 추가하여 전략 판단을 더 포괄적으로 할 수 있습니다.

  4. 파라미터 적응 최적화. 알고리즘 자동 최적화 길이와 같은 파라미터를 구축할 수 있으며, 이를 통해 다른 주기에서의 상황 특성에 따라 적응 조정할 수 있다.

  5. 기계 학습 모델을 활용한다. RNN 등의 딥 러닝 모델을 사용하여 다차원 특성을 모델링하여, 끝에서 끝으로 비선형적인 전략을 구현한다.

요약하다

이 전략은 가격, 거래량 등 다인자 정보를 종합적으로 고려하고, 거래량 지수 이동 평균을 통해 가격 지표를 조정하여 최신 종결 가격과 비교하여 거래 방향을 판단한다. 단일 지표에 비해 정보량이 풍부하고, 가짜 신호를 줄이는 등의 장점이 있다. 그러나 거래량이 조작되고, 판단 시점이 적은 등의 위험에 직면하고 있다.

전략 소스 코드
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/03/2017
// The related article is copyrighted material from Stocks & Commodities 2009 Oct 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Combining Exponential And Volume Weighting", overlay=true)
length = input(22, minval=1)
reverse = input(false, title="Trade reverse")
xMAVolPrice = ema(volume * close, length)
xMAVol = ema(volume, length)
nRes = xMAVolPrice / xMAVol
pos = iff(nRes < close[1], 1,
	     iff(nRes > close[1], -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1 )
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue)