볼린저 라인

마지막 업데이트: 2022년 1월 9일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
비트코인 2018 - 2019 일봉차트

경제적 자유를 위해 (0원에서 1000억 부자로의 여행)

제가 올리는 주식 차트에 대부분 볼린저 밴드가 그려집니다. 특별히 제가 볼린저 밴드를 좋아해서는 아니고.

제가 올리는 주식 차트에 대부분 볼린저 밴드가 그려집니다. 특별히 제가 볼린저 밴드를 좋아해서는 아니고 시점 선택을 할 때 나름 유용하기도 하고, 또 박스권 매매에 활용하자는 취지에서 봅니다

많은 분들이 변수값에 대해 문의하시는데 저는 주로 (80.2)를 사용합니다. 변수는 각자 취향의 문제입니다. 예컨대 단타 매매자라면 (20.2)도 좋고요, 장기투자자라면 (240.2)를 사용해도 되고요, 또 주봉상에서 각각의 변수를 사용해도 됩니다

중요한 것은 변수가 갖는 의미를 정확하게 이해해야 합니다. (80.2) 변수에서 80은 이동평균선을 의미하고요, 2는 표준편차 입니다.

그렇다면 볼린저 밴드는 이동평균선에서 파생된 기술적 지표임을 금세 알 수 있겠죠? 그리고 어떻게 볼린저 밴드가 그려지는지는 표준편차 2와 관련이 있어요. 그럼 간략하게 볼린저 밴드에 대해 알아보겠습니다.

참고로 노파심에서 드리는 이야기지만 이런 기술적 지표에 대해 맹신은 금물입니다. 볼밴이 최고로 좋다든지, 이동평균선 매매가 좋다든지, RSI가 잘 맞는다든지. 등등 간혹 마치 어떤 기술적지표가 돈을 왕창 벌어다 주는 것처럼 섬기는 자들이 있는데 대충 무시하세요. 가장 중요한 것은 주가와 거래량입니다. 이것만이 핵심이고 본질적인 겁니다. 나머지는 모두 여기서 파생된 지표일 뿐입니다. 지표 장사하는 애들 말에 너무 맹신해서 속지 마세요

저는 기술적 지표를 이렇게 생각합니다.

우선 좋은 기업을 찾는다. 그리고 좋은 기업을 가급적 적정한 가격에 사고 싶다. 이때 기술적 지표를 활용한다. 딱 이 정도입니다. 물론 개잡주에도 기술적 지표 적용할 수 있습니다. 것도 취향이니 인정! 저는 그렇게 안 합니다. 아주 좋은 종목이 괜찮은 가격에 왔을 때 공격하자는 겁니다. 개잡주는 아예 종목 풀에서 볼린저 라인 제외합니다. 세상에 종목은 널려 있는데 리스크 감수하면서 굳이 개잡주 포함해서 보고 싶지 않아요. 그리고 무엇보다도 초우량주만 종목 풀로 해서 봐도 사고 싶은 종목이 부지기수로 쏟아져 나옵니다. 사고 싶어도 돈이 없습니다. 뭐 하러 이익률 형편없고 ROE 낮은 종목을 바라보겠습니까?

이렇게 초우량주만 대상으로 주가 흐름을 봅니다. 이들 종목이 많이 하락했을 때 슬금슬금 들어갑니다. 한방에 질러버리면 위험합니다. 더 빠질 수도 있으니까요. 우량주도 빠지면 50% 하락도 다반사입니다. 이 때 어느 정도 많이 하락했는지를 알려주는 지표가 바로 볼린저 밴드입니다. 딱 이 정도로 활용하면 되지 볼린저 밴드만 금과옥조라고 하면 그건 다 개소리입니다. 그러니 좋은 기업 찾는데 70% 노력을 투입하시고요, 20% 정도는 볼린저 밴드를 통해 시점 선택하시고, 10% 정도 시간을 할애해서 분할매매에 신경 쓰시기 바랍니다.

먼저 볼린저 밴드 형태에 대하여

볼린저 밴드는 말 그대로 밴드입니다. 주가를 위아래로 감싸는 모습입니다. 위를 상단, 아래를 하단, 중앙을 중앙선 이라고 합니다. 3개 선으로 그려집니다

