본문 바로가기
무모한 도전-주식 인공지능 만들기

새로운 알고리즘으로 새로이 종목찾기를 나선 결과

by 인터넷떠돌이 2019. 3. 9.
반응형

안녕하세요?


지난번 포스팅까지 해서 어떻게 조흥이라는 종목에서 강화학습으로 좋은 수익모델이 나오기를 기대하고 있기는 있었습니다만, 문제는 제대로 수익이 나오는 모델은 찾을 수 없었습니다. 그래서 이번에는 새로운 방법을 사용해서 한번 분봉차트에서 수익을 가져다 줄만한 종목을 찾을 수 있는지 가보고자 합니다.



먼저 지난번 포스팅에서 만들어 놓은 나만의 알고리즘에서 일단 날짜를 필터링해야 하는데, 일단은 2019년 2월 20일 오전 9시 이후의 데이터만을 가지고 오도록 합니다.



그리고 나서, 위 스크린샷과 같은 식으로 먼저 이전 가격대비 현 가격이 몇 %나 변했는지 여부를 알아보도록 하고, 그 비율이 평균 1%-그것도 절대값으로 변형한 평균적인 % 정도가 1%를 넘는지 여부를 따져서 이상이며, 가격은 1주당 20만원 미만으로 지정을 했습니다.



그리고 나서 지난번에 이렇게 전체 코스피 종목을 살펴보는데 이렇게 for문에서 몇번째 보는 지를 표시하도록 합니다. 왜냐하면 이 값만 알 수 있으면, 만약의 사태-예를 들면 컴퓨터의 전원이 끊김같은 사태가 일어나면, 몇번째 까지 보았는지 보고나서 다시 시작할 수 있기 때문입니다.



그리고 나서 여기서는 지난번의 실수를 다시하지 않기 위해서, 이번에는 제대로 딱딱 2개의 종목만을 지정해서 체크할 수 있도록 코드를 수정해 줍니다.



그리고 보니, 약간의 실수가 있기는 있었습니다. 1% 이상이라고 했으면서, 실수로 =를 빼먹었기에, 이걸 다시 넣어 주도록 합니다.




그리고 나서 조금이라도 프로그램의 작동 속도가 빨라지기 위해서, 먼저 위 스크린샷과 같이 bufsize를 1로 설정을 해 주어서, 부모 프로세스에서 제대로 데이터를 예전보다 더 빠르게 전달하도록 만들어 주었습니다.



중간에 끊어지는 일이 일어나서, 위 스크린샷과 같이 500번째 부터 다시 시작하도록 합니다. 일단 파이썬에서 for문을 쓸때는 기존의 ,C++나 C#과는 다르게 range()함수를 쓰는데, 위 스크린샷과 같이 range(초기값, 최종값, 증가값) 이러는 식으로 사용이 됩니다.




일단 750번째를 넘어서 코스피에서 약 1500번째 종목을 체크하고 나서는 전혀 데이터가 넘어오지 않는 것을 확인할 수 있었습니다. 그래서 프로그램을 종료하고 어떤 종목들이 걸렸는지 살펴보고자 합니다.



한개의 종목도 나오지 않으리라 생각을 했는 것과는 다르게, 이번에는 6개의 종목이 나왔는 것을 알 수 있었습니다. 그래서 이 종목들이 어떤 종목인지 확인에 들어가 보고자 합니다.



우선 나머지 종목들은 일종의 펀드인 것을 알 수 있었고, 그나마 종목 비슷하게 나온 것 마져도 일단은 트러스 제7호라고 하는 일종의 펀드인 것을 확인할 수 있었습니다. 일단 트러스 제7호라고 있는 것이 나오기는 나왔기 때문에, 우선 이걸 중심으로 해서 강화학습을 해서, 한번 수익모델을 찾을 수 있는지를 먼저 탐구해 보고자 합니다.

반응형