에일러스 피셔 트랜스포머 트레이딩 전략

저자:차오장, 날짜: 2024-01-08 16:51:10
태그:

img

전반적인 설명

이 전략은 기술 분석 마스터인 존 에일러스 (John Ehlers) 가 설계한 피셔 트랜스포름 지표에 기반하여 장기/단기 거래에서 자동으로 가격 트렌드 반전 지점을 식별합니다. 가장 큰 장점은 가격 반전을 식별하는 정확성과 신속성입니다.

전략 논리

이 전략은 피셔 변환 공식을 사용하여 가격을 표준화하고 가우시 분포 가격 순서를 생성합니다. 피셔 변환 공식은: y = 0.5 * ln ((((1+x) / ((1-x)).이 변환을 통해 가격 극단은 비교적 희귀한 이벤트로 변환됩니다. 최신 피셔 변환 값이 이전 기간보다 높거나 낮을 때 가능한 가격 반전을 나타냅니다. 전략은이 지표의 전환점에 따라 거래 신호를 생성합니다.

구체적으로, 전략 단계는 다음과 같습니다.

  1. 중간 가격 HL2를 계산합니다.
  2. 가장 높은 가격 xMaxH와 가장 낮은 가격 xMinL를 LENGTH 기간 동안 계산합니다.
  3. 표준화 된 가격 nValue1=(xHL2 - xMinL) / (xMaxH - xMinL) - 0.5를 계산합니다.
  4. nValue2를 얻기 위해 nValue1을 부드럽게 만들어서 극단적인 상황을 방지합니다.
  5. 피셔 변환 공식을 nValue2에 적용하면 피셔 지표 nFish를 얻을 수 있습니다.
  6. nFish를 이전 값과 비교하여 전환이 발생했는지 여부를 결정하고 거래 방향 포스를 설정합니다.
  7. 포스 (pos) 를 기반으로 긴/단기 포지션을 설정하여 거래 신호를 생성합니다.

이점 분석

이 전략의 가장 큰 장점은 거래 신호의 정확성과 시기성입니다. 피셔 변환 가격 순서가 가우스 분포에 근접하기 때문에 피셔 지표로 가격 반전이 신속하게 식별되고 반응 할 수 있습니다. 이것은 반전 기회의 시기적 인 포획을 보장합니다. 또한 Ehlers Fisher 변환 자체도 매우 신뢰할 수있는 반전 신호에 광범위하게 검증되었습니다.

위험 분석

이 전략의 가장 큰 위험은 피셔 변환 가격 순서가 이론적인 가우스 분포에 완벽하게 적합하지 않을 수 있다는 것입니다. 격차와 같은 비정상적인 시장 변동으로 피셔 지표가 잘못된 신호를 생성 할 수 있습니다. 그 신호에 맹목적으로 거래하면 큰 손실이 발생할 수 있습니다.

이 위험을 줄이기 위해, 우리는 신호 필터링을 위해 다른 지표를 결합하는 것을 고려할 수 있습니다. 비정상적인 시장에서 거래를 피하고. 우리는 또한 거래 빈도와 크기를 줄이기 위해 매개 변수를 정밀 조정할 수 있습니다.

최적화 방향

이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 다른 시장 조건에 최적의 조합을 찾기 위해 길이 매개 변수를 최적화합니다.
  2. 저하율을 제한하기 위해 스톱 로스 메커니즘을 추가합니다.
  3. 비정상적인 시장에서 잘못된 거래를 피하기 위해 거래 필터를 추가합니다.
  4. 신호 정확성을 높이기 위해 다른 표시기와 결합합니다.

결론

이 전략은 Ehlers 피셔 변환 지표를 활용하여 신속하고 정확하게 가격 반전 지점을 식별합니다. 이 전략의 가장 큰 강점은 거래 신호의 정확성과 신속함입니다. 또한 미연에 필요한 매개 변수 조정 및 거래 규칙 최적화가 필요한 위험이 있습니다. 전반적으로이 전략은 추가 연구와 응용을 요구합니다.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/12/2016
// 	Market prices do not have a Gaussian probability density function
// 	as many traders think. Their probability curve is not bell-shaped.
// 	But trader can create a nearly Gaussian PDF for prices by normalizing
// 	them or creating a normalized indicator such as the relative strength
// 	index and applying the Fisher transform. Such a transformed output 
// 	creates the peak swings as relatively rare events.
// 	Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x))
// 	The sharp turning points of these peak swings clearly and unambiguously
// 	identify price reversals in a timely manner. 
//
// 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="Fisher Transform Indicator by Ehlers Backtest", shorttitle="Fisher Transform Indicator by Ehlers")
Length = input(10, minval=1)
reverse = input(false, title="Trade reverse")
xHL2 = hl2
xMaxH = highest(xHL2, Length)
xMinL = lowest(xHL2,Length)
nValue1 = 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
nValue2 =   iff(nValue1 > .99,  .999,
	         iff(nValue1 < -.99, -.999, nValue1))
nFish = 0.5 * log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
pos = iff(nFish > nz(nFish[1]), 1,
	   iff(nFish < nz(nFish[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(nFish, color=green, title="Fisher")
plot(nz(nFish[1]), color=red, title="Trigger")

더 많은