반응형
반응형
켈트너 채널(KC, Keltner Channels)은 체스터 켈트너(Chester W. Keltner)라는 사람이 만든 변동성 지표이다. 켈트너는 10일 단순 이동 평균을 사용하여 거래하였으나 현재는 보통 20일 지수 이동 평균을 사용한다. 볼린저 밴드와 유사한 변동성 지표이나 상하단 밴드를 정하는 방법이 다르다. 종목의 변동성을 반영한다는 점은 같으나 표준편차 대신 ATR (Average True Range)를 사용한다. 켈트너 채널은 일반적으로 기준선에는 20일 EMA (지수이동평균, Exponential Moving Average)를 사용하고, 가격밴드를 그리는 상하단에 기준선에 10일 ATR을 두 배수 해서 사용한다. 표준편차 대신 ATR을 사용하면서 밴드 폭 변화가 어떻게 될까? 위 차트에서..
볼린저 밴드는 존 볼린저(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..
이전 포스팅에서는 기본 제공 보조지표, 커뮤니티 보조지표를 살펴보고 파인 스크립트로 지표를 만들어서 추가해 봤는데, 이번에는 비슷한 방법으로 나만의 매매 전략을 만들고 이걸로 백테스팅해서 성과평가까지 해보려고 한다. 트레이딩뷰의 장점인 파인 스크립트와 이를 이용해 커뮤니티에 발행된 지표/전략을 이용하면 쉽게 매매 전략을 만들 수 있고, 강력한 백테스팅 툴과 보고서를 제공한다. 우선 지표 추가 시와 동일하게 기본 제공되는 전략을 한번 가져와보겠다. 화면 상단 '지표' 버튼을 누르고 나오는 팝업 좌측의 '테크니컬즈'를 누른다. 이러면 트레이딩뷰에서 제공하는 지표와 전략들이 나온다. 여기서 '전략' 탭을 선택해 보자. 트레이딩 뷰에서 제공하는 전략들을 시장에 널리 알려진 일반적인 전략들이다. 이 중에서 '..