Tommy_Trader

프랙탈 이론으로 비트코인 점쳐보기 [Fractal + BTC]

BINANCE:BTCUSDT   Bitcoin / TetherUS
안녕하세요 트레이더 여러분. 토미입니다.
요 근 몇일간 제가 조금 색다른 분석을 준비해봤습니다. 예상보다 분석 기간이 길기도 했고 추구했던 형식의 결과가 안 나와서 아쉽지만 그렇다고 제가 원하는 결과가 나오도록 분석 데이터를 조작할 수 없는 일이니 업로딩을 하기로 결정했습니다. 이번에 제가 연구 및 분석한 방법론은 프랙탈 이론( Fractal Theory)입니다. 해당 이론을 적용해 현재 비트코인이 큰 그림에서 어느 방향으로 추세가 나올 확률이 조금이나마 높으며, 나온다면 어느 지점에서 지지/저항이 나올 지 가늠해볼 목적으로 본 분석을 추진했습니다. 하지만 제가 일일이 수동적으로 데이터 수집을 했고 데이터량이 부족해 신빙성 있는 결론은 도달하지 못했습니다. 신이 아닌 이상 미래의 가격을 예측하는 건 거의 불가능한 일이며 우리 인간이 할 수 있는 건 고작 과거 데이터 쪼가리들을 토대로 가격 모멘텀의 ‘경향성(Preference)’를 확률적으로 도출하는 것뿐입니다. 때문에 해당 포스팅은 재미로만 봐주시고 프랙탈이 대충 이런거구나 정도로만 받아드려 주셨으면 합니다.

프랙탈 이론은 자기유사성(Self-Similarity)을 지닌 기하학적 형태 혹은 구조를 뜻합니다. 저희가 흔히 쓰는 다우 혹은 엘리엇 파동 이론도 다 이 프랙탈 성향을 지니고 있습니다. 예를 들어 아래 그림처럼 엘리엇 이론 관점으로 충격 5파가 나오면 우리는 이 5-3-5-3-5 지그재그 파동구조를 거시적으로 하나의 큰 충격파동으로 간주할 수 있고 반대로 하나의 충격파동을 미시적으로 5-3-5-3-5 지그재그 파동구조로 쪼개 볼 수 있습니다. 이렇듯 금융시장에서도 프랙탈 성향이 자주 관찰되며, 현존하는 많은 기술적분석 기법들에 이미 적용이 되어왔습니다.

이번 방법론을 쉽게 풀어 설명해드리자면 특정 구조/패턴 내에, 더 작은 규모로 비슷한 구조/패턴이 나온 경우들을 색출하여 각 경우들은 이후 추세가 어느 방향으로 나왔는지, 추세가 나오고 어느 구간에서 Price Action, 즉 지지/저항이 나왔는지 고찰하는 겁니다. 제가 본 분석에서 프랙탈화시킨 패턴은 아래와 같이 이번 비트코인 차트에서 출현한, 왼쪽 하단, 중앙 상단, 그리고 오른쪽 하단에 위치한 매물대 구조입니다. 또한 추세가 지속되면서 만들어진 경우에만, 즉 왼쪽 하단 매물대가 변곡 저점이 아닌 경우들만 응용했습니다. 매도 관점으로는 왼쪽 상단, 중앙 하단, 그리고 오른쪽 상단의 구조이며 이전 추세가 하락인 경우이겠죠. 약간 헤드앤숄더(하단부에서는 역헤드앤숄더) 패턴과 비슷한 형국으로 본 글에서는 편의상 좌/우 어깨 그리고 머리로 통칭하겠습니다.

오른쪽 어깨 매물대 박스를 상방 혹은 하방 이탈하고 이후 Price Action이 나온 구간들의 기준 값들은 형성된 매물대 박스들의 상단, 하단, 그리고 전 추세가 시작된 변곡점들을 활용해 되돌림(Retracement) 및 확장(Extension, Expansion, and Projection) 수치들을 적용했습니다. 또한 출현한 추세가 이전 추세와 같은 방향으로 나올 때(Trend Continual)와 반대 방향으로 나올 때(Trend Reversal)로 분류를 해 데이터 수집을 했습니다. 자세한 작도 방법은 아래 그림들을 참고해주시기 바랍니다.

