본문 바로가기
프로그래밍

python, 주식(보조지표) -볼린저밴드 구하기

by 청청개구리 2022. 7. 3.
728x90

 

 

이른바 채널전략에 사용되는 여러채널들,

엔빌로프 밴드(채널), 켈트너 밴드(채널) 등 각종 밴드가 등장하는데,

그 중에서 볼린저밴드 라는 것을 알아보자.

 

 

개요는 주가가 정규분포를 따른다는 가정하에 표준편차를 사용하여 채널을 구성한다

필요한 것은,

 

자세한 것은 아래 참고 하자.

볼린저 밴드 - 나무위키 (namu.wiki)

 

볼린저 밴드 - 나무위키

미국의 재무분석가 존 볼린저 (John A. Bollinger, 1950년 5월 27일 ~ ) 가 1980년대에 개발한 기술적 분석도구이며, 2011년 상표권을 취득하여 정식으로 인정받았다. 20일 이동평균선을 기준으로 주가가 어

namu.wiki

 

 

파이썬으로 구현해 보자

사용데이터는 "삼성전기" 2015년~2019년의 자료이다.

 

소스코드

코드설명

65 행 : 데이터를 읽는다

68-70 행 : 종가에 대한 이동평균을 구한다

71 행 : 종가에 대한 표준편차를 구한다

73 행 : 볼린저밴드의 상단밴드를 구한다

74행 : 볼린저밴드의 하단 밴드를 구한다

77행 : 결과저장

79-80행 : 이동평균이 구해지지 않는 행삭제

81행 : 인덱스  재정렬

82행 : 결과저장

 



 

※ 볼린저밴드의 결정값, 이동평균20 과 폭2 에 대한 값을 바꾸어야 할 수도 있기에

변수화 시켰다. 여기서 폭2는 일반적인 추천값으로 되어 있는데,

데이터의 95.4%가 발생 예상되는 영역을 표현한 것이다. (아래그림 참고)

이 값을 조정해서 사용하고 싶다는 의미는? ... 공부하자...

 

 

 

그리하여, 결과출력된 'out-볼린저밴드2.xlsx' 엑셀파일로 그래프를 그려보자

 

 

그리고, 아래는 HTS가 만들어주는 볼린저밴드를 살펴보자

 

거의 같은 모양이 되는거 보니, 결과가 맞긴 한가보다 ㅎㅎ

 

728x90