본문 바로가기

정리/데이터 분석

[R] 비트코인의 변동성을 분석해보자

728x90
[R] 비트코인의 변동성을 분석해보자

1 시작

비트코인 분석 방법은 여러 방법이 있다. 그 중에보조지표를 활용하는 방법을 제외하고 일반적인 방법은 변동성을 이용한 분석이 아닐까 한다.

우선 변동성을 볼 수 있는 보조지표엔 뭐가 있는지 알아보자.

2 변동성 보조 지표

2.1 ATR 보조 지표

https://www.investopedia.com/terms/a/atr.asp

TR 과 ATR

TR 과 ATR

위의 3가지 경우 중 차이가 가장 큰 값을 TR 이라고 한다. 즉, 가장 변동이 큰 값을 TR 이라고 하고 이것들을 window = n 일동안 Average 를 낸 것이 ATR이다. 참고로 TR은 차이값기 때문에 ATR 역시 항상 양수겠다.

2.2 볼린져 밴드

http://lareale.tistory.com/289 를 참고하면 된다. 중요한 것은 표준편차와 이동평균을 이용해 결국엔 변동성을 체크하는 보조지표라 볼 수 있겠다.

2.3 Moving Window Standard Deviation

http://lareale.tistory.com/288 에서 사용한 runSD 함수다. Moving Window 개념과 SD를 조합하여 만든 함수로 이 또한 변동성 체크 지표라 할 수 있다.

이외에도 다양한 변동성 체크 방법이 있을 것이다. 다음으로 변동성 주요 포인트를 적어봤다.

3 변동성 주요 포인트

3.1 기준

위 그림에서 빨간선은 추세의 흐름이 변경이 되는 기준을 찾아주는 함수로 찾은 추세변동위치들이다. 즉, 근접한 두 빨간선 사이의 구간은 하나의 트랜드로 볼 수 있다. (더 세분화 하여 정확한 위치를 파악 할 수 있으면 좋겠지만 아직 실력이 부족하여 이 정도이니 양해 바란다.)

이처럼 기준을 세워야 하는 이유는 그 기준을 좌우로 추세가 급변하고이는 매매 패턴의 변화를 말하기 때문이다. 따라서 기준 선정이 중요하다.

3.2 Window

Window 는 얼마 간의 기간을 보고 변동성을 체크해야 옳은 지를 가르킨다. 너무 짧은 기간 데이터만 보고 변동성을 체크한다면 결과 값의 민감성이 높아져 가성의 변동에 반응하게 될 것이다. 너무 넓은 기간의 데이터를 본다면 둔감해져 진성의 변동에 반응을 하지 않을 것이다. 적절한 조화가 필요한데 이를 기술적으로 배합을 할 수 있겠다. 결국엔 추세가 바뀔 때마다 Window도 변해야 한다.

3.3 stationarity (정상성)

결국엔 정상성 확보가 중요하다. 정상성이란 간단히 말해서 추세가 없는 형태를 말한다. 추세가 있는 그래프에서 정상성을 제거하면 일종의 표준화 값으로 보일 것이고, 여기서 우리는 일종의 Pattern이 있기를 기대 할 수 있다. 물론 없을 수 있다. 다음은 정상성을 확보하는 그래프다.

## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Warning: position_stack requires non-overlapping x intervals

상단 첫번째 그래프는 일반 Open Price 그래프이고 두번 째는 정상성을 확보한 그래프라고 볼 수 있다. 어딘듯 닮았으면서도 닮지 않았다. 이 그래프에서 공통의 패턴을 찾으면 일반화된 전략이 되는 것이다.