출처 : 파이썬과 케라스를 이용한 딥러닝/강화학습 주식투자 - 퀀티랩
강화학습으로 무작정 주식투자를 해보고 돈을 벌면 보상 돈을 잃으면 벌점을 부과하면서 똑똑한 투자 머신을 만들어보자. 세가지 결정이 존재한다. 매수, 매도, 홀딩 각각의 판단에 결과를 보상할 것이다.
무작위적 행동(탐험)을 결정하는 비율 ε(epsilon)
학습은 정체되지 않고 계속 이루어져야한다. 실제 사람이 추적할 수 없을 정도의 수많은 반보고가 방대한 데이터를 사용학 일부 지점에서 무작위 투자를 진행해 학습이 정체되지 않게 한다. 탐험을 결정하는 비율을 ε엡실론, epsilon 이라 표시한다.
강화학습 효과를 차별화하는 요인들
강화학습 모델을 어떻게 구성할 것인가.
1. 학습 데이터
2. 보상 규칙
3. 행동의 종류
4. 신경망 종류
5. 강화학습 기법
차별화 요인 1 : 학습 데이터 구성
무한하고 다양한 데이터로 구성이 가능하다. 회계정보, 지표부터 차트 데이터 지수 등 보기에 유용해 보이는 모든 데이터를 적용시켜야 할것이다. 추가로 에이전트의 상태를 학습 데이터로 고려한다. 투자를 수행하는 주체인 에이전트의 상태에 따라 같은 환경에서도 다른 투자 결정을 하는 것이 올바를 것이다. 예를 들어 환경이 매수하기 좋은 상황이라도 보유주식이 많다면 리스크 관리 차원에서 매수를 보류할 수 있다.
차별화 요인 2 : 지연 보상 임계값
지연 보상 임계값은 강화학습을 진행하면서 학습 수행 여부를 결정하는 기준이 된다. 지연 보상 임계값은 손익률 1%, 2%, 5%, 10% 등으로 다양하게 정할 수 있다.
지연 보상 임계값이 5%라는 것은 수익률 5%를 달성하면 이전에 행했던 투자 행동들은 '긍정적이었다'고 학습하고, 손실률 5%를 달성하면 이전 투자 행동들이 '부정적이었다'고 학습함을 의미한다.
수익률과 손실률을 다르게 설정하는 것도 가능하다.
차별화 요인 3 : 행동 종류
에이전트의 행동을 공격적 매수, 방어적 매수, 공격적 매도, 방어적 매도, 관망으로 더 세분화 하는 것도 가능하다.
판단되는 승률에 따라 최소 ~ 최대 투자 단위를 조정할 수도 있다.
차별화 요인 5 : 신경망
가치 신경망과 정책 신경망은 강화학습에서 에이전트가 행동을 결정하기 위한 두뇌 역할을 하는 인공 신경망이다. 신경망의 종류는 심층 신경망(deep neural network), 순환 신경망(recurrent neural network), 합성곱 신경망(convolutional neural network)과 이것들을 혼용하는 앙상블 신경망이 있다.
심층 신경망 : 학습 데이터는 여러 특징을 가지는데, 이들의 값이 달라짐에 따라 수많은 조합을 이룬다. 하나의 특징은 연속 값을 가지기 때문에 이들의 조합은 무한하다. 심층 신경망은 이렇게 무한한 특징 조합을 효과적으로 학습하기 위해 여러 계층과 많은 수의 퍼셉트론을 가진다.
순환 신경망 : 순환 신경망은 현재의 상태와 이전에 결정한 행동을 함께 고려할 수 있다. 이 경우 [매수->매도->매수->매도->매수]와 같은 정신없는 투자를 피하고 어느 정도의 투자 일관성을 가질 수 있다.
합성곱 신경망 : 합성곱 신경망으로 5일 10일 등 특정 기간의 일련의 상태를 한꺼번에 고려할 수 있다. 이전 상태들의 흐름을 포괄적으로 고려해 높은 학습 품질을 기대할 수 있다.
앙상블 신경망 : 여러 신경망을 사용해 결과를 다수결로 결정하는 방법을 사용할 수 있다. 이 경우 투자 결정에 대해 신뢰성을 높일 수 있다. 비슷한 방법으로 배깅(bagging, boosting) 등의 방법이 있다.
차별화 요인 6 : 강화학습 기법
앞선 자습일지에서 다뤘던 Q-learning, 정책 경사, 액터-크리틱, A2C, A3C 등을 사용할 수 있다.
Q-learning : 어떤 행동을 취했을 때 예측되는 포트폴리오 가치를 회귀하고자 사용한다. 예측한 가치값이 높은 쪽으로 행동을 취하면 된다. 즉, Q-learning을 사용할 경우 행동마다 기대 손익을 수치적으로 예측한다.
정책 경사 : 어떤 행동이 현재 상태에서 가장 좋을지를 확률적으로 판단한다. Q-learning과는 다르게 기대 손익을 예측하는 것이 아니라 단순히 현 상황에서 어떤 행동이 더 좋을지를 판단한다.
출처 : 파이썬과 케라스를 이용한 딥러닝/강화학습 주식투자 - 퀀티랩
'IT > [딥러닝]' 카테고리의 다른 글
[자습일지] 강화학습 주요 기법 (0) | 2020.08.27 |
---|---|
[자습일지] 강화학습 기초 (0) | 2020.08.26 |
[자습일지] 딥러닝 핵심 기술 (0) | 2020.08.25 |
[자습일지] 딥러닝 기초 - 활성화 함수 (0) | 2020.08.25 |
[자습일지] 딥러닝 활용 방법 (0) | 2020.08.25 |