추세선(Trend line)의 매력(3)

추세선이 가격의 변동 방향을 가리키는 수단으로 사용될 때는 앞에서 소개한 관계나 패턴을 발견하는 일반적 도구와는 다소 다른 모습으로 사용된다. 뭐, 크게 복잡한 내용은 없다. 누구든 몇 가지만 인지하면 추세선을 바로 실전에 사용할 수 있다.

  1. 추세선은 시간의 흐름에 따라서 가격이 움직이는 방향을 가리킨다.
  2. 추세선은 시간적으로 최소한 두 지점을 연결한다.
  3. 가격의 변동 방향이라는 관점에서 추세선은 크게 세 가지가 있다: 하락 추세선(downtrend), 상승 추세선(uptrend), 보합(혹은 횡보: sideway). 하락 추세선은 곰 추세(bearish trend), 상승 추세선은 황소 추세(bullish trend)라고도 불린다.
  4. 고점(highs)연결하여 구성한 추세선을 저항(resistance) 선이라고 부르고, 저점(lows)을 연결하여 구성한 추세선을 지지(support) 선이라고 부른다.
  5. 가격의 흐름이 상승에서 하락, 반대로 하락에서 상승으로 바뀌는 것을 반전(reversal)이라고 부른다.

이상을 다음과 같이 그림으로 표시할 수 있다.

위 그림은 상승 추세(uptrend)를 보여주고 있다. 그래프의 상부 꼭지점(고점이라고 부른다)들을 연결하여 붉은색 추세선이 만들어졌는데 그것은 저항(resistance) 선을 나타낸다.  그래프의 하부 꼭지점을 연결하여 파란색 추세선이 만들어졌는데 그것은 지지(support) 선을 나타낸다.

아래 그림은 하락 추세(downtrend)를 보여주고 있다. 상승 추세의 경우와 방향만 다를 뿐 추세선을 그리는 방법은 동일하다.

아래 그림에서 보듯이 상승 추세는 황소의 뿔처럼 생겼다고 해서 황소선(bullish trend)이라고 부르고, 하락 추세는 곰의 등처럼 생겼다고 해서 곰선(bearish trend)라고 부른다.

아래 그림은 저항선과 지지선의 의미를 보여준다. 그래프에서 저항선을 넘어서 가격이 상승한 경우가 두 번 있다. 그 경우 우리는 그 가격이 다시 하강하리라 예상한다. 주식의 가격이 저항선을 넘어서 오르면 저항(?)을 받아서 다시 떨어지게 된다는 의미에서 이름이 저항선이다.

반대로 지지선 아래로 주식의 가격이 여러 차례 떨어졌다. 그 경우 가격이 다소 상승하리라는 예상이 가능하다. 무언가가 받쳐주고 있는 것처럼 말이다. 그래서 이름이 지지선이다.

주식 가격은 캔들스틱 차트와 추세선이 함께 사용되는 경우가 흔하다. 캔들스틱 차트는 다섯 가지 정보를 가지고 작성된다. 몸통(real body)이라고 부르는 부분은, 가격이 떨어졌을 때는 시가(opening price)가 맨 상단이 되고, 종가(closing price)가 맨 하단이 된다. 가격이 올라갔을 때는 종가가 상단, 시가가 하단이 된다.

아래 그림에서 가격이 떨어진 경우는 붉은 막대로 표시되고 가격이 올라간 경우는 초록색 막대로 표시되었다. 그 둘을 하얀색과 검정색으로 표시할 수도 있으나 중요한 점은 색으로 가격 하락과 가격 상승을 구분한다는 것이다. 몸통에 해당되는 막대를 보면 윗쪽과 아래쪽에 가는 선이 그려져 있다. 윗선(wick, 심지)의 끝은 장중최고가를, 아랫선(tail,  꼬리)의 끝은 장중최저가를 표시한다. 이렇게 해서 막대와 가는선은 특정한 장(예컨대 1일장)의 시가, 종가, 최고가, 최저가, 그리고 가격의 상승(혹은 하락)이라는 주요 정보를 모두 보여준다. 이 캔들스틱을 연결하여 추세선을 그리기도 한다.

