이번 8편에서는 지난 7편의 차트매매 편에 이어서 차트매매의 후속편입니다
4차 산업 혁명 시대에서 모든 것들이 자동화되고, 사람이 할 수 있는 일을 컴퓨터가 다 하기 시작한 이런 시대에서
사람이 가질 수 있는 우위가 무엇인지를 설명하면서 차트 매매를 마무리 짓도록 하겠습니다
본 편의 전반부는 문과분들이 이해하기에는 조금 어려울 수도 있습니다.
그래도 최대한 쉽게 설명하려고 노력했으니 읽어보시고..
그래도 너무 복잡하시면
“기계학습(머신러닝)에서 컴퓨터의 모델이 잘 작동하려면 엄청난 양의 데이터가 필요하다”
만 이해하시고, 제가
============================= 절취선 =================================
이렇게 표기해놓은 곳까지 이동하셔도 무방합니다.
다른 정보글들과 마찬가지로 이 글도 제가 이렇게 직접 타이핑한 것 외에 영상 버전도 있으니,
영상이 더 편하신 분들은 참조 바랍니다.
(불편해하시는 분 계실까봐 링크는 하지 않습니다. 1편을 참조 바랍니다)
4차 산업 혁명 시대에 컴퓨터가 할 수 없는 사람의 고유한 우위는 무엇일까요
최근 한 5년 동안 인공지능이란 단어가 굉장히 과도하게 사용되면서 오남용되는 비율도 굉장히 많은데
제가 생각할 때 인공지능의 현주소는 이렇습니다
흔히 과거에는 소프트웨어 1.0, 현재는 소프트웨어 2.0 이런 단어를 쓰기도 하는데
소프트웨어 1.0: IF, ELSE. 혹은 rule-based 코딩. “상황 A에서는 행동 1을 하고, 상황 B에서는 행동 2를 하라”는 구체적인 룰을 컴퓨터 알고리즘에 프로그래밍
소프트웨어 2.0(현재): 기계학습(Machine Learning), 컴퓨터가 데이터를 통해 룰을 학습.
예전의 그런 컴퓨터 알고리즘은 코딩하는 개발자가 IF, ELSE. 만약에 뭐 어떠하면 어떻게 해라 그럼 규칙을 정해줬어요
상황 A에서는 행동1을 하고 상황 B에서는 행동2를 해라, 그런 구체적인 룰을 컴퓨터한테 코딩을 해 주었습니다.
근데 이게 4차 산업 혁명이 일어나면서 가장 크게 변한 부분은
기계학습, 즉 머신러닝이라고 불리는 알고리즘들을 통해서
컴퓨터가 데이터를 통해서 그런 파라미터나 룰들을 학습하게 되는 거죠
개발자가 지정해주는 게 아니고 데이터를 통해서 그런 것들이 뭐가 최적인지를 컴퓨터가 스스로 학습합니다
문과생을 위해서 아주 간단히 기계 학습 즉, 머신 러닝이 뭔지 설명을 해 볼게요
어떤 문제가 주어졌어요
사람의 체중이 주어지면 키를 알아맞혀야 하는 문제에요
그리고 이 문제를 풀기 위해서 선형 모델을 사용하기로 결정했어요
다양한 알고리즘, 다양한 모델들이 있지만 여기서는 설명이 제일 쉬운 선형 회귀모델을 예로 들겠습니다
선형 모델은 말 그대로 직선을 의미합니다
y = ax의 형태를 쓸 거예요
y는 우리가 예측하고자 하는 값, a는 파라미터(여기서는 기울기), x는 y를 예측하는데 도움을 주는 어떤 값입니다.
여기서는 체중이 주어지니까 x는 곧 체중이죠
다시 말해 [y = ax]라는 것은 [키 = 기울기 x 체중] 이라는 것입니다.
여기서 기울기가 과연 무엇일까요?
소프트웨어 1.0 에서는 사람이 직접 경험적으로 이런 a값을 설정해 줬어요
계산을 쉽게 하기 위해…
내 생각에 키가 180cm인 사람 체중이 대충 60kg된다… 그러면 a = 180 / 60 = 3
그러면 모델을 y = 3x로 설정하게 됩니다.
새로운 사람의 체중이 50kg라고 주어지면, 우리의 모델에 따르면 이 사람의 키는 y = 3 x 50 = 150cm로 예측되는거죠
이렇게 사람이 “3”이라는 a값을 경험에 우러나 직접 설정해주는 것이 소프트웨어 1.0입니다.
반면, 기계학습은 데이터를 먼저 샘플해요
밖에 나가서 몇십 명에게 물어보든, 인터넷 설문을 하든 해서
몇십 명의 키와 체중 데이터를 모읍니다.
그런 다음 샘플한 데이터들에 가장 잘 들어맞는 a값을 “학습하여” 모델에 적용하게 됩니다
보라색 점들이 샘플한 데이터들이고, 그 보라점들과 빨간 선 사이의 오차의 합이 가장 적게 되는 기울기를 계산합니다.
그 작업을 반복하며, 데이터를 더 많이 모을수록 점점 더 정확한 기울기 값을 보정해 나갈 수 있게 됩니다
여기서 a값을 모델의 파라미터라고 합니다.
즉, 기계학습에서 “학습”이라는 것은 데이터에서 이 파라미터값을 배운다고 해서 머신 “러닝”(Learning)이라는 겁니다
그래서 기계학습의 그런 요소들을 한번 보면
첫번째 요소로는 가장 먼저 모델의 형태, 그런 모델의 클래스가 있습니다.
여기서는 가장 간단한 선형 회귀모델들을 예로 들었습니다.
다시 말해,
y = ax
y = ax + b
y = ax2 + bx + c
이런 것들이 다 선형 회귀모델들의 형태들입니다.
물론 이건 가장 간단한 모델이고,
기계학습에서는 이 외에도, 랜덤 포레스트나 뉴럴 네트워크(흔히 말하는 딥러닝)같은 수십 가지 알고리즘 형태들이 존재합니다
그래서 첫 번째 요소는 이런 모델의 형태이구요
그 다음 두 번째 요소는 예측하고자 하는 값 y
앞서 든 예에서 “키”에 해당합니다.
그 다음 세 번째 요소는 y값을 예측하는데 힌트를 주는 “Feature”, 즉 x값입니다. 앞서 든 예에서 “체중”에 해당합니다.
Feature라고 하는데 설명변수라고도 해요
Feature는 꼭 하나일 필요는 없습니다.
예를 들어서 어떤 사람의 키를 예측하는데 적당한 Feature들은 체중, 성별, 부모의 키 등이 있겠죠?
혹은 어떤 야구팀의 성적을 예측하는데 가장 적당한 Feature들은 작년 성적, 그 다음 해당팀 선수들의 총 연봉, 해당팀 타자들의 타율, 뭐 그런 것들이 있을 겁니다. 그런 것들을 Feature라 하구요
그 다음 마지막 네 번째 요소는 모델을 정의하는 파라미터인 a, b, c 등등입니다.
Feature와 파라미터의 차이가 무엇이냐 헷갈리실 수도 있는데,
Feature는 데이터로써 우리에게 주어지는 값이고,
파라미터는 모델의 설정값으로, 사람 혹은 컴퓨터가 조정할 수 있는 값입니다.
y = ax에서, x인 체중은 데이터로 주어지는 입력값이고, a인 기울기는 사람 혹은 컴퓨터가 학습을 통해 설정하는 값이죠
그래서 기계”학습”이라 불리는 이유는 이런 a, b, c같은 파라미터의 최적값이 무엇인지 데이터를 통해서 학습하기 때문입니다.
참고로, 좀더 엄밀히 말씀드리자면,
위에 말씀드린 머신러닝의 형태는, 머신러닝의 분류 중 “지도학습”에 속합니다.
그 외에 비지도학습, 강화학습 등이 있는데 여기서는 문맥상 중요하지 않아서 패스합니다.
그런데 이 머신러닝이란 분야는 사실 1950년대, 60년대부터 있었어요
근데 최근에 그렇게 각광받게 된 이유는,
이제 계산량이 어마어마하게 필요한데 하드웨어 속도가 많이 따라온 이유도 있고
알고리즘 계산에 그래픽카드(GPU)를 사용하면서 병렬 계산이 가능해진 이유도 있는데
또 다른 이유는 딥러닝이라는 머신러닝 분야 내에서 특정 종류의 알고리즘이 많은 혁신을 하면서 유명해졌습니다
딥러닝의 업적으로는,
이미지 분류 – 개인지 고양인지를 판별하는 이미지 분류 작업을 처음으로 사람보다 컴퓨터가 잘하게 되었습니다.
기계 번역 – 자동 번역에서 굉장한 성과를 거뒀고
게임 – 아타리게임이라는 게임기에서 사람을 능가했는데, 이것도 딥러닝을 이용한 강화학습으로 이루어진 거구요
알파고 – 이세돌 씨를 완패시킨 것도, 트리 서치도 쓰지만, 딥러닝도 사용합니다
기존의 그런 다른 머신러닝 알고리즘들과 딥러닝의 차이에는 이것저것 많은데
그 중에 큰 요소 하나가 자동적인 Feature 추출이에요
y = ax에서 이 x가 무엇인지도 딥러닝은 알아서 결정을 하는 거죠
기존의 머신러닝 모델들은 사람이 어떤 Feature가 좋을지 직접 설정을 해 줬어야 했어요
그런데 딥러닝은 그저 데이터만 주면 자동으로 Feature들을 추출하고 선택을 합니다
그래서 어떤 때는 사람들이 이해하고 해석할 수 없는 그런 모호한 Feature들도 선택이 돼요
개인지 고양인지를 판별하는 알고리즘을 예로 들면
기존의 머신러닝은 주어진 이미지에서 사람이 특정한 Feature들을 골라 줘요
수염이 있는지, 꼬리가 긴지, 눈동자가 세모인지 그런 것들을 추출을 해서
이제 머신러닝 알고리즘에 입력을 해 주면 이게 결과를 줍니다
근데 딥러닝에서는 그냥 데이터를 딥러닝에 넣어주면 결과가 나와요
(이미지 분류 알고리즘에서 딥러닝 알고리즘이 추출한 하위레벨 Feature들을 사람이 볼 수 있게 시각화한 사진)
그래서 여기까지 보면, 와 이거 딥러닝이 그런 혁신들도 다 이루고 최고가 아니냐?
딥러닝만 쓰면 되냐?
제가 이 짤을 발견했는데 가끔 보면 그런 분들이 계세요
딥러닝 예찬론을 펴시면서 이게 완전 미래다
딥러닝은 다른 알고리즘들을 모두 압도한다
그런 말씀을 하시는 분들을 종종 보는데
제 생각은 좀 달라요
딥러닝이 장점도 많지만 단점도 그에 상응하게 많습니다. 몇 가지만 예를 들면
1. 엄청난 양의 데이터를 요구
2. 파라미터 해석의 난해함
3. 파라미터 불안정성
4. 계산 시간 및 비용
그 중에 하나가 엄청난 양의 데이터를 요구한다는 거죠
그럼 잠시 파라미터란 것에 대해 돌아가 조금 더 설명을 드리자면…
여기서도 가장 기초적인 선형 모델로 설명을 드릴게요
y = ax의 파라미터는 a, 1개죠
y = ax + b의 파라미터는 a, b 2개죠
y = ax2 + bx + c의 파라미터는 a, b, c 3개죠 (x2는 x의 제곱입니다)
파라미터의 개수가 많아질수록 모델이 유연해져요
위 그림에서 가장 왼쪽은 파라미터가 1개뿐인 직선 모델
두번쨰는 ax2 + bx + c의 형태로 파라미터가 3개죠
세번째는 ax9 + bx8 + cx7 + …. 등 파라미터가 10개쯤 되는 모델입니다.
즉, 파라미터의 개수가 많아질수록 모델이 유연해지고 더 복잡한 현상을 모델링할 수 있어요
하지만 동시에 이렇게 파라미터 개수가 너무 많아지면 오버피팅이 쉬워져서 더 많은 데이터를 요구해요
오버피팅이란 것은…
예를 들어 이게 샘플 데이터고, O와 X를 잘 나누는 모델을 도출하고 싶어요.
그럼 2번째 사진이 적절한 모델이죠?
그런데 첫번째 사진처럼 파라미터가 너무 없으면 유연함이 떨어져서 직선밖에 배우지 못하고,
파라미터가 지나치게 많으면 지금 샘플된 데이터에 너무 유연하게 학습해버려서,
이 모델을 실제로 사용할 타이밍이 와서 새로운 데이터가 들어왔을 때 정확도가 떨어지게 됩니다.
이런 오버피팅을 해결하는 방법이 여러 가지가 있는데 그 중에서도 중요한 부분은 데이터에요
가장 중요한 부분은 데이터입니다
데이터가 너무 적으면 그 어떤 방법을 사용해도 한계가 있어요
그래서 딥러닝은 결국 사람이 Feature 선정하는 것까지 파라미터화 함으로써 모델을 유연하게 만들어서
기존에 불가능하던 개/고양이 판별 등의 그럼 복잡한 모델링도 가능하게 하지만, 그 대가로 막대한 데이터를 요구해요
딥러닝 중에 복잡한 모델은 파라미터가 170억개에 이릅니다…………..
============================= 절취선 =================================
문과 분들이 듣기에는 조금 어려운 얘기였을 수도 있는데 그냥 요지만 말씀 드리면
복잡한 현상일수록 파라미터가 많은 알고리즘을 필요로 하고
파라미터가 많은 알고리즘일수록 많은 데이터를 필요로 한다는 거에요
그럼 여기까지 제가 설명한 것을 토대로 4차 산업 시대에 사람이 가지는 우위는 무엇이 있을까요?
컴퓨터는 복잡한 현상일수록, 더 많은 파라미터를 가진 복잡한 모델을 필요로 하고, 그에 상응하는 엄청난 양의 데이터를 요구하지만,
사람은 살아온 경험을 토대로, 어떤 새로운 복잡한 현상을, 적은 데이터로도 바로 이해하고 추론하는 것이 가능해요
이제까지 만들어진 소위 “인공지능”이라 하는 것들은 대부분 특정 분야의 특정 작업을,
해당 작업에 대한 많은 데이터를 통해 학습하는 것만 특화되어 있어요
수 억개의 기보로 학습된 알파고가 갑자기 요리를 하는 건 불가능하죠
이제 최근에 스탠포드에 첼시 핀 같은 교수님들이 메타 러닝이라든지 원샷 러닝 등을 연구하고 있기는 한데
이를 상용화하기에는 정말로 너무나 먼 얘기라고 생각을 합니다.
반면, 사람은 처음 경험한 정보에 대해서도 축적된 경험을 통해서 합리적 추론이 가능해요
예를 들어서 코로나 사태 후에, 사회에서 어떤 시나리오, 어떤 현상들이 일어날 것인가?
이 질문을 기계학습 알고리즘이 만약에 풀려고 하면 사용할 수 있는 데이터라고는 1918년 스페인 독감 정도밖에 없어요
그래서 컴퓨터가 푸는 것이 불가능하죠
반면 사람은 스페인 독감과 현재의 예에서 공통점과 차이점을 찾고
그 외의 케이스에서 여러 가지를 추론해서 결론을 도출하는 게 가능합니다
결국은 데이터 개수가 적은 분야를 찾아야 돼요
근데 데이터 개수가 적어서 기계학습이 불가능한 분야가 따로 있을까요?
물론 그런 분야가 별도로 있을 수도 있겠지만
주식 가격을 놓고 얘기할 때는 시간 단위가 중요한 역할을 해요
코스피 지수가 1983년부터 현재의 계산방식을 취했으니까 총 37년 정도 데이터가 있잖아요
그럼 연 단위로 보면 데이터 개수가 37개 밖에 안되고
월 단위는 444개, 일단위는 1만 3500개, 초단위까지 가면 12억 개가 있어요
그러니까 단기로 갈수록 데이터 개수가 많아지고 머신러닝이랑 딥러닝을 사용할 수 있는 환경이 조성돼요
반면 일단위 이상은 사람의 추론이 더 우위를 가지죠
물론 여기서 초단위 미만으로 가면 하이프리퀀시 트레이딩(초단타 고빈도 매매) 같은 경우에는 딥러닝을 사용하는 것은 아직 힘듭니다
모델이 너무 커서 계산하는데 시간이 많이 걸리고 이런 하이프리퀀시 트레이딩에서는 시간 싸움이 매우 중요하기 때문에
딥러닝은 잘 안쓰죠
그렇다고 어차피 사람이 따라갈 수 있는 부분은 아니구요
요약하면 기계학습이 점점더 상용화되고 보편화되는 세태에서,
시간축으로 따지면 스윙 트레이딩 이상에서나 컴퓨터보다 사람이 우위를 가집니다.
그래서 알고리즘 매매가 아니고, 사람 손으로 직접 매매하겠다 하시는 분들은
타임 프레임(시간 단위)을 일단위 이상으로 길게 잡아야 하는데…
시간 단위가 길어지다보면 5편의 가치투자편 초기에 다뤘듯이 단기 패턴보다 추세가 가격 움직임을 주도하게 돼요
그래서 그런 단순한 기술적 지표나 패턴보다는 펀더멘탈, 적정가치, 뉴스 그런 것들이 더 중요한 영역으로 넘어가게 됩니다
그렇기 때문에 결국은 차트만으로 매매해서 수익 내기가 굉장히 힘들다는 거예요
(제가 이런 이야기를 하면 꼭, “나는 차트로 돈 벌었다”는 분들이 나옵니다… 예… 사람보다 컴퓨터가 “우위”를 가진다는 것은 사람이 단기 매매에서 돈을 버는게 “불가능”하다는 것은 아닙니다. 그만큼 “어렵다”는 뜻이고, 앞으로 점점 더 어려워질 것이라는 것이 요지입니다)
그럼 여기까지 한번 요약을 해보겠습니다
차트 매매로 개인이 돈 벌기 힘든 가장 큰 이유는 7편에서 이야기했듯이 알고리즘 매매의 하위 호환이기 때문이에요
차트 매매를 하는데 필요한 모든 단계, 패턴을 잡고 검증하고 지속성을 모니터링하고 파라미터를 조정하고 최적화하는 등
모든 단계에서 알고리즘 매매보다 열등합니다
그래서 그런 알고리즘들을 피해서, 사람의 직관과 경험이 우위를 가지는 분야를 찾으려고 하면
분초 단위가 아닌 일단위 스윙 트레이딩 이상으로 가야하는데,
또 그런 시간단위가 길어질수록 지표나 차트 패턴보다는 적정가치, 추세, 뉴스 등이 가격 움직임을 주도하기 때문에
순수한 차트 매매는 힘들다는 것이 요약이에요
물론 제가 계속 뭐가 힘들다 뭐가 힘들다 하는데
가치투자 편에서도 가치투자로 초과수익을 내는 것이 아예 “불가능”하다는 것이 아니고 “어렵다”는 말을 전달하는게 요지였어요
마찬가지로 차트 매매로 돈 버는 게 불가능하지는 않아요. 실제로 손매매로 돈을 버는 사람들이 있습니다
포커 테이블에서 내가 포커 실력이 전체 최고가 아니더라도,
그런 아이패드의 확률을 보면서 포커를 치는 그런 고수들(알고리즘 매매)이 있더라도,
그 테이블에 나보다 실력이 못한 사람들. 그런 초보 개미들이 차트보면서 계속 손실 내주면 충분히 돈벌기가 가능해요
그래서 불가능하다는 얘기가 아닙니다
하지만 어쨌든 트렌드는 결국은 알고리즘 매매에 잠식되고 있는 분야고
대다수 개인에게는 점점 수익 내기가 굉장히 힘든 방식이에요
그래서 가치투자는 “초과”수익을 내기 힘들지만 수익을 내는 거는 지나치게 어렵지는 않은데
차트 매매는 수익 자체를 내기가 힘들어요
그래서 그럼에도 차트 매매를 굳이 하시겠다면,
혹은 이미 차트매매를 많이 해 오셨기 때문에
기술적 분석이나 차트 패턴에 대한 지식이 어느 정도 쌓이셨고
이거를 활용하고 싶으시다면
7편에서 언급한 다른 추가정보나 교락변수들, 혹은 투자전략과 혼합해서 보조적으로 사용하시면 되겠습니다.
그러면 그 전략에서 나오는 우위에 추가해서 기술적 분석에서 나오는 더 추가적인 확률적 우위를 확보할 수 있습니다
그래서 이에 대해서는, 다음 9편에서는 알고리즘 매매에 대해서 다룬 후에
10편에서 개인이 할 수 있는 매매가 과연 무엇인지 이제 탐색을 할 때
더 상세히 차트 활용에 대해서 다시 다루도록 하겠습니다
그럼 여기까지 하겠습니다
9편은 알고리즘 매매에 대한 글이 될 것이고
10편은 그렇다면 개인은 도대체 어떤 방식의 투자나 매매를 해야하는지에 대한 글
11편에서는 제 매매 기법에 대해 적어보려 합니다