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

(바이비트 비트코인 자동매매API) 알고리즘 패턴 찾기 (17) 패턴별 최대값의 평균 (average, offset 함수 활용)

봄이오네 2022. 12. 14. 08:07
반응형
목 차
1. 들어가며

2. 엑셀 함수 설명 (offset, average 함수)
  ① offset 함수
  ② average 함수
3. 패턴의 평균, 최대값, 최소값 구하기
 1) 평균값 구하기
  2) 범위 형태로 만들기
  3) OFFSET 함수를 다시 한번 보자
  4) AVERAGE 함수 활용
4. 마치며

1. 들어가며

지난 글에서는 패턴별 "기본 승률"을 알아보았다.

"기본 승률"로 말하는 이유는..

최대값이 먼저 나오면 win

최소값이 먼저 나오면 lose로 표시하는 등...

약간은 아쉬운 승패였다.

 

필자가 원하는 것은 위의 행(ROW)간 비교가 아니었다.

패턴별 수익/청산 타점을 넣어가면서 승/패를 비교하는 것이었다.

 

이번 글에서는 앞서 설명하였던,

각각의 패턴에 대해, 범위 내 최대값(max)의 평균값을 구해볼 것이다.

→ 각 패턴이 최대값이 움직이는 규모(size)를 살펴 보고자 한다.

 

즉, 앞에서는 각 패턴에 고유번호(=1, =2..)를 붙인 패턴을 만들어서,

     최대값(Y열), 최소값(AB열)을 구해보았다.

→ 여기서는 고유번호를 부여하여 중복패턴의 최대값/최소값 구하는 방법이 아닌,

     중복패턴을 포함한 순수 패턴(AU열)의 평균값을 알아볼 것이다.     

 

아래 첨부한 파일의 AH열 ~ AJ열에 관한 설명이다.

(붙임1) 비트코인 패턴 만들기 (AH열~AJ열, 평균값 구하기).xlsx
0.43MB


2. 엑셀 함수 설명 (offset, average 함수)

① offset 함수

  • 함수 기능 : 기준점을 활용하여, 행/열 이동, 행/열 범위 설정
  • 함수 형태 : offset ( 기준점, 행이동, 열이동, 행범위설정, 열 범위설정)
  • 함수 예시 : offset(b2, 1, 3) → b2 기준으로 아래로 1칸, 오른쪽 3칸 이동 (e3를 말한다)

② average 함수

  • 함수 기능 :  범위 내에 있는 숫자들의 평균을 구한다.
  • 함수 형태 : average(범위)
  • 함수 예시 : average(b2 : b4) → b2~b4 내의 평균을 구한다.

3. 패턴의 평균, 최대값, 최소값 구하기

여기서 말하는 패턴은 중복값을 없앤 패턴(V7열)을 말한다.

패턴은 그대로 복사해 오자

AI열에는 " =V7 "을 입력하면, 중복없는 패턴이 그대로 출력된다.

 

그림1. 패턴의 평균, 최대값, 최소값 등을 구하는 화면

 

1) 평균값 구하기(③)

AJ열 패턴의 평균값(③)을 구해보자.

위의 AVERAGE 값을 구하기 위해서는 "범위" 형태로 만들어주어야 한다.

 

2) 범위 형태로 만들기

AJ열에 입력된 함수형태(②)를 먼저 확인하자.

  • AVERAGE(OFFSET(INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),7),,,$Q7,))

일단 복잡하다. 천천히 분석해 보자.

INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),7)

  • INDEX($U$7:$AE$1106 → U7~AE1106 범위에서
  • MATCH($AI7,$V$7:$V$1106,0) → AI7 셀을 기준으로 V7~V1106과 일치(0)하는 행 → 7행
  • ,7) → U7~AE1106에서 7번째 열은 AA열(최대값-진입점=수익)이다. → AA열

즉, INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),7)AA7 셀을 가리킨다.

 

3) OFFSET 함수를 다시 한번 보자

아래 함수에서 INDEX는 AA7셀이므로 대입해보자.

  • 정리 전 : AVERAGE(OFFSET(INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),7),,,$Q7,))
  • 정리 후 : AVERAGE(OFFSET(AA7,,,$Q7,))

offset(aa7, 빈칸, 빈칸, $Q7, 빈칸)의 형태이다.

위의 offset 함수에서 확인하였듯이,

기준값에서 행/열이동, 행/열범위 설정이다!

 

즉 "대입 후"의 offset 함수인 OFFSET(AA7,,,$Q7,)는

AA7셀을 기준으로 행/열 이동을 하지 말고,

행으로 AA7 셀을 포함하여 Q7만큼 범위 설정을 하라는 것이다.

 

즉 OFFSET(AA7, , , Q7)은 범위 설정으로 반환되며,

AA7 ~ AA209 (203번 중복, Q7)을 나타낸다.

 

그림2. Q열은 반복횟수(중복횟수)를 말한다.

Q7이 무엇이었나?

반복횟수(중복횟수)였다.

W열(오름차순 정렬)은 반복횟수만큼, 아래로 풀어서 쓴 내용을 기억하자.

 

(바이비트 비트코인 자동매매API) 알고리즘 패턴 찾기 (8) 중복패턴 오름 순으로 정렬하기 (엑셀 CO

목 차 1. 들어가며 2. 사전 설명 3. 함수 설명 4. 활용처 1) i열과 w열의 비교 2) 필요성 5. 마치며 1. 들어가며 지난 글에서는 중복패턴 구분하여 출력하기를 알아보았다. 시간 순으로 만들었던 1분봉

springcoming.tistory.com

 

4) AVERAGE 함수 활용

함수를 다시 한번 정리해 보자

  • 정리 전 : AVERAGE(OFFSET(AA7,,,$Q7,))
  • 정리 후 : AVERAGE(AA7 : AA209)

즉, AVERAGE(범위)의 평균을 구하라는 내용이고,

AJ 7 셀에서 확인하였듯이 17$가 된다.


4. 마치며

앞에서도 설명하였지만, INDEX / MATCH 함수의 이해가 필요하다.

VLOOKUP 함수에 익숙해져 있다면,

이번 기회에 INDEX / MATCH 함수에 관심을 가져보자.

 

위의 내용은

" 최대값-진입값 "의 결과값에 대한 최대값들의 평균을 구해본 내용이다.

 

다음 글에서는 최대값의 최대값/최소값을 알아볼 것이다.

반응형