자, 그럼 제가 근 몇일간 컴퓨터 모니터만 바라보면서 거의 노가다 수준으로 수집한 데이터들 몇 개를 보여드리겠습니다. 참고로 제가 매물대를 하나 단위의 박스로 구분한 기준은 마스터 패턴 기법에서 VPFR( Volume Profile Fixed Range)툴로 Contraction Zone을 도출할 때와 동일하게 진행했습니다.

이전 추세가 상승인 구조:
이전 추세가 하락인 구조:

이후 수집한 데이터들은 다음과 같이 취합 및 정리해봤습니다.

그 결과 해당 프랙탈 구조가 형성되기 전 추세가 지속되는 경우는 총 24번, 반대로 추세가 반대로 나온 경우는 총 32번으로 단순히 빈번도(Frequency)만 놓고 봤을 때는 구조 이전 추세와 반대되는 방향으로 추세가 진행될 경향성이 조금 더 유력하다는 결과를 도출했습니다. 하지만 이것만 가지고 통찰력 있는 결과를 습득했다고 판단하기 어려웠던 저는 조금 더 깊이 연구를 진행해보기로 했습니다. 제가 규격화한 각 매물대 박스들의 넓이(Area)와 그 박스 내의 거래량( Volume )을 독립변수(Independent Variables)로, 그리고 Price Action(지지/저항)이 출현한 레벨들을 종속변수(Dependent Variables)로 설정하여 두 변수군들 간에 통계학적으로 유의미한 인과관계(Causal Relationship)의 존재 여부를 알아내려고 분석 과정을 디자인했습니다. 모델링하기전 데이터 처리(Data Process)는 아래와 같이 각 매물대의 넓이와 거래량을 곱한 값을 백분율(Percentage)을 했습니다.

먼저 다중회귀분석(Multivariate Regression) 모델링을 진행을 해보았습니다. 하지만 데이터 양도 턱없이 부족할 뿐더러 두 변수군들 간의 연관성이 당연히 단순한 함수로 표현될 리 없습니다. 설정한 변수들이 완전히 독립적이지도 않고 정밀하고 세밀한 잣대로 높은 일관성을 지니고 데이터를 뽑은 게 아니기 때문에 어느정도 주관적일수밖에 없겠죠. 이런 다양한 한계점(Limitations)들 때문에 처음에 설계한 방향으로 분석이 진행되기 어려웠습니다. 아래는 회귀분석 결과값들입니다. 통계적으로 인과관계가 입증되려면은 결정계수( R-Squared )값이 0.7보다 커야하고 F-Coefficient가 0.05보다 낮게 나와야 하지만 아래와 같이 한참 모자라는 결과가 나왔습니다. 아마도 분산분석이나 머신러닝(Machine Learning)의 기반인 인공신경망(Artificial Neural Network)을 활용해야 할 듯 싶습니다. 제가 기획한 분석 Scope 밖이라 나중에 기회가 된다면 더 깊게 파고들 예정입니다. 학사/석사 시절에 배운 알량한 지식 가지고는 큰 한계가 있지 않나 싶습니다. 혹시 이쪽 전공/연구하시는 학자분들 혹은 데이터 사이언스 관련 업종 종사자분들 중 관심 있으신 분들은 따로 연락 주시면 감사하겠습니다. 아무튼 이쪽에 너무 오랜 시간을 쏟아부었기에 내용을 첨부하지 않기엔 너무 억울해서 올려봤습니다.

