반응형
반응형
이번엔 변동성 지표 중 가속 밴드라고 하는 걸 살펴본다. 이름이 밴드인 만큼 앞서 소개했던 엔벨롭, 볼린저 밴드, 켈트너 채널과 모양은 유사하다. 이 중 개념적으로나 결과적으로 가장 유사한 것은 켈트너 채널(Keltner Channels). 단 가격 밴드를 형성할 때 단순 백분율이 아닌 매 봉의 고가, 저가 차이를 이용한다. 고저가 차이를 구하는 방법은 아래 수식을 참조. 특이한 점은 위아래 밴드에 각각 이동 평균을 먹여 사용한다는 것이다. 그럼 이제 가속 밴드와 캘트너 채널과의 차이를 확인해보자. 캘트너 채널보다는 좀 더 변동성을 잘 반영하는 듯하다. 가속 밴드도 이동 평균 구간을 조절하거나 밴드의 이동평균 종류를 변경하면서 최적을 찾는 경우가 많다. 기본은 이동평균 은 단순 이동 평균, 이동..
켈트너 채널(KC, Keltner Channels)은 체스터 켈트너(Chester W. Keltner)라는 사람이 만든 변동성 지표이다. 켈트너는 10일 단순 이동 평균을 사용하여 거래하였으나 현재는 보통 20일 지수 이동 평균을 사용한다. 볼린저 밴드와 유사한 변동성 지표이나 상하단 밴드를 정하는 방법이 다르다. 종목의 변동성을 반영한다는 점은 같으나 표준편차 대신 ATR (Average True Range)를 사용한다. 켈트너 채널은 일반적으로 기준선에는 20일 EMA (지수이동평균, Exponential Moving Average)를 사용하고, 가격밴드를 그리는 상하단에 기준선에 10일 ATR을 두 배수 해서 사용한다. 표준편차 대신 ATR을 사용하면서 밴드 폭 변화가 어떻게 될까? 위 차트에서..
이번에는 가격 변동을 관찰하기 위한 지표들 True Range, Average True Range, Normalized Average True Range를 살펴본다. 해당 지표들은 독자적으로 사용되는 경우도 있으나 대게 다른 지표에서 쓰이는 경우가 많다. 이 3개 지표만 이용해서 만든 전략은 없으나, 이것들을 사용해서 만든 지표나 전략은 심심치 않게 찾아볼 수 있다. TR (True Range) 트루 레인지는 당일 고가 - 당일 저가, 전일 종가 - 당일 저가, 전일 종가 - 당일 고가 중 가장 값이 큰 가격 차이이다. 상승/하락율이 아닌 실제 가격 변동폭을 뜻한다.ATR (Average True Range) 에버리지 트루 레인지는 앞서 구한 트루 레인지를 이동평균 한 값이다. 역시 구간이나 이동평..
볼린저 밴드는 존 볼린저(John Bollinger)라는 사람이 만든 대표적인 변동성 지표의 하나다. 볼린저 밴드를 설명할 때 유사한 엔벨롭을 빼놓을 수가 없는데, 엔벨롭의 단점 중 하나가 단순히 이동 평균 가격에 10%씩을 더하고 빼서 밴드를 형성하는데, 이게 가격 변동이 큰 종목의 경우 너무 잦고, 가격 변동이 작은 종목에 대해서는 매수, 매도 신호를 포착하기 어렵다는 것이다. 따라서 사용자가 종목에 따라, 혹은 시장 상황에 따라 임의로 밴드 폭을 조정하여 사용했는데 존 볼린저가 종목과 시장 상황에 상관없이 변동성을 반영할 수 있게 만든 것이 바로 이 볼린저 밴드이다. 볼린저 밴드는 기존 엔벨롭과 같은 단순히 백분율로 밴드를 구성하는 방식의 단점을 해소해 주었기에 당시 선풍적인 인기를 끌었었다. 참고..
이번에는 엔벨롭 지표와 이를 이용한 매매전략을 다룬다. 엔벨롭은 윌프리드 르두(Wilfrid LeDoux)라는 사람이 만든 아주 간단하게 주식의 과매수, 과매도 구간을 파악할 수 있는 지표다. 이동평균을 이용해 이동평균의 대체적으로 10% 상단과 10% 하단을 표시한다. 현재 가격이 이 이동평균 구간을 기준으로 상단에 위치하면 과매수 구간, 하단에 위치하면 과매도 구간으로 판단한다. 이동평균과 이동평균의 단순 몇%로 밴드를 만들기 때문에 직관적이기는 하나 가격에 대해 후행적이다. 이 때문에 이동평균을 단순이동평균 대신 지수이동평균 등으로 대체하여 사용하거나, 이동평균 범위를 조절하거나, 밴드 범위를 10%에서 조정해서 사용하기도 한다. 매매 전략은 상단 밴드에 다다랐을 때 매도, 하단 밴드에 다다랐..
이번엔 파이썬을 이용해 매매 전략을 만들고 백테스팅하기 위한 패키지를 소개한다. 아마 백테스팅으로 가장 유명한 건 zipline이 아닐까 하는데, zipline을 만든 Quantopian이 망하면서 업데이트가 안된지 꽤 되어 현재 사용하기에는 좀 무리가 있다. zipline이나 backtesting.py 외에도 백테스팅 툴은 꽤 많으나 그중에 쓰기 간단하고 앵간한 기능은 다 지원하고 이후 성과분석 시트까지 제공하는 패키지 중에는 backtesting.py가 가장 괜찮지 않나 한다.https://github.com/kernc/backtesting.py GitHub - kernc/backtesting.py: :mag_right: :snake: Backtest trading strategies in Pytho..