아래 그림은 캔들스틱차트를 가지고 추세선을 그린 사례이다. 추세선을 그리는 두 가지 방법이 있다. 하나는 캔들스틱의 심지끝(장중최고가)을 연결해서 그리는 방법, 다른 하나는 몸통 상단(가격하향 추세인 경우 시가, 붉은색 몸통의 상단)을 연결하여 그리는 방법이다. 어느쪽을 선택하든 일관성을 유지해야 한다. 아래 그림에서 하얀색 번호 1과 2를 연결한 추세선을 보면 X 표가 된 시점을 지나가면 더 이상 유효하지 않다. 만약 그 이후의 시점들에도 유효한 추세선을 그리려면 숫자 1을 노란색 숫자 2와 연결해야 한다. 어느 지점을 연결해서 추세선을 그리느냐는 분석자의 판단에 달려 있다. 

이상으로 간략히 가격 추세선과 캔들스틱차트를 살펴보았다. 이 정도의 지식을 갖고 주식변동 차트를 관찰해도 어느 시점에서 주식을 사고 팔 것인지를 결정할 수 있다. 문제는 국면이 하락 추세일 일부인지, 상승 추세의 일부인지, 아니면 하락 추세 중의 일시적 상승 국면인지 혹은 상승 추세 중 일시적 하락 국면인지, 아니면 하락 추세에서 상승 추세로 돌아서는 반전 국면인지에 대한 판단에는 불확실성과 리스크가 따른다는 점이다.

그래프는 그런 판단에 약간의 도움이 되는 것 뿐이다. 주식 투자의 성패는 올곧이 투자자의 판단과 선택에 달려 있다.

이상으로 추세선에 대한 소개를 마친다. 추세선(혹은 추세선 분석)은 전문적인 통계 지식 없이도 누구나 사용할 수 있는 도구이다. 특히 엑셀은 아주 손쉽게 추세선을 그릴 수 있게 해준다.

추세선(Trend line)의 매력(2)

선형적합에 가장 널리 사용되는 방법은 OLS(Ordinary Least Sqaures, 최소자승법)이다. 간단히 말하자면, 독립변수의 각 값에서 직선에 의해 예측된 점으로부터 관측점까지의 거리를 제곱하여 더한 값을 최소화(최소자승의 의미)하는 추세선이다.

위 그림은 어떤 음향기기 대리점에서 광고횟수에 따른 음향기기 판매액의 변동을 기록한 것이다. 왼편 상단의 표를 보면, 첫 주에는 2회 광고를 냈고, 50달러의 매출을 올렸다. 둘째 주에는 5회 광고를 냈고, 57달러의 매출을 올렸다. 3주차에는 1회 광고에 41달러, 4주차에는 3회 광고에 54달러의 매출을 올렸다.

위 그림의 오른편에는 이 데이터가 그래프로 표현되어 있다. 이 그래프는 주차는 무시하고 광고횟수와 매출액의 관계를 보여주고 있다. 그래프를 보면 1회 광고를 냈을 때 41달러 매출을 올리기도 하고 38달러 매출을 올리기도 했다. 2회 광고를 냈을 때 50달러를 올리기도 하고 46달러를 올리기도 했다. 3회 광고를 냈을 때는 54달러를 올리기도 했고, 48달러를 올리기도 했다.

엑셀에서 이 그래프에 추세선을 그렸더니 파란색 점선이 나타났다. 수식으로 표현하니  이다. 그냥 눈으로 봐도 이 추세선은 광고횟수(x)와 매출액(y) 사이의 관계를 잘 대표하는 것 같다.

이 추세선으로 예측된 y 값을 구하려면, 위 식에 1, 2, 3, 4, 5를 각각 넣으면 된다. 아래는 그렇게 해서 구한 예측된 매출액, 그리고 그것과 실제 매출액과의 차이인 오차가 제시되어 있다. 그 오차를 제곱하여 더한 값이 오차제곱의 합 75.95(달러)이다.