큰 진입장벽에 허탈감을 느낀 저는 여기에 투자한 시간과 노력이 너무 아까워서 이것저것 많은 시도들을 해봤습니다. 그나마 유의미하고 통찰력 있는 결론을 위해 방법론들을 모색하던 중 VPVR( Volume Profile Visible Range) 지표와 비슷한 개념으로 접근해보기로 했습니다. VPVR, 혹은 볼륨 프로파일이란 거래량을 시간이 아닌 가격을 축으로 보여주는 지표로 개인적으로 요즘 차트 분석할 때 주요 매물대들을 컨펌하는 용도로 유용하게 사용하고 있습니다. 종속 변수들로만 가지고, 즉 미시적 프랙탈 구조 내에서 수집한, 큰 지지나 저항을 일으킨 Retracement, Extension, Expansion, 그리고 Projection 레벨들을 히스토그램(Histogram)으로 표현해 빈번도를 시각화(Visualize) 해보는 겁니다. 물론 제가 처음에 의도했던 방향에 비해 다소 일차원적 일수는 있지만 비트코인 차트에 형성된 매물대 구조들로 되돌림과 확장 레벨들을 작도한 뒤 미시적인 프랙탈 구조들 내에서 얻은 주요 레벨들을 거시적인 구조로 시각화 한다면 앞으로 추세가 나온 뒤 향후에 형성될 볼륨 프로파일들을 미리 가늠해볼 수 있다는 부분에 의미를 부여해볼 수 있습니다.

위의 히스토그램처럼 비트코인 차트에 형성된 매물대 구조에 동일한 기법으로 되돌림과 확장 레벨들을 작도한 뒤 범위를 설정하여 차트위에 히스토그램의 바들을 겹쳐서 그려봤습니다. 결국 수많은 시행착오 끝에 결국에 그나마 인사이트가 있다고 판단되는 결론에 다다랐습니다. 프랙탈 이론을 적용한 기법에 따르면 오른쪽 어깨 상방돌파가 나올 시 고려해볼 수 있는 유력한 저항 구간 혹은 고점(변곡구간)은 5.4K~5.9K, 하방이탈이 나올 시 고려해볼 수 있는 지지 구간 저점(변곡구간)은 12K~17K 정도로 볼 수 있겠습니다. 꼭 해당 구간들까지 주가가 갈거라는 뜻이 아니라 만약에 해당구간까지 도달한다면 Price Action을 기대해볼 수 있다 정도로만 해석하시는 게 좋겠습니다.

그러면 이만 마치겠습니다. 몇일동안 정말 맨땅에 헤딩하는 기분이었는데 그래도 다행히 나름 만족하는 결과가 나왔네요. 긴 글 읽어 주셔서 감사합니다. 성투하세요.
코멘트: Intercomb님께서 좋은 피드백을 남겨주셨습니다. 그리고 그에 대한 답변 여기에 공유하도록 하겠습니다.

