- AI Dev - 인공지능 개발자 모임
- 추천도서
http://www.yes24.com/24/goods/60890714?scode=032&OzSrank=1
강화학습을 사용해서 주식투자를 시뮬레이션하는 방법을 다룬 책입니다. 먼저 입력에 필요한 특징값을 선택합니다. 주가와 거래량을 기준으로 5, 10, 20일 등 평균값으로 추세를 파악할 수 있도록 합니다. 여기서는 모두 17개의 특징값을 사용했습니다.
증권사 HTS로 일년치 정보를 받아와서 특징값을 추출하고 형식에 맡게 데이터를 생성합니다. 그리고 입력값을 신경망 모델에 넣으면 매수/매매/홀드 등 3가지의 행동이 나옵니다. 수익이나 손해가 일정 %이상이 되면 보상이나 벌칙을 받는데, 그 이전까지 했던 행동들에 대해서 리워드를 감소시키면서 학습을 시킵니다.
예를 들어, 마지막 보상을 받은 이후로 10일 동안 2%의 수익을 얻었다면, 그 10일 동안 행동에 대해서 보상값 1을 할인율(discount factor) 만큼 곱하여 리워드를 설정합니다.
10일 - 1
9일 - 1 * 0.9
8일 - 1 * 0.9 * 0.9
...
강화학습의 장점은 이렇게 보상값이 전파되기 때문에 모든 행동들에 대해서 리워드를 줄 필요가 없다는 것입니다. 만약 일반적인 지도학습을 사용했다면 각 입력에 대해서 매수/매매/홀드의 행동을 지정해주어야 하는데 이런 데이터를 만들기가 쉽지 않습니다.
이 책에서 사용한 강화학습 방법은 policy gradient입니다. 가장 대표적인 강화학습인 q-learning 기반의 DQN(Deep Q-Networks)은 어떤 행동이 가장 좋은지 수치값을 학습합니다. 이에 반해서 policy gradient는 value가 아니라 확률을 사용한다는 차이점이 있습니다.