본문 바로가기
작은순환경제/자산:주식

WTI 원유 가격 예측 AppSheet 문자 분류 모델 1차 완성 (성능 63%) 및 향후 계획

by 자바라머신러닝 2023. 4. 1.

감정적 충동을 이성적 사고로 억눌러 보니 조금은 기분이 낳아졌습니다. 133개월 동안 자산변화를 기록한 것 중에 원유 가격을 기록하였습니다. 이것을 바탕으로 볼린저 밴드와 스토캐스틱의 차트 상태를 feature로 지정하고 AppSheet에서 제공하는 분류모델을 생성했습니다. 현재는 정분류율 63% 이므로 데이터 보정을 위한 계획을 수립합니다.
 

AppSheet 소개 및 입력 데이터 집계

AppSheet는 구글 자회사가 출시한 no code 모바일 플랫폼입니다. ocr, 바코드 인식 등 기능을 제공하는 데, 문자분류 및 수치회귀 분석 모델도 제공합니다. 숫자 모델의 경우 필드(항목) 이 2개 이상이어도 상관없지만, 문자분류는 반드시 1개 필드(항목)에 입력 데이터를 몰아넣어야 하는 기준이 있습니다.
 
필자는 132개월 동안 자산 변화를 기록하면서 매주 원유가격을 기록하였었습니다. 
 

132개월 동안 기록한 WTI 원유 주간 가격
132개월 동안 기록한 WTI 원유 주간 가격

이를 바탕으로 차트의 상태를 볼린저와 스토캐스틱 상태로 정리하였습니다. 

차트 상태 입력 결과
차트 상태 입력 결과

그리고 분류분석 기준을 준수하기 위해 이 2개 지표를 하나의 필드로 묶었습니다.

분류모델 학습 위해 1개 필드 병합 후 모델 분석 결과
분류모델 학습 위해 1개 필드 병합 후 모델 분석 결과

22년 6월 부터 수익 중인 원유 ETF와 원유 인버스 매매 시 사용했던, WTI 원유 차트의 볼린저 밴드와 스토캐스틱 상태를 132개월 데이터를 모두 입력해야 했습니다.

132개월 중 80 개월 입력한 주간 원유 차트 결과
132개월 중 80 개월 입력한 주간 원유 차트 결과

아직 50개월 (1년) 데이터 입력은 하지 못했지만 대략 80개월 WTI 원유 볼린저밴드와 스토캐스틱 상태로 차주 원유 상태를 예상하는 모델을 AppSheet 기능으로 생성하였습니다.
 

AppSheet 분류모델 학습 결과

AppSheet > Intellegence > Predictive Models에서 "원유예측_모델" 문자분석을 위해, 볼린저 밴드와 스토캐스틱 상태를 1개 필드로 병합한 "원유상승_요인"을 입력변수로 학습하였습니다. 그 결과 정분류율 63% 모델이 3분 만에 생성되었습니다.

63% 정분류율 모델 생성 결과
63% 정분류율 모델 생성 결과

생성 방법은 1개 필드의 내용을 원핫 인코딩하여 상승과 하락 라벨을 학습한 것 같습니다. 학습 과정을 공개하지 않아 어떤 분류 알고리즘을 사용하였는지는 알 수 없습니다.

23년 4월 1주차 원유 예상 결과

63% 확률이면 2/3 는 맞다고 가정하고 23년 4월 1주 차 금요일 WIT 원유 상태를 보면 23년 3월 5주 차 보다 상승하는 것으로 예상됩니다.

23년 4월 1주차 원유 상승 예상
23년 4월 1주차/말 원유 상승 예상
분류모델 정성적 평가

63% 모델은 아직 낮은 성능이므로 50개월 정도 데이터를 추가 입력하고 모델생성 한 후, 차트 상태 기록 기준으로 재정립할 예정입니다.

데이터 입력 마무리 계획 (4월 1주차)

아직 미입력된 50개월 정도 데이터는 4월 1주 차에 모두 입력할 예정입니다.

미입력 상태
미입력 상태
데이터 보완 계획 (4월 2주 차)

낮은 성능은 스토캐스틱 기준이 모호한 것이 문제로 판단됩니다 이는 132개월 데이터 모두 입력 후 모델 학습 상태를 봐서 재정리할 예정입니다.

스토캐스틱 상태 기준
스토캐스틱 상태 기준
볼린저밴드 상태 기준
볼린저밴드 상태 기준

댓글