본문 바로가기

주식 인공지능200

RLtrader의 제작 part4 안녕하세요? 지난번 포스팅에서는 기계학습-딮러닝의 핵심이 되는 모듈을 어떻게 만들기는 했는데, 문제는 이 결과를 아직 시각적으로 보여주는 모듈에 대해서는 아직 제작에 들어가지 않았습니다. 이번 포스팅에서는 이 모듈에 대해서 한번 제작을 해 보도록 하겠습니다. 먼저 위 스크린샷은 prepare()메소드에 대해서 올린 것 입니다. 이 메서드는 Figure를 초기화 하고, 주식의 일봉차트를 출력하는 역할을 하게 됩니다. 그래서 위 스크린샷을 보시면 ohlc라는 것이 있는데, 이게 바로 주식의 일봉차트의 봉 하나가 되는 4가지 값을 가지고서 봉차트를 만드는 것을 볼 수 있습니다. 그리고 나서 위 스크린샷에서는 이제 본격적으로 차트를 그리는 plot()메소드를 만드는데, 초반 부분을 보여주고 있습니다. 여기서 n.. 2018. 10. 20.
RLtrader의 제작 part3 안녕하세요? 지난번 포스팅에서 RLtrader의 환경 모듈과 정책 네트워크를 만드는 과정까지를 포스팅 하였습니다. 원래라면 이번 포스팅에서 남은 모듈을 다 만들려고 했습니다만, 너무 내용이 길고 어려워서 다 만드는 것은 어려웠습니다. 그래서 하는 수 없이 남은 모듈을 남겨두고, 포스팅의 내용도 너무 길어서 중간에 끊어야만 했습니다. 먼저 위 그림은 이 RLtrader에서 사용할 기계학습의 모습을 대략적으로 나타낸 모식도입니다. 이 기계학습에서 입력층은 17차원이라고 하는데, 이는 학습 데이터 15개와 에이전트 상태 2개를 합쳐서 17차원이 되었습니다. 그리고 은닉층의 수와 차원은 조절할 수 있으며, 마지막 출력층에서는 투자 행동인 매수나 매도, 2가지 행동이 나오기 때문에 이렇게 지정을 하였습니다. 그래.. 2018. 10. 19.
RLtrader의 제작 part2 안녕하세요? 지난번 포스팅에서 RLtrader에서 환경모듈을 만드는 것을 보여주었습니다. 이번 포스팅에서는 에이전트(Agent)모듈이라고 해서 주식을 매수하거나 매도하는 투자자 역할을 하는 모듈을 만들 것인데, 이전에 만들었던 환경 모듈과는 다르게 상당히 길어서 다소 정신이 없을 수도 있습니다. 먼저 import라는 명령어는 다른 모듈을 가져와서, 그 모듈에 있는 함수를 쓸 수 있도록 만들어 줄 수 있습니다. 그리고 이 에이전트 모듈에서는 다음과 같은 속성들이 사용이 됩니다.initial_balance: 초기 투자금, balance: 현금 잔고, num_stocks: 보유 주식수portfolio_value: 포트 폴리오 가치라고 해서, 투자금 잔고+(주식현재가 * 보유 주식수)=포트 폴리오 가치를 나타냅.. 2018. 10. 18.
RLtrader의 제작 part1 안녕하세요? 일단 지난번에는 파이썬을 설치해서 어떻게 무모한 도전의 첫 삽을 떴는데, 이번 포스팅 부터는 진짜로 주식 인공지능의 역할을 하는 RLtrader를 책을 보면서 만드는 과정을 포스팅 하고자 합니다. 그런데 한개의 포스팅에 다 끝내기에는 너무 작업량이 많아서 하는 수 없이 몇 개의 포스팅으로 나누어서 올리고자 합니다. 먼저 해야 되는 작업이 있는데, 활용하고자 하는 trial이라는 가상환경에서 matplotlib이라고 해서 데이터를 시각화 시켜주는 모듈이 설치가 되어 있는지에 대해서 알아봐야 했는데, 아니나 다를까, 이것도 설치가 되어 있지 않았기 때문에 Anaconda Prompt에서 이를 설치해 주도록 합니다. 그리고 나서 위 스크린샷에서 testAI라는 프로젝트 명을 우클릭해서 뜨는 메뉴에.. 2018. 10. 18.