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

알고리즘 트레이더에 매입금액을 적용하기

by 인터넷떠돌이 2019. 8. 16.
반응형

안녕하세요?

 

어제는 광복절인 관계로 주식 모의투자에 들어가 보지는 못했지만, 대신에 이상하게 리퓨어 유니맥스와 같이 제가 의도한 바대로 매수 한계선을 지키지 않고 매수를 하는 종목이 생겨서 상당히 애를 먹었습니다. 그래서 이에 대한 해결책으로 매입금액이라는 것이 있었는데, 이번 포스팅 부터 일련의 포스팅에서는 이 항목을 가지고서 한번 포스팅을 해 보고자 합니다.

 

일단 기존의 OPW00018이라는 TR에서는 위 스크린샷과 같이 매입금액이라는 것이 나왔는 것을 볼 수 있었습니다. 일단 따로 TR을 새로 만들 필요도 없이 위 스크린샷처럼 한번 만들어 보고자 합니다.

 

먼저 kiwoom.py로 가서, 이전에는 없던 매입금액이라는 항목에 대해서 한번 입력을 하도록 합니다. 그리고 나서 이 항목을 포맷변형을 한 다음에 한번 opw00018_output에 집어 넣어 보도록 합니다.

 

그리고 나서 이 TR을 추가한 것 때문에 생기는 에러가 없는지 알아보기 위해서 다짜고자 50개의 쓰레드를 활성화 시키면 알아보기 힘들기 때문에, 한번 위 스크린샷과 같이 1개의 멀티 쓰레드(?)만 생성하도록 합니다.

 

 

그리고 일단 하기는 하는 김에, 리퓨어 유니맥스라는 종목의 코드를 communication에 집어 넣어서 이 종목을 타겟으로 해서 작업을 이어 가고자 합니다.

 

그리고 나서 일단 이렇게 제가 보유하고 있는 종목의 갯수가 많기 때문에 바로 리퓨어 유니맥스의 매입금액이 나오지는 않지만, 그래도 위 스크린샷에서 볼 수 있는 것과 같이 일단 TR을 통한 데이터 자체는 키움증권 서버에서 가지고 오는 것을 볼 수 있습니다.

 

그리고 이렇게 총 매입금액에 대해서는 먼저 __init__()에서 한번 0원이라고 시작하자 마자 선언을 해 주도록 합니다. 이렇게 해야 나중에 나오는 에러를 막을 수 있습니다.

 

그리고 기존에 이미 있는 DataProcessing에서 위 스크린샷에서 알 수 있는 것처럼, 딕셔너리에 있는 6번째 자리를 가지고 오도록 합니다.

 

그런데 여기서 문제가 하나 발생했습니다. 위 스크린샤에서 볼 수 있는 것처럼 파이참의 로그 출력 화면에서 분명히 나와야 하는 arrow002라는 표식이 나오지 않는 문제가 발생한 것 입니다.

 

그래서 이게 어떻게 된 일인지 알아보기 위해서, 한번 가지고 있는 모든 데이터-multi에 있는 모든 데이터를 print()함수를 사용해서 나와라고 명령을 해 보도록 합니다.

 

그런데 표시를 시작한 시점에서도 어떻게 된 것인지 opw00018이라는 TR로 가지고 온 정보에서는 전혀 리퓨어 유니맥스라는 종목에 대한 정보가 없는 것을 확인할 수 있었습니다. 이래서야 이걸 제대로 활용하기는 힘들다는 생각이 드는데, 다른 해결책을 찾아 보아야 할듯 합니다.

반응형