네네 뼈아픈 피드백 감사합니다^^ 일단 저보다 이쪽에 더 많은 경험과 지식을 갖고 계시는 intercomb님이 시간 내주셔서 말씀해주신 논리들을 그나마 defense를 해보자면..
1. 개체 값이 부족하다는 부분: 데이터양이 턱없이 부족하다는 점은 본문에 여러 번 명시해 놓았습니다ㅠㅠ 일단 전 예전부터 몬테카를로나 부트스트랩과 같은 Random sampling 혹은 난수/임계값들을 generate해 데이터량을 불리는 방법론을 부정적인 시선으로 바라보고 있었던 사람 중 한명입니다. 아무리 기존의 데이터의 standard deviation을 가지고 그 확률 분포(Probability distribution) 안에서 재표본추출로 데이터를 뽑는다고 해도, 즉 참값을 도출하기위해 추정량을 아무리 많이 구해도 결국 이 둘의 분산은 각각 상수취급이 되기 때문에 기존의 분포 값만 반영이 되는 한계점이 있다는 걸로 알고 있습니다. 때문에 이러한 데이터양을 확보하기 위한 방법론들을 사용하면 오차가 너무 크게 나온다는 단점이 존재합니다. 여담으로 아직 인류는 random이라는 수치를 100% 객관적으로 생산하는 기술에 아직 도달하지 못했다고 생각합니다. 엑셀에서 =random()이라는 함수가 정말로 백퍼센트 랜덤 수치인지 아닌지는 알 방법이 없습니다. 단순히 트뷰에 글을 개재하는 게 아닌 논문이나 제안서를 작성하는 거였으면 당연히 더 신경을 썼을 부분인데 ㅠㅠ 당연히 연구자 입장에서는 이부분을 제일 먼저 지적했을 것입니다.
2. 데이터분석과정에서 특수한 경우를 포착해서 경향성을 파악한 게 아니라고 한 부분: 본 분석은 프랙탈이라는 이론을 활용해보자는 궁극적인 취지가 있었기 때문에 이 이론의 경향성이 적용이 가능하다고 판단되는 경우들을 포착했을 뿐입니다. 특수한 경우를 포착했다는 게 무슨 말인지는 잘 이해가 가지 않지만, 제가 애초에 추진하고자 했던 방향은, Macro한 관점에서 색출한 특정 패턴/구조 내에 자기유사적인 Micro한 패턴/구조의 존재 여부와 그의 빈번도를 찾아내는 거였습니다. 그리고 수집한 각각의 자기유사적인 미시적 패턴/구조 이후에 출현한 가격 흐름들을 데이터화 시켜, 그 구조가 형성되기 전과 도중에 관찰되는 여러 특성(넓이, 거래량, 시간폭, 가격폭, 기술적요소 등)과 이후에 형성되는 추세 방향, 변동폭, 그리고 가격 모멘텀 성질 간의 인과관계(Causal Relation)을 모델링해 미묘하더라도 두 모집군간의 경향성을 도출하면 의미가 있을거라고 생각했습니다. 하지만 언급 드렸듯 수작업(manually)으로 데이터를 수집하다보니 객관성도 떨어지고, 완전히 독립적인 기준을 유지하기가 힘들어서 난항을 겪었습니다. 만약에 제가 연구실에서 충분한 기술력(소프트웨어, 인력 등)과 시간적인 여유와 지원이 있었으면 더 정교하고 세밀한 기준으로 일관성있는 데이터를 추출했을건데.. 그러한 인프라가 없이 혼자 개인으로 분석을 진행했던지라 많이 부족한 점 저도 잘 알고 있습니다. 저도 한때 연구실에서 연구를 했던 사람으로써 본 분석이 연구라고 불리기엔 형편이 없다는 건 잘 인지하고 있습니다ㅠㅠ
3. 비선형적 차트중에 원하는 부분을 짜깁기해 데이터적 쓰임새가 없다는 부분: 2번 내용과 비슷한 내용입니다. 거시적인 그림에서 관찰되었던 패턴/구조처럼 추세 지속 도중 왼쪽 하단, 중앙 상단, 오른쪽 하단, 이렇게 3개의 큰 박스권 형태로 매물대를 구분화 시킬 수 있는 경우들을 미시적인 그림에서 최대한 객관적인 기준으로 찾아 데이터화를 시켜놓았습니다. 프랙탈 이론을 적용시키는 게 메인 취지였기 때문에 다른 잣대를 가지고 오는 건 이 분석 scope밖이라고 생각했습니다. 이걸 만약에 프로그래밍이나 소프트웨어를 활용해 수집을 했다면 덜 주관적일 수는 있었겠지만 말씀드렸듯 그럴 여건이 주어지지 않았습니다. 제가 지금 봤을 때 종속변수들을 다른 형식으로 도출하는 게 더 나았을 것 같네요. intercomb님이 말씀드린 웬만한 것들은 제가 다 한계점으로 글에 기재했고 제가 분명 이러한 일련의 분석 과정을 디자인했지만 샘플 수와 방법론을 비롯한 다양한 한계점들 때문에 신빙성이 있는 결론에 닿지 못했으니 대충 이러한 취지로 이러이러한 단계들을 거쳐서 분석했구나 정도로만 받아들여 주셨으면 한다고 말씀드렸습니다.
4. 오른다 내린다 두가지를 모두 결론을 내놓으셨다라는 부분: 먼저 글에서 제가 특정화시켜놓은 구조/패턴이 형성되기 전 추세가 지속되는 경우는 총 24번, 반대로 추세가 반대로 나온 경우는 총 32번으로 단순히 빈번도(Frequency)만 놓고 봤을 때는 추세가 반대로 갈 경향성이 유력하다는 결과를 도출했다고 명시했습니다.
제가 추후에 분석을 다시 제대로 진행을 할 기회가 주어진다면,
1. 더 적은 봉으로 들어가, 즉 더욱 더 micro한 관점으로 들어가 샘플들을 채취하면 훨씬 많은 양의 데이터를 채취할 수 있을 것 같습니다.
2. 인간의 육안과 손이 아닌 컴퓨터언어로 프로세싱했다면 더 객관적이고 정밀한 데이터를 뽑을 수 있지 않을 까 싶습니다.
3. X변수와 Y변수의 기준을 다르게 설정해야 할 것 같습니다. 물론 그 전에 여러 변수들 중에 어떤 변수들이 더 관계성에 기여를 하는지 선정하는 작업부터 선행되어야 될 것 같고요. 예를 들어 저는 그냥 단순히 각 박스권들의 넓이(시간 X 가격)와 거래량만 가지고 독립변수로 설정을 했는데 시간이 주어졌다면 다른 의미 있는 변수들이 뭐가 있는지 먼저 문헌고찰과 개인적인 고찰을 통해 여러 개를 뽑고, Structural Equation Modeling 등과 같은 구조방정식 류의 방법론을 통해 더 가중치가 있는 변수들을 선정했었다면 모델링하는데 있어 통계학적으로 더 신뢰성있는 결론에 도달하지 않았을까 싶습니다.
4. 인과관계 모델링을 위해서는 1~3번 과정을 통해 확보된 데이터들을 심도 있게 관찰하고 선행 연구들과 사례들을 고찰한 뒤 취지와 상황에 적합한 방법론을 모색하는 게 옳은 방향이라고 생각합니다.
마지막으로 제가 이런 류의 분석글을 업로딩한 가장 큰 이유는, 트레이딩뷰를 포함한 국내 기술적분석 커뮤니티에 매일 똑같고 진부한 기법들을 활용한 분석글들과 관점들만 올라오고 있어서 타 오써분들도 저처럼 새로운 영역에 도전해본다면 언젠간 우리 개미들의 온라인 커뮤니티 산업도 큰 도약의 발전이 이루어질 수 있지 않을까 싶었습니다. 국내 TA 커뮤니티에 활동하고 계시는 많은 분들에게 큰 영감, 동기부여, 그리고 인사이트를 제공해드리는 데에 선도적으로 도모하고 싶은 마음이 컸던 것 같습니다. 이런 류의 분석글은 형편성과 신빈성도 당연히 중요하지만 기존의 정보, 사례, 및 인프라가 부족한 영역에 최초로 발을 딛은 분들의 도전정신을 높게 사 주셨으면 감사하겠습니다!
통계학적인 지식이 많이 부족하지면 그래도 시간 내주셔서 이렇게 진귀한 피드백 남겨주셔서 너무 감사합니다! 단순히 남을 깎아내리려는 의도가 아닌, 이러한 건설적인 취지의 논의와 토론이 트레이딩뷰 커뮤니티 내에서 많이 이루어졌으면 하는 바램입니다^^ 성투하세요!

Youtube: https://bit.ly/Tommy_TV
Telegram[KR]: https://bit.ly/Tommy_Main
Telegram[EN]: https://t.me/tommy_trading_eng
KakaoTalk: https://bit.ly/Tommy_kakao (PW:1324)

Free VIP 및 강의 문의: https://bit.ly/VIP_Tommy
김프 보러가기: https://kimpga.com/