그럼 위에 아미코젠 차트를 보면 무슨 생각이 드나요? 어디서 볼린저 라인 주식을 사는 것이 좋겠습니까? 어디가 살 자리고 어디가 팔 자리인가요? 답은 말 안 해도 알겠죠? 아, 물론 답은 없어요. 하단에서 샀다가 상단에 파는 것이 능사는 아닙니다. 하단에서 상단까지 가고, 거기서 또 곧장 오를 수도 있으니까요. 그리고 하단에서 샀는데 하단을 밑으로 뚫어 제끼면서 주가가 더 하락할 수도 있습니다. 그럼 어떻게 해야 합니까?

볼밴이 갖는 의미를 알아야 합니다. 여기서 확률이 나오고, 주식투자는 확률 게임입니다.

볼린저 밴드 폭에 대해

볼린 저 밴드 지표를 보면 괄호 속에 숫자가 있어요. 지표를 보면 볼린저밴드(20, 2) 라고 써 있죠? 이 숫자가 무엇을 의미하는지 알아야 해요. 기술적 지표를 적용할 때 기본 내용에 대해 확실하게 숙지해야 합니다.

앞에 20은 이동평균선을 의미합니다. 20일 이동평균선 입니다. 볼린저 밴드를 보면 선이 3개 있습니다. 그 중에서 중앙선이 있죠. 이게 (20.2) 변수를 쓰면 중앙선이 바로 20일 이동 평균선을 의미합니다. 언더 스탠 하셨지요?

뒤에 있는 숫자 2는 승수 값 입니다. 표준편차에 승수 2를 곱해서 볼밴 상단과 하단이 정해집니다. 볼밴 상단은 표준편차에 2를 곱하고요, 하단은 표주편차에 -2를 곱한 겁니다. 이게 약간 어렵나요? 우리가 고등학교 때 정규분포에 대해 공부했습니다. 이것을 이해해야 합니다.

정규분포는 무엇을 의미하는가?

예를 들어 봅시다. 학생이 100명이 있고 이를 키 순서대로 분포도를 만든다고 생각해보세요. 그럼 위에 u자 비슷한 곳이 평균 키입니다. 왼쪽으로는 키가 작은 사람들이고, 오른쪽으로 갈수록 키가 큰 사람이 분포되어 있겠죠. 그런데 정규분포는 중앙값(u)를 중심으로 왼쪽과 오른쪽이 동일합니다. 말 그대로 정규 분포입니다. 물론 키에서는 그렇지 않을 것입니다. 대체적으로 정규분포에 가깝겠죠?

그런데 골뱅이 같은 표시 있죠? 시그마 표시입니다. 이게 표준편차입니다.

플러스, 마이너스 2시그마에 속할 확률이 95.4%라고 나오죠? 이것이 무엇을 의미할까요? 표준편차 플러스 , 마이너스 2 안에 분포가 들어갈 확률이 95.4%라는 의미 입니다. 학생들 100명 중에 95.4명이 표준편차 2 안에 분포되어 있는 거죠. 만일 3시그마를 대입하면 99.7%가 됩니다. 여기까지 정확히 언더스탠 해야 합니다. 그래야 볼린저 밴드가 이해되니까요.

볼린저 밴드를 이해하기

이걸 볼린저 라인 주가 흐름에 도입해서 만든 것이 바로 볼린저 밴드 입니다. 주가가 특정 이동평균선을 중심으로 어느 위치에 있느냐를 보기 위해 만든 기술적지표 입니다.

이제 볼린저 라인 볼린저 밴드 (80.2)에 대해 생각해봅시다. 주가는 80일 이동평균선을 중심으로 분포할 겁니다. 80일선 위에도 있고 아래에도 있겠죠? 아미코젠에 80일 이동평균선만 넣고 볼까요?

