상황파악

Toy Proj. 강화학습으로 주식하기 본문

AI/강화학습

Toy Proj. 강화학습으로 주식하기

otch80 2023. 12. 28. 00:07

 

제 인생 가치관입니다 

 

저는 근무시간에 열심히 일을 해서 투자금을 마련하고, 컴퓨터는 제가 일하는 동안 주식을 돌려서 제 돈을 불려주는 아름다운 공생관계를 구축하는 것이 이 프로젝트의 목표입니다

 

 

Proj Due Date

향후 12주간 프로젝트를 진행할 예정입니다

 

마감일자가 되면 어떻게든 마무리 짓고 다음 프로젝트로 개선하는 방향으로 마무리 할 겁니다

 

 

 

Proj Goal

  1. 강화학습의 이론을 토대로 동작하는 모델을 만든다
  2. 모델이 주식 거래를 한다
  3. 이걸 24시간 돌리는 환경을 만든다 (내가 잘때 미주를 할 수 있게끔)
  4. (돈을 번다)

 

간단하게 적었지만 나름의 마일스톤인 셈이다

 

 

목표 수익률

ML에서 분류 모델의 성능을 평가하기 위한 지표로 AUC 스코어를 쓰는데, 핵심은 이거다

 

자고로 ML을 썻다면 '랜덤으로 돌려도 너보다는 잘맞추겠다' 라는 소리를 듣는건 부끄럽게 생각해야 한다

 

같은 맥락으로 나는 내가 직접 거래한 주식의 수익률을 목표 수익률로 잡겠다

 

 

 

ROC Curve

 

 

당당하게 올려보는 수익률

 

 

23년 1년이 안되는 시간동안 굴려본 자산의 수익률은 6.56% 정도 된다

 

생각보다 볼륨이 컸던 시장의 상승세와 비교해본다면 랜덤이나 마찬가지라고 생각되기 때문에 이보다 좋은 비교 지표는 없다고 본다

 

고로 이 프로젝트가 끝나면 내 RL 모델은 나에게 적어도 투자금의 6.56%는 순 이익으로 돌려줘야 할 것이다

 

 

적다보니 깨달았는데 갑자기 반말을 하고 있었다. 계속 하겠다

 

 

 

먼저 할거

아마 기술쟁이 중에 자기 기술로 돈 벌어보겠다는 사람이 한둘이 아닐거다

 

고로 이미 잘 만들어둔 선행연구를 참고해서 어떤 방식으로 접근을 했는지 조사한다

 

 

출처 - DBPia

 

꽤 빡빡한 조건을 걸었는데도 벌써 읽을 자료가 14개나 된다

 

아마 구글 스칼라에 검색하면 더 나올거 같다

 

나는 영어가 아직 익숙하지 않으니 국내 논문을 읽어보고 방향을 정할 것이다

 

내가 논문을 읽으려는 목적은 3가지를 얻기 위해서다

 

논문을 읽어서 얻으려는 것

  1. 접근법
  2. 사용 알고리즘

 

 

 

step 1. 접근법

회사에서 데이터 분석과 모델링을 반복하다보니 얻게된 지식이 있는데, 남이 잘 만들어 둔 방법을 요긴하게 써먹는게 아주 효과적이라는 것이다

 

먼저 내가 얻으려고 하는 접근법은 이렇다

 

  1. 어떻게 거래해야 가장 이득인가 (전량, 분할, ...)
  2. 포트폴리오 구성 방안 (KOSPI, KOSDAQ, NASDAQ, ETF, ...)

 

간단하게 몇가지만 읽어 봤을 때, 거래 방식에 대해서는 대부분 전량 매매를 선택한 것 같았다 

 

아마 에이전트가 할 수 있는 행동을 단순화 시켜서 학습을 잘 하는 방안에 초점을 맞춘 것 같다 (매수, 매도, 대기)

 

 

포트폴리오 구성 방안은 대부분 국내 주식을 기준으로 KOSPI 상위 종목을 선택한 것 같았다

 

 

하지만 내가 기준으로 삼은 수익률은 미주이기 때문에 조금 차이가 있을 것 같다

 

 

step 2. 사용 알고리즘

강화학습에는 다양한 방법론이 존재한다

 

가장 크게는 모델 기반이냐 정책 기반이냐로 나뉜다

 

하지만 대부분 주식시장을 모델링 할 여유는 없으니 정책 기반으로 하지 않았을까 싶다

 

그렇다면 Policy Gradient냐 Q-learning이냐로 구분될 것 같은데, 사실 둘다 아직 잘 몰라서 왜 이걸 선택했는지는 바로바로 알기는 어려울 것 같다

 

그러니까 이번 프로젝트를 하면서 이론 공부도 하고, 돈도 벌고 

 

아주 얻어갈 내용이 많을 것 같다

 

 

다음 글은 읽은 논문 위주로 정리할 계획이다