안녕하세요?


지난번 포스팅에서 어떻게 해서 1주당 가격에 제한을 주는 알고리즘 하나 만드는 데 상당히 애를 먹었는 것을 보여주었습니다. 그래서 이번에는 이걸 본격적으로 사용해 들어가서, 한번 적합한 종목이 있는지 없는지를 살펴보고 나서, 어떤 종목을 선택할 수 있는지에 대해서 한번 포스팅 하고자 합니다.



먼저 위 스크린샷에 보이는 것처럼 ohlcv를 얻고자 하는 메서드에서 위 스크린샷처럼 틱범위를 10으로 지정해 주도록 합니다.



다음으로는 너무 많은 데이터가 오고 간다고 생각을 해서, 한번 기간을 더 짧게 주도록 2018년 12월 1일부터로 변경해 보도록 하겠습니다.



다음으로는 가격을 정하는데 역시나 1주당 10만원 미만인 주식만을 추려내기 위한 작업을 시작해 보도록 합니다.



그런데 위 스크린샷처럼 너무 과도한 조회요청이 온다는 메세지가 오면서 원활한 작업이 되지 않는 것을 확인할 수 있었습니다.




그래서 아예 100씩 이번에는 끊어서 프로그램을 돌리도록 만들어 보았습니다.



그러자 이번에는 작업이 원활하게 진행이 되는 것을 확인할 수 있었습니다.



일단 위 스크린샷처럼 총 13개의 종목이 조건을 만족해서 들어왔습니다. 그런데 상당수의 주식이 기업의 원래 주식이 아니라 우선주 이거나 그냥 펀드인 경우가 있어서 CS홀딩스와 세기 상사와 같은 기업만이 나오는 것을 볼 수 있었습니다.



그래서 먼저 종목코드 530050인 삼성에서 주최를 하고 있는 것으로 보이는 투자 펀드에 대해서 10분봉 차트를 가지고 오도록 해 봅니다.



그런데 여기서 한가지 문제가 생긴 것을 볼 수 있었습니다. 이런 펀드의 경우에는 10분봉 차트를 분명히 요청했는데, 이렇게 일봉차트에 미치지 못하는 것이 왔습니다. 이래서야 이걸 어떻게 사용할 수 있을지는 모르겠습니다만, 문제가 심각하다는 생각이 들었습니다.



그래서 하는 수 없이 먼저 CS홀딩스의 10분봉 차트를 가지고 오도록 했습니다. 여기서는 조금 이상한 면이 있는 것도 사실이지만, 그래도 얼추 10분봉인데........ 중간중간 비었는 시간대에 20분이나 30분씩 차이가 나오는 곳이 있었습니다.



일단 강화학습을 시키기 위해서 위 스크린샷처럼 주식의 종목 코드를 집어 넣어 주도록 합니다. 그리고 나서 데이터 베이스의 이름도 다르게 바꾸어 줍니다.




그리고 나서 구글 드라이브에 수정한 yellowoperation의 main.py파일과 함께, 새로 추가한 데이터 베이스도 올려 주도록 해 봅니다.



그리고 나서 기껏 강화학습으로 만들어낸 모델이 저장되지 않는 사태와 같은 것을 방지하기 위해서, 위 스크린샷처럼 새로운 폴더를 생성해 주도록 합니다.



그런데 처음으로 강화학습을 했을 경우에는 위 스크린샷처럼 전혀 수익이 나지 않는 것을 볼 수 있었습니다. 그래서 어디가 문제인가 했더니....



초반 예수금을 100만원으로 올려주었으면, 이건 몇십만원하는 주식이 아니기 때문에, 위 스크린샷처럼 한번 100으로 최대 거래 횟수를 늘려주는 초치를 하고 다시 강화학습에 들어가도록 하였습니다. 일단 결과는 어떻게 나올 지 모르겠습니다만, 아무래도 이번에는 제대로 강화학습 하는 동안에 수익을 낼 수 있으리라 생각이 듭니다.

+ Recent posts

티스토리 툴바