위에 차트 보니 어때요? 주가가 80일 이평선 위에 있기도 하고 아래에 있기도 합니다. 왜 80일 이냐고 자주 묻습니다. 답은 간단해요. 80일 이평선은 80 거래일간 볼린저 라인 주가의 평균 궤적 입니다. 이동평균선 계산법 아시죠? 1일에서 80일간 전부 주가를 더해서 나누기 80을 해서 점을 찍습니다. 다음날은 맨 앞에 하루 빼고 가장 최근 일은 넣습니다. 이런 식으로 계산합니다. 쉽게 말해서 80일 이평선은 80일간 주가 평균입니다. 요즘 한 달에 약 20거래일입니다. 따라서 80이 평은 약 4개월간 거래 기간이죠. 이 말이 뭔가요? 4개월간 거래 흐름을 보는 겁니다. 만일 5일 이동평균선을 그리면 어떻게 될까요? 주가 흐름에 바짝 붙어서 움직이겠지요? 맞습니다. 즉, 80이 평을 볼린저 라인 사용한다는 것은 주가를 지나치게 단기적으로 보지 않고, 그렇다고 장기적으로 보지 않는다는 의미입니다. 중기 차트 정도. 이런 의미입니다. 따라서 당신이 단기 매매자라면 20이 평을 사용해야 볼린저 라인 합니다. 변숫값을 (20.2)로 해야죠.

그렇다면 아미코젠은 80일 이동평균선을 중심으로 변동성이 얼마나 되는지 알아보고 싶은 생각이 들지 않나요? 이동평균선에서 주가가 멀어지면 이동평균선 쪽으로 회귀하려는 속성이 있죠? 그걸 이용해서 투자에 활용할 수 있습니다. 이를 위해 볼린저 밴드가 만들어진 겁니다. 볼린저 밴드 상단 쪽으로 주가가 가면 앞으로 주가가 중앙선 쪽으로 하락할 가능성을 점칠 수 있고, 거꾸로 볼밴 하단 쪽에 주가가 있으면 앞으로 주가가 올라서 볼밴 중앙값 쪽으로 이동할 가능성이 높다고 보는 겁니다.

그래서 정규분포 중앙값(u)를 중심으로 분포도를 만들 수 있듯이 80일 이동평균선을 중앙값 u로 하는 분포도를 만들어서 보자는 취지가 바로 볼린저 밴드 입니다.

정리하자면 80일 이동평균선을 중심으로 표준편차 2를 변수로 해서 그런 것이 바로 볼린저 밴드 (80.2)가 됩니다. 이 말이 의미하는 바는 뭘까요? 정규분포와 똑같이 이해하면 됩니다. 즉, 80일 이동평균선의 표준편차 2와 -2 사이에 주가가 위치할 확률이 95.4%라는 것이죠. 여기까지 이해하면 볼린저 밴드를 완전히 마스터 한 겁니다.

그럼 아미코젠을 볼밴 (80.2)로 다시 한번 볼까요?

위에 차트는 표준편차에 승수 2를 곱하면 상단, 하단이 정해진다는 것과 주가가 바로 상단과 하단 사이에서 움직일 확률 이 95.44%인 것을 의미 합니다. 다시 말해서 특별한 사항이 없는 한 주가 움직임은 볼린저 밴드를 벗어나기 힘들다는 것을 아셔야 합니다.

역으로 생각한다면 볼린저 밴드 상한선이나 하한선 밖으로 급격히 주가가 벗어난다는 것은 매수세나 매도세가 엄청나게 강하다는 것을 의미한다. 뭔가 급박한 일이 벌어지고 있다는 것이죠. 무슨 획기적인 호재가 터지면 주가는 볼밴 상단을 뚫고 위로 치솟습니다. 반대로 엄청난 악재가 있을 때 주가는 하단을 뚫고 밑으로 추락하죠. 평상시에는 볼밴 내에서 움직이고 그 확률이 95.4% 라는 의미 입니다.

계속 확률 이야기가 나옵니다. 이 부분이 중요합니다. 주식은 확률 게임입니다. 주가가 하단에 왔을 때 지지받을 확률이 얼마인가요? 상단을 돌파할 확률은 얼마일까요? 상단이나 하단 밖으로 뛰쳐나갈 확률이 5%가 안 됩니다. 따라서 볼밴 매매자들은 이런 확률을 보면서 배팅을 하는 겁니다. 이때도 만에 하나 하단을 뚫고 추가 하락할 수 있으니 여윳돈을 남겨두고 분할 매수하는 전략으로 가면서 리스크를 최소화해야 합니다. 이 정도로 쓰고요 틈나는 대로 볼밴에 대해 글을 쓸게요. 앞으로 제가 차트 올리면 볼밴이 갖는 의미를 상기하면서 보시면 재미있을 겁니다.