이 값은 ‘최소자승’의 정의상 자승값 중 최소이기 때문에 다른 어떤 직선을 그려도 오차제곱의 합이 이보다 작을 수는 없다. 이 추세선은 회귀선(regression line)이라고도 불리는데 구하는 과정은 다음과 같다.

오차(error)란, 주어진  값에서 실제로 관찰된  값과,  라는 방정식(직선의 식)을 통해서 추정된 의 값(), 즉,

과의 차이()를 말한다.

아래 그림에서 별로 표시된 것은 관찰값이고 회귀-추세선의 예측값으로부터 거리–중괄호로 표시된 부분–가 편차(오차, deviation, error)이다.

이 오차의 제곱을 모두 더하여 얻어지는 수, 즉, 오차제곱의 합(sum of squared errors, SSE),

를 최소화한다는 기준을 만족시키는 식 (1)의  (절편)와 (기울기)을 구하는 것이다.

식 (2)에 식 (1)을 대입하면,

이 식을 최소화하는 와 를 구하기 위해서는 두 미지수에 대해 편미분을 하고 각각을 0으로 놓고 풀면 된다.

먼저 절편 에 대해 식 (3)을 편미분해 보자.

이 식의 양변을 -2로 나누고 시그마에 관해 정리하면,

여기서 이므로, 그것을 좌변에 놓고, 나머지 항을 우변으로 이항한다.

양변을 으로 나누면,

여기서 는 의 평균 이고, 는 의 평균 이므로, 결국

가 된다.

다음 기울기 에 대해 편미분 하자.

이 식의 양변을 -2로 나누고 괄호를 풀면,

식 (6)을 식 (7)에 대입하고 정리하면 약간의 복잡한 계산을 거쳐서 아래 식을 얻는다.

데이터를 가지면 (8)을 풀 수 있고, 거기서 얻은 기울기 의 값을 (6)에 대입하고 데이터로부터 X의 평균과 Y의 평균을 구해서 대입하면 절편 를 구할 수 있다.

도출 과정에 합성함수의 편미분, 시그마의 편미분이 포함되어 있어 다소 복잡한 수학적 표현이 되었다. 다행히 그 도출과정을 모두 이해하지 못한다고 하더라도 엑셀에서 데이터를 가지고 좌표상에 분포를 표시한 후에 아래 그림처럼 추세선 옵션 창에서 선형 추세선과 ‘수식을 차트에 표시하기’를 선택하면 그것을 손쉽게 구할 수 있다. 만약 선형(직선) 추세선이 데이터를 적절히 요약하지 못한다고 생각되면, 지수, 로그, 다항식, 이동평균 등 다양한 모습의 추세선을 적합할 수 있다.

현실에서 추세선은 주식, 암호화폐, 금, 선물 등의 투자에 널리 활용된다. 그 때 추세선은 해당 상품의 가격 변동의 방향을 의미한다. 근본은 통계학에서의 추세선과 다르지 않지만 개념과 용어가 다르기 때문에 다음 포스팅에서 간략히 소개하겠다.

추세선(Trend line)의 매력(1)

대학에서 통계학 수업을 수강하면, 대체로 한 달 이내 그래프(graph)를 배우게 된다. 아마도 그래프가 데이터를 요약하기 간편하고 프리젠테이션에 효과적인 도구이기 때문이 아닐까 생각한다.

그렇다고 통계학에서 그래프가 좋은 대우를 받았던 것은 아니다. 수식과 숫자에 약한 초보자 혹은 비전공자에게 통계적 발견을 소개하거나 통계분석 결과를 집약해서 보여주는 도구 정도로 간주되는 게 보통이었다. 한 마디로 통계에서 그래프는 부수적인 수단 혹은 주변적 도구에 불과했다. 탁월한 통계학자였던 John W. Tukey는 예외라고 할 수 있겠지만, 그 마저도 그래프를 데이터를 탐색해서 가설을 끌어내는 수단 정도로만 생각했다(Exploratory Data Analysis를 참조하시오).

