본문 바로가기
Python

파이썬을 이용한 주식, 가상 화폐 분석 - Fibonacci Retracement

by 아짱이아빠 2021. 4. 25. 18:58
반응형

이번에는 Fibonacci 수열을 통해 주식을 분석하는 파이썬 코드에 대해 알아보겠다.

 

Fibonacci 수열과 이를 통한 주식 분석에 대해 간단히 알아보면 다음과 같다.

먼저 Fibonacci 수열은 13세기 수학자 레오나르도 피보나치가 발견한 수열로서 처음 두 항을 1과 1로 한 후, 그다음 항부터는 바로 앞의 두 개의 항을 더해 만드는 수열을 말한다.

 

1, 1, 2,  3,  5,  8,  13,  21,  34,  55,  …..

 

이 수열은 수학 뿐만 아니라 일상생활이나 자연현상 등 여러 곳에서 적용됨이 확인되었으며 이 수열의 비율이 황금비가 되어 미술과 건축, 음악 등의 분야에도 이용된다.

 

주식이나 가상 화폐 시세 분석에서 Fibonacci 비율을 이용하여 상승하는 시세에서는 저항 수준을 예측하고 하향하는 시세에서는 지지 수준을 예측할 수 있는 분석에 사용되고 이를 Fibonacci Retracement(되돌림)로 부른다.

 

이제부터 파이썬 코드를 이용해서 특정 주식의 원하는 시점부터의 데이터를 다운 받고 종가(Close Price)를 기준으로 Fibonacci Retracement 분석하는 것에 대해 알아보겠다.

 

파이썬 코드는 유튜브의 “Computer Science”를 참고하였다.



[주식 데이터 다운 및 시각화]

 

아래의 코드는 앞으로의 데이터 다운로드 및 계산, 시각화에 필요한 라이브러리를 불러온다.

이전 글에서 많이 설명하였으므로 구체적인 설명은 생략하도록 하겠다.

라이브러리 import
(라이브러리 import)

 

다음은 주식 데이터를 원하는 시점부터 불러와서 “stock_data”에 저장한다.

주식 시세 데이터는 요새 핫한 메타버스 관련 업체인 위지윅스튜디오의 주식 시세를 불러와서 분석해 보았다.

주식 데이터 로드
(주식 데이터 로드)

 

불러온 데이터는 다음과 같다.

위지윅스튜디오 주식 데이터
(위지윅스튜디오 주식 데이터)

 

이 주식 데이터 중 종가(Close Price)를 아래의 코드를 통해 시각화하고 결과는 아래와 같다.

주식 종가 시각화 코드
(주식 종가 시각화 코드)

 

위지윅스튜디오 종가 시각화 결과
(위지윅스튜디오 종가 시각화 결과)

‘plt.xticks’ 명령어를 통해 x축의 값 표시를 회전시켰다.

그래프를 보기좋게 하는 데에 알아두면 좋을 것 같다.



 

[Fibonacci Retracement Level 계산]

 

Fibonacci Retracement Level은 아래의 순서로 계산한다. 

  (1) 분석하는 기간의 주식 종가 최고가와 최저가 간의 차를 구함

  (2) 차에서 각 레벨에 해당하는 퍼센티지를 곱하고 이를 최고가에서 뺌

 

첫 번째 Fibonacci Retracement 레벨은 23.6%이며 두 번째는 38.2%, 세 번째는 50%, 네 번째는 61.8%이다.

여기서 50%는 사실 Fibonacci Retracement 레벨에 해당하지 않으나 주식 분석에서 많이 쓰인다고 한다.

 

위를 계산하는 코드는 다음과 같다.

피보나치 레벨 계산
(피보나치 레벨 계산)

 

계산의 결과를 시각화하기 전에 print 문으로 확인하면 아래와 같다.

결과 출력
(결과 출력)

 

fibonacci retracement level 결과
(결과)

 

[Fibonacci Retracement Level을 데이터에 적용]

 

앞에서 계산한 Fibonacci Retracement Level을 주식의 종가 그래프에 적용하는 코드는 아래와 같다.

시각화 코드
(시각화 코드)

 

위 코드의 내용은 이전 글들에서 모두 언급했던 코드들로 구성되어 있으므로 여기서는 설명하지 않겠다.

시각화한 결과는 아래와 같다.

위지윅스튜디오 주식 분석 - Fibonacci Retracement
(위지윅스튜디오 주식 분석 - Fibonacci Retracement)

 