포카라 인플루언서 "팬" 하기

내가 이 블로그에 뒤늦게, '주식투자 기본상식' 또는 '주식투자 좋은글' 카테코리를 만들어서 계속 이렇게 기록하는 이유유는 나를 위해서가 가장 크고.. (쓸데없는 글은 별로 포스팅하지 않는다는 뜻)

나도 초보지만.. 정말 주식투자를 열심히해볼 요량으로 시작은 해봤는데 뭔가 잘 안될때, 이 두개의 카테고리에 있는 글들을 정독하면 도움이 될것 같아서다. 그럼 모두 성투!

볼린저 라인

글을 쓰기전에 다시한번 강조하고싶은것은 보조지표들은 후행성 지표로서 "보조지표"일 뿐이지 절대적으로 신뢰하면 절대 안된다는것을 강조하고싶다.
일반적으로 트레이더들이 흔하게 보는 지표중 하나가 볼린저 밴드이다.
이 글은 초보자를 위한 글이기에 어려운 설명은 볼린저 라인 생략하려고 한다. 볼린저 밴드를 설명하기 전에 글쓴이가 개인적으로 추천하고 싶은것은 흐름을 길게 가져가라는것이다. 요는 5분봉, 15분봉 ,1시간봉,4시간봉 등등.. 이런 짧은 단위가 아닌 일봉,주봉,월봉으로 큰 그림을 보는것을 추천한다.
볼린저밴드도 마찬가지로 크게크게 보는것이 더 정확도에 도움이 될것이다.

볼린저밴드의 큰 특징은 아래 세가지가 있다

1. 박스권일때 밴드가 좁아지며 이는 곧 가격의 변동성이 커질것이라는것을 암시한다.

아래 첨부한 사진은 2018 말 2019 초 비트코인 일봉차트이다. 앞서 말했듯이 큰 움직임이 나오기전에 밴드가 좁아지는것을 볼수있다. 2018년 말에는 밴드가 좁아지다가 큰 하락이 발생했고, 2019년 4월에는 밴드가 좁아지다가 큰 상승이 발생했다. 결과론적이지만 밴드가 좁아지면서 움직이는 방향쪽으로 매도 혹은 매수를하면 수익이 많이 발생하지 않을까?

비트코인 2018 - 2019 일봉차트

2. 가격의 변동이 큰 상황에서는 밴드가 넓어지며 이는 곧 추세전환이 있을것임을 암시한다.

아래 사진은 2019년 비트코인이 대상승했을때 벌어진 볼린저 밴드, 그리고 2020년 코로나 사태에 크게 하락한(일명 코로나빔) 비트코인 일봉차트이다. 표시한 두곳을보면 엄청난 상승 혹은 하락으로 인해 밴드가 엄청 넓고 볼린저 밴드 일봉차트임에도 크게 벗어난것을 볼수있다. 두군데의 공통점은 위 혹은 아래로 긴 꼬리가 있고 밴드가 매우 넓다. 이는 아래 세번째 예시에도 포함이 되는 사진이다. 가격이 매우 과대 혹은 과소평가된 상황임을 알수있다. 그리고 그 이후에는 약속한듯이 추세전환이 이루어졌다. 크게 수익을 얻고 싶다면 저런 상황에서 손실라인을 정해두고 포지션을 잡으면 큰 수익을 얻지 않을까?

2019년 상승장 2020년 코로나빔 비트코인 일봉차트

3. 가격이 볼린저밴드의 상한선, 하한선을 뚫고 올라가거나 내려갔을 경우에, 가격이 너무 과대평가 혹은 과소평가인 상태이므로, 추세가 바뀔 가능성이 높다.

볼린저 밴드를 깊게 설명하면 한도 끝도 없지만 (책 한권짜리로 볼린저밴드에 관한책이 존재함) 정말 기본적인 지식을 가지고 너무 어렵게 접근하지 않았으면 한다. 더 깊은 지식을 얻고싶다면 책을 구매해서 보는것도 도움이 될것이다.
다시한번 강조하지만 모든 보조지표는 말그대로 "보조지표"이지 절대적인 지표가 아니다. 참고는 하되 너무 맹신하면 안된다. 워렌 버핏 형님이 말씀하셨듯이 가장 중요한 절대적인 진리는 "잃지 않는것이다". 여러분도 지식을 쌓아 잃지 않는매매를 하기를 바라면서 오늘의 글을 마무리한다.

