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

아론 오시레이터 기반 주식 거래 전략

저자:차오장, 날짜: 2024-01-15 14:08:33
태그:

img

전략 개요

이 전략은 소시우스 아룬 오시일레이터 전략 (Saucius Aroon Oscillator Strategy) 이라고 불린다. 이는 높은 변동성, 그러나 불확실한 추세를 가진 주식, 지수 및 상품에 적합하며, 미래의 가격 전망이 불확실하다. 이 전략은 아룬 오시일레이터 지표를 사용하여 가격 추세를 파악하고 이러한 위험 자산의 자동 거래를 구현하기 위해 여러 매개 변수에 기반한 입출 조건을 설정한다.

전략 논리

이 전략의 아이디어는 아론 라인의 창시자 투샤르 찬데에서 유래되었다. 찬데는 아론 오시일레이터가 50보다 높거나 낮을 때 상승 추세와 하락 추세를 식별 할 수 있다고 제안했다. 이것은 트렌딩이 아닌 기간에 간단한 아론 라인과 교차의 단점을 완화하는 데 도움이됩니다.

특히, 전략은 먼저 19기 Aroon Up, Aroon Down 라인 및 Aroon 오시일레이터를 계산합니다. 오시일레이터는 Up 라인에서 Down 라인을 빼서 계산됩니다. 중간 라인은 -25, 상부 레일 75 및 하부 레일 -85로 설정됩니다. 오시일레이터가 중간 라인을 넘으면 긴 포지션이 열립니다. 아래로 갈 때 짧은 포지션이 열립니다. 출구 조건은 오시일레이터가 상부 레일 위에 갈 때 길게 닫고 하부 레일 아래에 갈 때 짧게 닫습니다.

따라서, 중간선은 진입에 대한 트렌드 방향을 결정하는 데 사용되며, 상부와 하부 레일은 트렌드 반전 시 출퇴하는 데 사용되며, 아론 오시레이터 지표에 기반한 자동화 거래를 실현합니다.

장점

전통적인 트렌드 다음 전략에 비해 이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 높은 변동성과 불분명한 트렌드를 가진 자산에 적합하며 단순한 트렌드 전략보다 더 잘 작동합니다.
  2. 아론 오시일레이터 (Aroon Oscillator) 를 통해 트렌드를 식별하는 것이 더 신뢰할 수 있습니다.
  3. 여러 매개 변수 설정으로 거래 조건이 엄격해지고 잘못된 거래를 피합니다.
  4. 신속한 수익 취득 및 효과적인 손실 위험 관리

요약하자면, 아론 오시레터 지표의 강점을 결합함으로써 전략은 좋은 이윤율과 수익성을 가진 특정 자산의 자동 거래를 달성합니다.

위험성

이 전략에는 몇 가지 위험도 있습니다.

  1. 매개 변수 조정은 다른 자산에 필요한, 그렇지 않으면 성능에 영향을 미칠 수 있습니다
  2. 높은 거래 빈도는 거래 비용과 미끄러짐 비용을 증가시킬 수 있습니다.
  3. 기술 지표에 의존하여 지표가 실패할 때 손실이 발생할 수 있습니다.

이러한 위험은 매개 변수를 조정하고 코드를 최적화함으로써 감소 및 개선 될 수 있습니다. 또한 적절한 위치 크기와 자금 관리는 잠재적 위험을 효과적으로 제어 할 수 있습니다.

최적화

전략 성과를 더 향상시키기 위해 다음과 같은 측면에서 최적화를 할 수 있습니다.

  1. 매개 변수를 조정하고 다른 자산과 시장 환경에서 테스트
  2. 더 강력한 거래 신호를 위해 다른 기술 지표의 조합을 추가합니다.
  3. 거래당 손실 크기를 효과적으로 제한하기 위해 스톱 로스 전략을 추가하십시오.
  4. 가짜 파장을 피하기 위해 부피 지표를 포함합니다.
  5. 불필요한 거래를 줄이기 위해 진입 조건을 최적화

포괄적인 테스트와 최적화를 통해 전략의 안정성, 승률 및 수익성이 크게 향상 될 수 있습니다.

결론

이 전략은 창의적으로 아론 오시일레이터 지표에 기반한 높은 변동성과 불분명한 추세를 가진 자산을 자동화 거래에 달성했다. 전통적인 트렌드 전략과 비교하면 이러한 유형의 자산에서 더 잘 수행되며 엄격한 거래 조건도 매개 변수 설정으로 달성됩니다. 전략의 장점은 주목할 만 여전히 개선의 여지가 있습니다. 목표 최적화를 통해 추가 향상도 얻을 수 있습니다. 전략은 양적 거래 관행에 대한 참조를 제공합니다.


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

//@version=2
// by Saucius Finance https://saucius-finance.blogspot.com/
// copyrights reserved :)
// This strategy derives form the consideration of the author, Tushar Chande, that, in "more patterns" paragraph, 
// long and short trends are identified by oscillator < or > line 50. 
// This helps because simple Aroon and Aroon crosses suffer in not trending periods.
// original article avabile in:" Stocks & Commodities, V. 13:9 (369-374) : A Time Price Oscillator by Tushar Chande, Ph.D.""
strategy("Aroon Oscillator strategy by Saucius", overlay=false)
//building aroon lines, Embodying both Aroon line (Up and Down) and Aroon Oscillator
length = input(19, minval=1)
level_middle = input(-25, minval=-90, maxval=90, step = 5)
levelhigh = input(75,  minval=-100, maxval=100, step = 5)
levellow = input(-85,  minval=-100, maxval=100, step = 5)
upper = 100 * (highestbars(high, length+1) + length)/length
lower = 100 * (lowestbars(low, length+1) + length)/length
oscillator = upper - lower 
plot(upper, title="Aroon Up", color=blue)
plot(lower, title="Aroon Down", color=red)
plot(oscillator, title="Aroon Oscillator", color = yellow)
hline(level_middle, title="middle line", color=gray,  linewidth=2)
hline(levelhigh, title ="upper border", color=gray,  linewidth=1)
hline(levellow, title ="lower border", color=gray, linewidth=1)

// Entry //
entryl = oscillator[1] < level_middle[1] and oscillator > level_middle
entrys = oscillator[1] > level_middle[1] and oscillator < level_middle
strategy.entry("Long", true, when = entryl)
strategy.entry("Short", false, when = crossunder (oscillator, level_middle))


// === EXIT===
exitL1 = oscillator[1] > levelhigh[1] and oscillator < levelhigh
exitS1 =  oscillator[1] < levellow[1] and oscillator > levellow
strategy.close("Long", when=entrys)
strategy.close("Short", when=entryl)
strategy.close("Long", when= exitL1)
strategy.close("Short", when= exitS1)


더 많은