주식 시세 흐름에는 저항 구간이나 지지 구간이 존재한다.

Fibonacci Retracement 분석은 상승하는 주식 시세에서는 저항 구간을 예측하고 하락하는 주식 시세에서는 지지 구간을 예측할 수 있게 함으로써 주식의 매수와 매도 전략을 구축할 수 있게 한다.

 

위의 결과를 나름대로 간단히 분석해 보면 다음과 같다고 할 수 있다. (사실 주식에 대해 잘 모른다.)

21년 1월 중에 가격의 50%에 해당하는 10060원에서 가격이 하락했고 하락하던 가격은 실제로 61.8%에 해당하는 9100원 즈음에서 하락이 멈추는 지지 구간이 발생했음을 알 수 있다. 

또한, 2월 중 하락한 가격이 반등하여 오르다가 61.8% 레벨에서 저항 구간이 발생하였으며 이후 다시 오르던 가격은 50%에서 다시 한번 저항 구간을 만나 잠시 가격이 떨어졌던 것을 알 수 있다.  

이러한 결과로 봤을 때에 Fibonacci Retracement 분석은 꽤 유용해 보인다.

 

Fibonacci Retracement를 바탕으로 위즈윅스튜디오 주식의 앞으로를 잠깐 예측해 보면 아래와 같지 않을까 생각한다.

약 14000원의 최고가에서 하락세를 보이는데 23.6% 레벨 구간에서 지지를 한번 받은 것 같다. 

가격이 잠깐 반등하다가 다시 하락하여 가장 최근의 종가가 다시 이 부근에 머무르고 있는데 아마도 이 23.6% 레벨 밑으로 내려갈 가능성이 있고 그러한 조짐이 보이면 매도가 추천되지 않을까 생각된다.

또한, 밑으로 내려갔던 가격이 다시 이 구간을 돌파하면 그 때에는 매수가 추천되지 않을까 생각된다.

물론 어디까지나 개인적인 생각이다.

 

마지막으로 요새 투자를 조금 하고 있는 가상 화폐에 이 분석을 적용해 보겠다.

요사이(21년 4월) 투자했다가 급격하게 장이 안좋아서 물려있는 가상 화폐인 넴(XEM)의 데이터를 분석해보면 아래와 같다.

가상 화폐 데이터를 불러오는 것은 아래의 글에 있으니 참고하면 좋겠다.

 

 

파이썬을 이용한 가상화폐 시세 분석

이번에는 가상화폐 시세를 다운로드하여 분석하는 내용을 알아보겠다. 가상화폐 또는 암호화폐에 대해서 개인적으로 지식이 별로 없고 가상화폐를 가지고 있거나 거래를 해본 적도 없다. 가상

superhky.tistory.com

 

가상 화폐 넴(XEM) 4월 데이터 분석-Fibonacci Retracement
(가상 화폐 넴(XEM) 4월 데이터 분석-Fibonacci Retracement)

 

가상 화폐 장은 주식과 다르게 24시간 열려있으므로 3월부터 약 두 달간의 데이터만 불러왔다.  

 4월15일부터 상승하던 가격은 이후 약 50% 레벨에서 저항 구간을 만나고 하락하는 것을 알 수 있다.

그러나 이 데이터에서는 이 부분 외에는 Fibonacci Retracement Level이 유효한 구간은 없는 것 같다.

가상 화페 시세는 워낙 급등하거나 급 하락하기 때문에 이러한 분석 적용이 잘 안된다는 생각이 든다.

 

이제까지 Fibonacci Retracement를 파이썬 코드를 통해 분석하는 것에 대해 알아봤다.

파이썬 코드는 이전의 글에서 공부했던 코드들에서 크게 새로운 것이 없었다.

그러나 Fibonacci Retracement에 대해 공부할 수 있었던 좋은 기회였다고 생각한다.

 

이전에도 얘기했지만 주식을 분석하는 여러 보조 지표들이 있는데 공부를 하면 할수록 하나의 지표로만 주식 투자를 하는 것은 부족한 부분이 많다고 생각된다.

Fibonacci Retracement도 이 분석만을 통해 투자 방향을 결정하기에는 부족함이 있다. 

그래서 다음에는 두 가지 이상의 보조 지표를 결합하고 두 조건이 만족할 때에 매수와 매도 시점을 표시하는 것에 대해 알아보고자 한다.

 

반응형

댓글