목 차
1. 들어가며
2. 사전설명
1) 기존 패턴찾기의 한계
2) 개선사항
3. 1분봉 받기 및 text 함수 설명
1) 로데이터 받기
2) 엑셀의 text 함수를 활용하여 패턴 만들기
4. 패턴만들기
1) 패턴의 정의
2) OHLC의 조합
3) 비트코인에 적용
4) text 함수의 필요성
5) text 함수 설명
5. 마치며
1. 들어가며
11월 한달 동안 비트코인 패턴 찾기를 위해 엑셀함수를 알아보고,
이것저것 실험을 많이해 보았다.
앞으로 14개의 글을 통해
엑셀을 통해 비트코인(선물)의 패턴을 알아볼 것이다.
→ 한마디로 패턴찾기를 위해 엑셀함수를 설명하겠다는 것이다.
1분봉을 활용하여 패턴을 만들 것이며,
목표(14번째 글)는 패턴별 수익/손절 라인 설정 등을 통해
각 패턴별 승률을 따져 볼 것이다.
첨부한 자료를 활용하여 향후 설명할 예정이다.
(필자가 설명하고자 하는 최종 결과물에 해당한다)
이 글에서는 아래 <그림>의 H열의 패턴 만드는 방법(노란색 셀)을 알아볼 것이다.
2. 사전설명
1) 기존 패턴찾기의 한계
아래 링크는 10월에 만든 국내주식의 패턴이다.
아래 글에서 개선한 점은, 수식배열(ctrl + shift + enter)이 많이 들어간 관계로,
엑셀의 용량이 커진다는 문제가 생긴다.
데이터가 많아 지는 경우, 최대 200MB까지 용량이 커지고,
파일을 한번 열때마다 1분~2분이 소요되며,
결정적으로 용량이 많으니, 한번 저장할 때도 시간이 많이 소요된다.
2) 개선사항
이번 비트코인의 패턴찾기는,
1개 시트에서 모두 끝낼 것이며, 배열함수는 최소화할 예정이다.
아무리 좋은 함수라고 할지라도 대용량으로는
데이터 수정시의 불편함 등이 존재하는바,
이번 패턴 만들기에서는 용량줄이기에 초점을 맞추었다.
3. 1분봉 받기 및 text 함수 설명
1) 로데이터 받기
패턴을 만들기 위해서는 1분봉이 필요하다.
1분봉 받는 방법은 아래를 참고하자.
2) 엑셀의 text 함수를 활용하여 패턴 만들기
엑셀의 text 함수는 해당셀의 서식을 설정한다.
엑셀에서 "ctrl + 1"을 누르면, "범주"에서 숫자, 통화, 백분율 등으로 나타낼 수 있다.
text 함수활용은 아래 링크에서 확인하자.
4. 패턴만들기
1) 패턴의 정의
패턴은 반복되는 형태로 정의할 수 있다.
즉, 1분봉의 OHLC 조합을 통해 1개 형태를 만들고,
그 형태가 얼마나 반복(=패턴)되는지를 파악하여,
수익률을 계산하면 되지 않을까?
2) OHLC의 조합
시가를 기준으로 패턴은 아래와 같이 정의한다.
패턴의 조합 = (고가 - 시가) & (저가 - 시가) & (종가 - 시가)
예를 들어보면,
시가 200원, 고가 300원, 저가 100원, 종가 400원이면,
패턴의 조합 = (300 - 200) & (100 - 200) & (400 - 200)
→ 엑셀의 결과 100-100200
3) 비트코인에 적용
시가 16000.5, 고가 16006.5, 저가 16000.0, 종가 16006.0
패턴의 조합 = (16006.5 - 16000.5) & (16000.0 - 16000.5) & (16006.0 - 16000.5)
→ 엑셀의 결과 6.0-0.55.5 로 나타내고자 한다.
4) text 함수의 필요성
다만, 엑셀에서 계산시
16006.5 - 16000.5 = 5 로 계산된다.
즉, 소수점이 있는 조합의 사칙연산 결과, 정수(5)가 출력된다는 것이다.
위의 문제(정수 출력)를 해결해 주는 것이 text 함수이다.
숫자 조합의 사칙연산 후, 셀에 서식을 부여하여 소수점을 출력한다.
5) text 함수 설명방법
위의 <그림>에서도 설명하였듯이, H8열의 엑셀함수는
TEXT(E8-D8,"#0.0")&TEXT(F8-D8,"#0.0")&TEXT(G8-D8,"#0.0") 이다.
패턴의 조합을 위해 OHLC를 사칙연산하고나서,
각각의 숫자 결과물을 &로 묶어서 문자화(str)해주고 나서,
text 함수를 활용하여 소수점 첫자리(#0.0)로 나타내준다.
마지막으로, 제공할 데이터가 동적으로 변경될 것에 대비하여,
종가(G8)에 데이터가 있으면(G8 <> "")이면,
text 함수를 출력하고,
데이터가 없으면 "빈칸"으로 출력하라는 의미이다.
최종 함수는 아래와 같다.
IF(G8<>"",TEXT(E8-D8,"#0.0")&TEXT(F8-D8,"#0.0")&TEXT(G8-D8,"#0.0"),"")
5. 마치며
비트코인의 패턴만들기에 대해 알아보았다.
text 함수가 약간 생소한 것은 있었지만,
비교적 무난하게 1분봉을 패턴화 시켰다.
다음 글에서는
패턴의 반복 횟수를 알아보기 위해
반복되는 패턴의 제거하는 방법을 알아볼 것이다.