사실 결코 그래프가 수식이나 숫자만큼 엄격하고 치밀한 표현 수단일 수는 없을 것이다. 더구나 거의 항상 한 줌에 불과한 표본(sample) 데이터를 손에 쥐고 모수(parameters)를 추정해야 했던 통계학자들에게 데이터의 그래프적 표현이란 기껏해야 데이터를 탐색하거나 분석 결과를 전달하는 수단에 불과했을 것임에 분명하다.

그러나 데이터의 시각화(data visualization)–그래프를 그리는 것을 요즘은 이렇게 표현한다–는 그것이 지난 단점(엄격하지도 치밀하지도 못하다)에도 불구하고 빅데이터 시대에 각광받는 분야가 되었다. 아마도 강력한 두 가지 매력 때문일 것이다.

첫째는 직관성이다. 특히 두 변수의 관계나 한 변수의 시간에 따른 변화를 보여주는 데 그래프보다 더 직관적인 도구는 없을 것이다. 상관계수처럼 숫자 하나로 보여줄 수 있지만 그것은 범주형 변수(categorical variable)에는 사용할 수 없고, 교차표(cross-table)처럼 하나의 표로 보여줄 수도 있지만 수치형 변수의 경우 정보를 잃으면서 범주형 변수로 변환해야 하는 약점이 있다.  특히 하나의 변수가 시간에 따라 변해가는 모습을 직관적으로 느끼게끔 보여주는 데는 그래프가 최고임에 틀림없다.

위 그래프는 통계청에서 다운로드 받은 데이터를 가지고 엑셀로 그린 것이다. 우리 경제가 약 65년 동안 세 해(1980년, 1998년, 2008년)를 제외하고 눈부시게 성장했음을 이보다 더 잘 나타낼 수 있는 방법이 있을까 하는 의문이 들 정도 인상적이다.

둘째는 소음 제거 능력이다. 이는 엄격하지 못하다는 단점이 장점으로 작용하는 점이다. 두 변수 사이의 관계나 어떤 변수의 변동 패턴을 파악하는 데 있어서는 디테일이 장애 요인이 되곤한다. 디테일에 집착하면 데이터 마이닝에서 말하는 과적합(overfitting)의 함정에 빠지게 된다. 디테일을 반영한 모형(model)은 그 모형을 훈련시키는 데 사용한 학습 데이터에는 대단히 잘 적합하겠지만 일반성이 떨어져서 모형의 예측력이 약하게 된다는 말이다.

 

위 그래프는 2010년 3월 10일부터 5월 12일 사이 약 두 달 동안 인텔주식의 가격이 어떻게 변동했는 지를 보여준다. 붉은 색의 선은 엑셀에서 3차 다항식을 적용해서 추세선을 그린 것이다. 그래프 메뉴에서 추세선 서식 –> 추세선 옵션 –> 다항식 3차수를 선택하면 그려진다. 그 추세선이 주가의 변동을 썩 잘 나타내주고 있다고 생각되지는 않지만 다른 추세선에 비하면 상대적으로  우수한 편이다.

그래프의 직관성과 소음제거능력이라는 두 가지 장점은 빅데이터에서 특히 빛이 난다. 데이터의 양이 많아지면 신호(signals) 대 소음(noises)의 비율이 높아지고, 그 때문에 직관적으로 변수 사이의 관계를 추정하거나 하나의 변수에 존재하는 패턴이나 트렌드를 찾기 어렵게 된다. 그래프는 거칠기는 하지만 과감하게 데이터에 숨겨진 패턴을 드러내 준다.

그러한 장점을 지닌 그래픽 기법 중 하나가 바로 추세선(trend line: 영어 표현 그대로 트렌드 라인이라고도 부름)이다. 위 사례에서처럼 추세선이 다차 함수 행태를 취할 수도 있지만 대체로 1차나 2차 함수이다.

특히 1차함수 직선이 자주 사용된다. 데이터의 숨은 패턴을 잘 보여주는 직선을 데이터가 분포된 좌표에 표시하는 것을 선형 적합(linear fitting)이라고 부른다. 선형적합은 두 변수(혹은 그 이상의 변수들)로 구성된 데이터의 추세선을 그리는데 가장 널리 사용되므로 포스팅을 바꾸어 소개한다.