볼린저 라인

다음은 볼린저 밴드를 만들 차례이다.

볼린저 밴드란 존 볼린저의 주가 기술적 분석 도구이며, 이동평균선을 추세중심선으로 사용하고, 상하한 변동폭은 추세중심선의 표준편차로 계산한 밴드이다.

볼린저 볼린저 라인 볼린저 라인 볼린저 라인 밴드의 상한선: 20일 이평선 값 + ( 20일 동안의 주가 표준편차 값 ) * 2
볼린저 밴드의 하한선: 20일 이평선 값 - ( 20일 동안의 주가 표준편차 값 ) * 2

볼린저 밴드 구름대 형성 -> 상한선과 하한선 갭 => (상한선 – 하한선) / 중심선 이다.

이를 이용해 볼린저 밴드를 만들 것이다.

먼저 20일간의 주가 표준편차 값을 구해야 한다.

clo20ArrayBol = clo20Array.slice(index, (index+20)) -> 20개씩 추출

clo20ArrayBolTotal = clo20ArrayBol.reduce((a,b) => a+b) -> 배열들을 더함

clo20Average = clo20ArrayBolTotal / 20 -> 평균값

const calculate = () => gap.push(clo20ArrayBol.map((item) => item - col20Average))

console.log(gap) => 평균을 뺀 값들

gap.map((item) => item ** 2) => 제곱한 값들

const variance = gap.reduce((a,b) => a+b) / 19 => (제곱한 값들을 더한값) /(20-1) => 분산

const standartdDeviation = Math.sqrt(variance) => 표준편차 = 분산의 제곱근

원래 unshift 로 [0,0,0,0,0. ] 값을 뒤에 추가하려했는데, 데이터 변질이 일어났다.

데이터 부족으로 일어나는 현상이니 넘어갔다.

(실제 데이터를 넣는다면 [0,0,0,0,0. ] 이 필요 볼린저 라인 없을 것이며, 이 역시 구현 시켜놓았다.)

마무리로 볼린저밴더 상한선과 하한선을 구현시켰다.

결과물 (볼린저밴드-파란색)

완성

드디어 출시 초읽기 들어간 전기 SUV와 픽업트럭, 볼린저 B1 & B2

지난해 LA 오토쇼에서 전기 SUV와 픽업트럭을 공개하며 세간의 이목을 끈 신생 브랜드 볼린저(Bollinger)의 B1, B2가 드디어 정식으로 공개됐다. SUV인 B1과 픽업트럭인 볼린저 라인 B2는 같은 플랫폼으로 제작되는 전기차다. 물론 B2는 픽업트럭인 만큼, 후방에 케빈룸과 분리된 적재함이 자리한다는 점이 다르긴 하다.

두 모델의 투박하고 직선적인 외관 디자인은 지난해 LA 오토쇼에서 공개된 것과 크게 다르지 않다. 하지만 실제로는 디자인과 세부 구조, 몇몇 파츠에서 많은 수정을 거쳤다. 가장 눈에 띄는 점은 승객 편의성 부분. B필러의 위치를 앞으로 옮겨 2열 승객 탑승이 편리하도록 만들었고, 슬라이딩 사이드 윈도우를 수동 크랭크 유닛으로 교체했다.

유리창의 사이즈가 커진 점 또한 중요한 디자인 변경점 중 하나. 이 부분이 커지면서 자연히 벨트라인도 올라갔고, 심미적인 비율 부분 또한 개선됐다. 커진 면적만큼 시야 역시 더 넓어졌다. 헤드램프와 테일램프는 양쪽 끝으로 조금 더 거리를 벌리고, 대칭을 맞추기 위해 디테일한 부분을 다듬었다. 물론 볼린저 B1, B2 모두 동일하게 적용된다.

