전편: https://nanke.tistory.com/135
머신러닝은 피쳐를 사람이 정해주고 딥러닝은 기계가 피쳐를 만든다
기술적분석이라는게 사실 내부 피쳐를 조합해서 만드는것인만큼 딥러닝과 꽤 어울린다고 생각한다
앞에서 rsi에대한 컬럼을 만들었는데 rsi와 주가를 이용해서 다이버전스 컬럼도 만들수있다
이런세세한부분을 딥러닝이 알아서 해주지않을까 하는 생각이다 데이터개수는 4만개밖에 안되긴하지만
이부분에 대해서는 이후에 다시 생각해보자 생각이 정리되면 비트코인말고 주가쪽을 예측하는방향으로 갈수도있다
전 게시물에서 소개했었어야 했는데 지금 생각난 관계로 씀
사실 정확히 어느정도 오르고 내릴지를 예측하는게 더 좋지만
rmse나 mse, mae등을보고 모델이 얼마나 좋은지를 알수없다
반면에 예를들어 롱숏을 맞출확률이 55퍼센트라고 하면 내모델의 성능을 알수있게된다
이진분류를 잘하게되면 나중에 얼마나 오를지 예측하는 방향으로 틀생각이다
30퍼 오르는것과 0.1퍼센트 오르는것은 매우다르니까
lstm을사용해 다시 딥러닝을 도전해본다 피쳐가 23개인데 그냥 코드를 가져다 쓰면 노드가 16개라 부족함을 느꼈다
베이스라인코드형식을 가져가되 모델링부분을 조금 손봐야겠다고 생각했다
요런식으로 모델을 구성해봤다
model = Sequential()
model.add(LSTM(64, input_shape=(train_feature.shape[1], train_feature.shape[2]), return_sequences=False))
model.add(layers.Dense(32, activation='relu'))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(8, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
머신러닝으로 구현했을때와 비슷한 결과가 나왔다
reference: link
주가예측에 양방향 lstm이 더 효과가 있다고한다 내경우에도 효과가 있을까
양방향 lstm은 별효과가 없었다
예상했다 양방향은 자연어처럼 뭐 맞추고싶은게 가운데나 있어야지 효과가 있는거 아닌가?
주가는 시계열 데이터고 내가 맞추고싶은 주가는 미래의 데이터이니 가장 끝에 위치할수밖에 없다
윈도우 사이즈를 두배로 늘려보자 물론 학습시간도 배가 되겠지만
결과가 더 안좋아졌다 처음엔 믿을수가 없어서 다시 원래 window size인 20으로 시도해보았는데 점수가 복구해서 구현이 된것을 확인했다
신기했다 하지만 그리고 납득할수있었다 내일오르거나 내리는것을 예측할때 40봉이나 볼필요는없었던것이다 정말 큰 깨달음아닌가?
그렇다면 현재상태에서 가장 예측을 잘하는 봉수는 무엇인지 궁금해졌다
window size가 30또는 20일때 가장 예측을 잘하는것으로 나타났다
25일때는 오히려 결과가 안좋았다 이차함수 그래프를 생각했는데 쌍봉을 그린다
그래서 일단 여기까지만 알아보았다
예전에 nlp배울때 배치사이즈가 1일때 가장 성능좋았다는 해외 글귀를 본것같아서
배치사이즈또한 16->1로 바꿔서 학습진행중인데 일단 시간이 몇십배는 오래걸리는것같고
결과도 향상이 있는것같진 않았다(중간에 강제종료)
lstm성능 향상을 위한 다양한 모델링 방법 소개(나중에도움이될까봐 기록)
https://www.projectpro.io/recipes/add-bi-directional-lstm-layer-keras-model
딥러닝을 이용한 방식이 머신러닝과 별차이가 없다는게 조금 받아들이기 어려운거같다
주말에 멘토님한테 멘토링을 받을 기회가 있는데 좋다 확실하게 피드백 받으면 좋을것같다
업비트 비트코인은 한시간봉으로 해도 데이터가 4만4천개정도였다
야후 비트코인으로 할때는 데이터가 1만5천개정도였는데
결과가 안좋게 나오길래
업비트 데이터로 바꿔서했더니 성능이 급격하게 좋아졌다
그리고 두 데이터의 가장큰 차이는 데이터의 양이었다
그렇다 내가지금까지 해본 방법들중 가장 효과가 좋았던건 단순한 데이터양 늘리기였다
그런의미에서 비트코인 한시간봉으로 계속 이것저것시도하는것은 의미가 더이상 없을지도 모른다
코스피에 상장된 종목수는 2622개정도이다 코스닥은 코스피에 비해 규모가 적다 그말은 작전주가 많다는 말이고
그것은 질이좋지않은 데이터를 의미하기때문에 코스피로도 충분할것같다
코스피에 상장된 모든 종목의 1년간의 일봉데이터만 수집해도 거의 100만개가 나온다
이 어마어마한 표본수로 빨리 돌려보고싶다
강의장에 주식 단타하시는분이 있는데 지금 내가하는걸로 대화하면 재밌을것같아서이다
ex)오늘 모델이 삼전오른다는데 결과한번 보시죠 ㅋㅋ
다음편에서 계속
주가 예측 프로젝트(完) (2) | 2022.11.02 |
---|---|
비트코인 가격예측3 (0) | 2022.10.12 |
비트코인 가격 예측2 (0) | 2022.10.10 |
비트코인 가격예측 모델 만들기1 (0) | 2022.10.04 |
데이콘 자율주행 센서의 안테나 성능 예측 AI 경진대회 리뷰(完) (0) | 2022.09.08 |