3. 비트코인 선물/3-3. 비트코인 알고리즘 패턴 찾기

(바이비트 비트코인 자동매매API) 알고리즘 패턴 찾기 (5) 패턴의 빈도순에 따른 오름차순 정리 (엑셀 index, match 활용)

봄이오네 2022. 12. 2. 08:04
반응형
목 차
1. 들어가며
2. 사전설명
  ① INDEX 함수
  ② MATCH 함수
3. 多빈도 순으로 정렬하기 (Q열)
  1) INDEX, MATCH 함수 활용
    ①  찾는 범위
    ② MACTH 함수 활용
    ③ 열번호 찾기
  2) IF 함수 관련
4. 多 빈도 패턴 반환하기 (R열)
5. 마치며

1. 들어가며

지난 글에서는 패턴의 중복없는 랭킹 설정 방법에 대해 알아보았다.

중복없는 랭킹설정이 말이 어렵다.

 

간략하게 이야기하면,

동점이 나온 경우, 먼저 나온 숫자에 대해

서열을 정한다는 이야기이다.

 

이번 글에서는 반복횟수의 多빈도 → 少빈도를 오름차순으로

정렬하는 방법을 알아보자

 

多빈도 순으로 정렬하는 이유는,

많이 출현하는 패턴부터 승률을 계산해 보자는 취지이다.

 

아래 첨부한 파일의 P열~R열(노란색 셀)에 관한 내용이다.

(붙임1) 비트코인 패턴 만들기 (221106) (P열~R열 빈도순 정렬).xlsx
0.43MB
그림1. P열에서 Q열의 다빈도 기준, 오름차 순으로 나타낸다.


2. 사전설명

여기서도 쓰이는 것은 엑셀의 INDEX, MATCH 함수이며,

위 2개 함수를 간단하게 알아보기 위해 아래 링크를 확인하자.

 

 

(엑셀) INDEX 함수 및 MATCH 함수를 이용하여 데이터 찾기

목 차 1. 들어가며 2. 사전설명 1) INDEX 함수 2) MATCH 함수 3. INDEX함수 및 MATCH함수 조합 4. 마치며 1. 들어가며 주식패턴 분석을 위해 엑셀을 사용하려면, 자료의 데이터값을 찾아야되는 경우가 있다.

springcoming.tistory.com

INDEX 함수

  • 함수기능 : 특정범위에서 행과 열을 이용하여 "값"을 찾는다
  • 함수활용 : INDEX(검색범위, 행번호, 열번호)

MATCH 함수

  • 함수기능 : 특정범위의 특정값과 일치하는 "행번호"를 반환한다.
  • 함수활용 : MATCH(특정값, 검색범위, 0)

→ 즉, INDEX, MATCH 함수의 조합은

    검색범위 내에서 존재하는 값을 반환해주라는 의미이다.

 

  ※ VLOOKUP 과 유사하나, VLOOKUP은 일치값의 왼쪽값을 찾을 수 없다.

      INDEX, MATCH 함수는 VLOOKUP 함수의 한계를 넘어,

     일치값의 왼쪽값도 찾을 수 있다.


3. 多빈도 순으로 정렬하기 (Q열)

그림2-1. L열의 반복횟수를 Q열에서 多빈도 순으로 정렬

 

<그림2-1>의 Q7을 먼저 확인해보자.

IF 함수는 나중에 설명하겠다.

 

1) INDEX, MATCH 함수 활용

지난 글에서 패턴의 반복횟수를 확인하였다. → 빈도순(L열)

 

반복횟수 정렬(Q열)에서 확인하였듯이,

함수의 형태는 INDEX($K$7 : $M$699, MATCH($P7, $M$7 : $M$699, 0),2) 이다.

 

오름차 순 정렬을 위해 P열에서 숫자(정수)를 입력(1~1100)한다.

 

Q열에 입력된 함수를 분석해 보자.

 

 $K$7 :$M$699 : 찾는 범위는 K열~M열이다.

(즉, K열~M열 값을 P~R열로 오름차순으로 바꾸고자 한다)

 

MACTH($P7,$M$7 :$M$699, 0)

이 글의 핵심이다.

→ M열(중복없는 랭킹)의 범위에서 P열 값과 일치(0)하는 행의 값

    반환해 달라는 말이다.

 

함수의 마지막에 오는 " 2 "는 설정한 열번호이다. → L열을 반환

설정(K7~M699)한 범위에서

첫번째 열은 K열, 두번째 열은 L열, 세번째 열은 M열이다.

→ 여기서 " 2 "는 두번째 열인 L열을 가리킨다.

 

<그림2-1>에서 P7의 값(숫자 1)과 일치하는 값은,

M열의 12번째 값(숫자1)이이다. → 즉 M12셀이다.

당초 설정한 K열~M열의 12행에 대해 2번째 값인 203을 반환한다.

 

2) IF 함수 관련

동적 데이터를 붙일 예정이다.

P7셀에 값이 있으면, Q열에 L값을 출력하고,

데이터가 없으면, Q열에 빈칸으로 출력하라는 의미이다.


4. 多 빈도 패턴 반환하기 (R열)

위에서 多빈도순으로 오름차순으로 정렬해 보았다. (P열)

여기서는 多빈도에 해당하는 패턴을 반환받는다.

 

위와 동일하게 INDEX, MATCH 함수를 활용한다.

① 범위는 K~M열이다.

② 찾는 값은 P7, 범위는 M열, 일치(0)하는 행을 찾으라.

③ 첫번째(1)인 K열을 반환받는다.

그림2-2. Q열의 다빈도 횟수에 해당하는 값을 R열에서 반환받는다.


5. 마치며

글을 쓰다보니, 상당히 길어졌다.

VLOOKUP 함수에 익숙한 사용자에게,

INDEX, MATCH 함수는 낯설게 느껴질 것 같다.

 

또한, 분석의 효율성을 위해

오름차 순으로 정렬하였기 때문에 P~R열의 작업을 해준 측면이 있다.

(오름차순 정렬 필요성이 적은 사용자라면, 굳이 P~R열 작업을 불필요해 보인다)

 

그래도, 이렇게 정렬(P~R열)을 해두니

어떤 패턴이 많이 반복되는지 한눈에 보여서 좋아 보인다.

 

다음 글에서는 중복된 패턴에 임의의 숫자를 붙여서

중복된 패턴일지라도, 구분을 해볼 것이다. (i열)

중복된 패턴일지라도, 승률이 다를 것이기 때문이다

반응형