한편 파워트레인은 두 모델 모두 사륜구동 기반으로 2개의 전기 모터에 의해 돌아간다. 614마력의 최고출력과 906Nm의 최대토크를 기록하며, 142kWh의 배터리팩이 내장되어 있다. 최대 주행거리는 322km로 평범한 편. 가격은 12만5천 달러부터다.

기술적 분석 라이브러리 TA-LIB Python Wrapper

기술적 분석(Technical Analysis)는 과거 축적된 주가와 거래량 등을 분석하여 미래 주가의 방향성을 예측하는 분석 방법입니다. 대표적인 보조지표(Indicator)로 이동평균(Moving Average), 볼린저밴드(Bollinger Band), Moving Average Convergence Divergence(MACD), Relative Strength Index(RSI) 등이 있습니다.

보조지표들 외에도 차트에서 패턴을 알아내기도 합니다. 대표적인 볼린저 라인 패턴으로 Three Line Strike, Two Black Gapping, Three Black Crows, Evening Star, Abandoned Baby 등이 있습니다.

이번 포스트에서는 기술적 분석 라이브러리인 TA-LIB의 Python Wrapper에 대해서 소개하고자 합니다. TA-LIB를 이용하면 이동평균, 볼린저밴드, MACD, RSI 등의 대표적인 기술적 분석 보조지표를 쉽게 계산할 수 있고 다양한 차트 패턴을 포착할 수 있습니다. 자세한 기능은 이 문서에서 확인할 수 있습니다.

우분투 환경에서 TA-LIB 설치를 진행합니다.

다음과 같이 make가 없다는 메시지가 뜬다면 make를 먼서 설치하고 다시 make 명령을 실행하면 됩니다.

이제 TA-LIB 파이썬 라이브러리를 설치하면 됩니다. TA-LIB이 설치되어 있어야 TA-LIB 파이썬 라이브러리를 설치할 수 있습니다.

TA-LIB 파이썬 라이브러리를 이용하여 볼린저밴드를 추가해 보겠습니다. 먼저 다음과 같은 OHLCV(Open-High-Low-Close-Volume) 데이터, 즉 봉차트가 있습니다.

close code date diff diffratio diffsign high low open price volume
46200.0 5930 20180823 100.0 NaN 2 46200.0 45700.0 46150.0 309343000000 6730918
46150.0 5930 20180824 -50.0 NaN 5 46400.0 45550.0 45900.0 302213000000 6582535
46300.0 5930 20180827 150.0 0.325027 2 46550.0 46000.0 46100.0 243696000000 5263782
46550.0 5930 20180828 250.0 0.539957 2 46950.0 46300.0 46800.0 343323000000 7365976
46800.0 5930 20180829 250.0 0.537057 2 46800.0 46400.0 46750.0 259964000000 5572374
47650.0 5930 20180830 850.0 1.816239 2 47950.0 46700.0 46950.0 580259000000 12193231
48450.0 5930 20180831 800.0 1.678909 2 48450.0 47000.0 47100.0 652318000000 13577454
. . . . . . . . . . .
43500.0 5930 20190806 -450.0 -1.023891 5 43800.0 42500.0 42500.0 654805000000 15083824
43200.0 5930 20190807 -300.0 -0.689655 5 43900.0 43100.0 43600.0 434500000000 10002533
42650.0 5930 20190808 -550.0 -1.273148 5 43500.0 42650.0 43250.0 728074000000 16926881
43150.0 5930 20190809 500.0 1.172333 2 43350.0 43050.0 43250.0 418719000000 9685147
43700.0 5930 20190812 550.0 1.274623 2 44000.0 43550.0 44000.0 370531000000 8466169
43000.0 5930 20190813 -700.0 -1.601831 5 43500.0 42950.0 43500.0 314191000000 7276979
43700.0 5930 20190814 700.볼린저 라인 0 1.601831 2 44250.0 43500.0 43900.0 383427000000 8750135

TA-LIB 파이썬 라이브러리 모듈 이름은 talib 입니다. talib을 임포트하고 볼린저밴드를 볼린저 라인 구하는 함수를 호출합니다. 이 문서에서 함수들의 Signature를 확인할 수 있습니다.

이렇게 Upper Bollinger Band, Middle Bollinger Band, Lower Bollinger Band를 쉽게 구할 수 있습니다.


0 개 댓글

답장을 남겨주세요