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

(바이비트 비트코인 자동매매API) 알고리즘 패턴 찾기 (19) 패턴별 진입점 대비 손절 설정을 위한 평균, 최소값, 최대값 구하기 (min, max, offset 함수 활용)

봄이오네 2022. 12. 16. 08:03
반응형
목 차
1. 들어가며
2. 사전설명
  1) 결과값의 양수화
  2) 개념 설명 (최소최대값 minimax)
  3) 엑셀 함수 설명
3. 최소최대값(minimax) 찾기
  ① INDEX / MATCH 함수 활용
  ② OFFSET 함수 활용
  ③ MAX 함수 활용
4. 평균, 최소최소값(mini-mini) 구하기
5. 최소최대값 - 최소최소값 구하기
6. 마치며

1. 들어가며

지난 글에서는 수익을 위한 타점설정을 위한 평균, 최대값, 최소값을 알아보았다.

각 패턴의 최대값이 어디까지 설정해야 하며,

평균, 최대최대값, 최대최소값을 알아보고 나서,

각 패턴의 수익을 위한 익절 타점을 잡아보는 것도 좋을거 같다.

 

이번 글에서는 손절을 위한 타점 설정의 평균, 최소값, 최대값을

설정하는 방법(엑셀 함수)을 알아볼 것이다.

 

정확히 어떤 점에서 수익/손절이 나느냐는 알 수 없다.

어제의 패턴이 오늘 반복된다는 보장은 없기 때문이다.

 

다만, 지나간 차트 혹은 패턴이라도

향후 투자 전략을 위해 얼마든지 참고할 수 있다.

 

여기서부터는 투자전략을 세우기 위한 감각만 잡아보도록 하자

(큰 기대 하시지 말라는 뜻이다. ;;;)

 

아래 첨부한 파일의 AN열~AQ열에 대한 설명이며

패턴의 최소값 평균, 최소값, 최대값 구하는 내용이다.

(붙임1) 비트코인 패턴 만들기 (AN열~AQ열, 패턴의 평균, 최소값, 최대값 구하기).xlsx
0.43MB


2. 사전설명

long 기준으로 설명할 예정이다.

 

1) 결과값의 양수화

이전 글에서는 진입점 대비 최대값을 구함으로서, 수익 타점 설정이었다.

이번에는 진입점 대비 최소값을 구하려고 했는데,

최소값 - 진입점을 연산하면 음수(-)가 나오므로,

진입점-최소값으로 연산하여 결과값을 양수(+)로 만드려고 한다.

(음수보다는 양수가 가독성이 더 좋을 거 같아서이다)

 

2) 개념 설명 (최소최대값 minimax)

손절 타점을 잡을 때, 최소값의 최소값이 진정한 손절 타점이 될것이다.

 

하지만, 바로 위에서 설명하였듯이 결과값을 양수화하기 위해서

"진입점 - 최소값"의 형태를 취했기 때문에,

최소최대값(minmax)가 최소값 of 최소값이 될 것이다.

 

엑셀 함수 min 함수의 한계이다.

 

우리가 알고 싶은 건,

long 기준 패턴이 하락할 때, 어디까지 내려가느냐를 보고 싶은 것이다.

양수화를 시켰기 때문에 최소최대값(minmax)을

최소값 of 최소값으로 설정하는 것이 타당하다.

 

3) 엑셀 함수 설명

앞의 글에서도 설명하였듯이,

엑셀의 offset, max, min, index / match 함수가 쓰인다.

 

① index / match 함수 : 범위 내에서 동일한 패턴의 기준점을 찾는다.
② offset 함수 : offset(기준점, 행이동, 열이동, 행범위, 열범위)
③ average, max, min : 평균, 최대값, 최소값을 구한다.


3. 최소최대값(minimax) 구하기

그림. 최소최대값을 구하는 내용

AO7셀(최소최대값)의 함수는 아래와 같다.

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

① INDEX / MATCH 함수 활용

INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),10)를 분석해보자.

  • INDEX($U$7:$AE$1106 → U7 ~ AE1106 범위 내에서
  • MATCH($AI7,$V$7:$V$1106,0) → Ai7셀이 v7~v1106 범위와 일치(0)하는 내용은 → 7행이 반환
  • ,10) → U7 ~ AE1106 범위의 10번째 열은 → AD열이 반환

즉, INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),10) → AD7 셀이 반환된다. 

 

② OFFSET 함수 활용

OFFSET(INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),10),,,$Q7,)을 분석하면,

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

즉. AD7 셀에서 행/열 이동이 없고, Q7(=203)만큼 범위 지정을 하라는 뜻이다.

Q7 ~ Q209의 범위를 말한다. (= Q7 : Q209)


③ MAX 함수 활용

  • 정리 전 : MAX(OFFSET(AD7,,,$Q7,))
  • 정리 후 : MAX(Q7 : Q209)

즉, Q7 : Q209에서 가장 큰 최소값은 97$이다.


4. 평균, 최소최소값(mini-mini) 구하기

AN셀, AP셀의 함수는 아래와 같다

  • AN셀 : AVERAGE(OFFSET(INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),10),,,$Q7,))
  • AP셀 : MIN(OFFSET(INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),10),,,$Q7,))

위에서 확인하였다시피, 

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

Q7~Q209행을 반환한다.

각각의 함수에 대입하면,

 

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

     → AVERAGE (Q7 : Q209)이므로 AN7셀에는 17$이 반환된다.

 

AP셀 : MIN(OFFSET(INDEX($U$7:$AE$1106,MATCH($AI7,$V$7:$V$1106,0),10),,,$Q7,))

     → MIN (Q7 : Q209)이므로 AP7셀에는 0이 반환된다.


5. 최소최대값 - 최소최소값 구하기

AQ열의 함수를 보면, AO7-AP7이다.

최소최대값 - 최소최소값를 통해 오차가 날 수 있는 부분을 수정한다.


6. 마치며

글이 상당히 길어졌다.

이 글에서 설명한 최소최대값(mini-max) 값을 손절 타점으로 잡는

우(愚)를 범하지는 말자.

 

익절/손절 타점에 대한 설정은 사용자가 정해야 한다.

승률도 따져보아야 하고, 투자시간, 전략 등이 종합적으로

고려되어야 익절/손절 타점을 잡을 수 있다.

 

다음 글에서는 오름차순으로 정렬한

각각의 패턴에 대해 승/패를 확인하기 위한

기초자료를 설명할 예정이다.

반응형