2. 해외선물/2-8. 실패 자료(시행착오)

(해외선물) 1분봉 데이터의 알고리즘 패턴매매 (실패)

봄이오네 2023. 1. 26. 23:11
반응형
목 차
1. 들어가며
2. 포기한 사유
1) 생각보다 반복패턴 출현이 드물다.
2) 부동소수점 문제
3) 느린 연산속도 등
3. 그래서 앞으로는?

1. 들어가며

2022년 4월~2022년 12월, 9달 동안 알고리즘 패턴매매 시스템 개발에 집중하였다.
동일한 1분봉 데이터를 기반으로 승/패를 따져보고, 익절/손절 타점을 잡아서 수익을 내자는 것이다.
그래서 해외선물 매매를 목표로 하되, 국내주식-비트코인 순서로 공부하였다.

그.런.데...
올해 1월 중순 정도, 1분봉 데이터를 활용한 알고리즘 패턴 매매를 포기했다. ㅠㅠ


2. 1분봉 데이터 패턴 포기 사유

1) 생각보다 반복패턴이 별로 없었다.

국내주식의 하루 1분봉은 380개이다. 1분봉 데이터를 패턴화하여 승률을 계산하는 건 생각보다 수월했다.
이유는? 국내주식은 15~20개의 패턴이 반복되는 형태이다.
나중에 사용자가 시도해보면 알겠지만, 추세전환 등의 큰 반전이 없다면, 의외로 불규칙한 패턴이 없다는 것이다.

이에 비해, 해외선물의 1영업일(23시간) 1분봉은 약 1,380개이다. 국내주식에 비해 3.6배의 패턴이 출현한다.

  • 국내주식 1분봉 381개 = 09:00~15:19 (380개) + 1530(1개)
  • 해외선물 1분봉 1,380개 = 08:00 ~ 06:59 (1,380개, 23시간)


만들어지는 1분봉 데이터 패턴은 몇개나 될까?
1분봉을 모아봤는데, 예시로 든 1분봉 데이터는 일부 데이터가 누락되어 1,380개가 아닌 1,099개이다.
(왜 누락된건지는 모르겠지만 300개 정도 누락된 점을 감안하고 반복 패턴을 보자.)

< 그림 >에서 확인가능하듯이,
1099개 중 반복되는 패턴은 382개이다.
(반복되는 패턴 = 중복되는 패턴을 제거한 순수패턴)

반복이 생각보다 보이지 않는다. 거의 개별적으로 움직이는 듯한 느낌이다.
하아... 역시 해선은 어렵다. ㅠㅠ

그림. 천연가스('23.2월물)의 패턴


첨부파일은 천연가스(NGG23)의 23년 1월 24일에 해당하는 1분봉 데이터 모음이다.
(일부 데이터 누락은 감안하고 데이터를 확인하자)

(붙임1) 천연가스(23년 2월물) (230124)).xlsx
0.20MB



2) 부동소수점 문제 등

소수점의 마이너스 연산시 발생하는 부동소수점도 사실은 약간 거슬렸다.
10,000을 곱해서 패턴화 시키는 것까지는 성공하여 파이참(pycharm)에서 문제가 발생하지 않으나,
엑셀에서 패턴을 만들어 승/패를 계산할 때 마이너스 연산시에도 부동소수점 문제가 발생하니, 손이 많이 갔다.

부동소수점 문제를 회피한다고 하여도, 패턴에 따른 승패 등을 계산할 때 엑셀에 걸어놓은 숫자가 바뀔 때마다,
컴퓨터가 버벅대는 등, 상당히 불편했다.

3) 느린 연산속도 등

알고리즘 패턴 매매를 포기한 결정적인 이유이다.
키움에서 1분봉 데이터를 받아서 패턴화 시키고나서,
기존 엑셀에서 승률을 계산한 패턴과 동일하면 매수하고,
수익이 나면 청산하는 구조를 생각했는데...

위에서 확인하였듯이 생각보다 동일 패턴 포착도 잘 안되고,
수익과 손실이 0으로 수렴하는 것 같은 느낌이 들었다.

다루어야할 데이터도 많으니, 코드도 길어지고,
연산에 들어가는 시간(패턴화)이 소요되는 등
엑셀에서 승률을 계산한 패턴과 비교하는 등 생각보다 느렸다.


3. 그래서 앞으로는?

1월 중순, 1분봉 알고리즘 패턴 매매에 답답함을 느끼고, 1주일 이상은 좌절 상태에 빠진것 같다.
해선에서 자동으로 수익을 내는건 어려울까?

고민한 끝에, 필자가 좋아하는 방법을 생각했다.
필자는 볼린저밴드와 RSI 후행지표를 상당히 좋아한다.
후행지표이기 때문에 약간 불안하기도 했지만,
1분전 데이터도 결국, 후행지표 아닌가???

앞으로는 볼린저밴드와 RSI 지표를 만드는 방법으로, 해선을 공략해 보고자 한다.
좌절은 할 수 있지만, 시간을 가지면서 차분히 수익내는 방법을 고민해보자.

반응형