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

새로운 매수 알고리즘의 작성과 적용

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

안녕하세요?

 

지난번 포스팅에서 어떻게 하다 보니까, 매수를 결정하는 단계에서 문제가 있는 것인지는 모르겠습니다만, 일단 기존의 코드에 문제가 있는 것은 확실해 보이며, 이를 한번 개선하는 노력이 필요하다는 생각이 들었습니다. 이번 포스팅에서는 어떻게 알고리즘을 짰으며, 그 방법을 코드로 만드는 과정을 포스팅 하고자 합니다.

 

먼저 첫번째 알고리즘을 짰습니다. 이 알고리즘에서는 가장 먼저 주식의 보유 여부를 물어본 다음에, 10주를 주문할 수 있는지 여부부터 먼저 물어보도록 했습니다. 그런데 다 짜고보니, 한가지 문제가 생겼는데, 일단 이렇게 되면 1주에 10만원 하는 주식을 한번에 10주 사버리는 문제점이 발생할 수 있었습니다.

 

그래서 2차 순서도로 바꾸어 주었습니다. 이 순서도에서는 위 스크린샷에서 볼 수 있는 것과 같이, 일단 1주를 주문할 수 있는지 여부부터 먼저 물어 보도록 했습니다.

 

먼저 기존의 코드는 혹시나 모르기 때문에 일단 주석처리를 한 다음에, 그 다음으로는 위 스크린샷에서 볼 수 있는 것처럼 보유한 주식인지 아닌지를 먼저 체크하고, 만약 1주라도 보유를 했다면, 현재가 * 보유량을 계산해서 10만원 초과인지 체크해서 초과면 일단 관망만 하도록 만들었습니다.

 

그리고 나서 매수를 결정해야 하는데, 이경우 같은 내용의 코드를 2번 반복해서 계속 짤 우려가 있기 때문에 일단 위 스크린샷에서 볼 수 있는 것처럼 메서드를 만들어야 했습니다.

 

다음으로는 메서드를 만드는 작업을 할 수 있는데, 위 스크린샷에서 볼 수 있는 것처럼 1주를 살수 있다 = 현재 보유한 예수금의 양이 1주의 가격과 같거나 크다인 경우를 필두로 각각의 상황에 맞도록 액션을 지정했는데, 이게 적절한 것인지는 제가 생각해도 어딘가 아니라는 생각이 듭니다.

 

그리고 나서 이제 한번 제대로 작동하는지 테스트를 하기 위해서, 먼저 위 스크린샷과 같이 데이터 베이스와 종목 코드등은 일단 지정을 해준 다음에, 현재가를 조작해 보도록 합니다.

 

위 스크린샷과 같이 현재가가 11000원이 되었을 경우에 이르러서야 유의미한 변화가 감지되는 것을 확인할 수 있었습니다. 그 변화란........

 

바로 이렇게 했더니 매수라는 결과가 나오는 것을 확인할 수 있었습니다. 이렇게 해서, 이제는 제 매수 알고리즘이 제대로 작동한다는 것을 알 수 있었으며, 9일날 오전9시가 되면 모의투자에 들어가 보아서 한번 확인을 해 보고자 합니다.

반응형