안녕하세요?

 

지난 포스팅까지 미체결된 주식에 대해서 어떻게 처리할 지에 대해서 한번 생각해 보았다면, 이번 포스팅에서는 주식 모의투자에 들어갈 시간이 되어서, 한번 들어가 보고나서, 그 결과를 정래해 보고자 합니다.

 

먼저 해야 할일은 위 스크린샷과 같이 1분봉 차트를 10개 종목에서 얻어온 다음에, 이 종목들의 1분봉이 들어가 있는 데이터 베이스를 일일히 지정해 주는 것입니다.

 

일단 기다려 보니, 위스크린샷과 같이 미체결된 주식만 70주가 발생하는 것을 확인할 수 있었습니다. 이렇게 된 것으로 보아서 상황을 봐서 저 미체결에 대해서 주문취소가 나와야 합니다만.......

 

일단 프로그램 상으로는 액션을 결정할 때, 매도취소를 결정하기는 했습니다. 그러나 실제로 매도 취소는 이루어 지지 않았는데, 이게 어떻게 된 일인지........

 

일단 이러는 사이에 오후 3시 30분이 되어서, 주식 시장이 마감했기 때문에, 프로그램의 작동도 중지 시켜야 했습니다. 그리고 나서 왜 매도취소가 되지 않았는지 알아보고자 합니다.

 

우선 위 스크린샷의 이미지대로, 주식의 미체결 주식이 나오면 위 스크린샷처럼 dict에서 1개의 key에 여러개의 value가 붙어 있는 것을 볼 수 있었습니다. 아무래도 이걸 가져오는 과정에서 에러가 난듯 합니다.

 

 

그래서 먼저 연습용 딕셔너리에다가 위 스크린샷처럼 code도 3개 이런 식으로 나두어 두고나서, 한번 작업을 시도해 보고자 합니다.

 

그리고 나서 제대로 값을 가져오기는 가져오는 것이 맞는지 확인하기 위해서, print함수를 사용해서 관련된 값이 표시가 되도록 합니다.

 

그리고 한번 실행을 시키고 나서 콘솔창을 학인해 보니, 제대로 된 정보가 출력되고 있는 것을 확인할 수 있었습니다. 그래서 dict에서 정보를 못 가져올 것이라는 가정은 틀렸습니다.

 

그리고 일단 여기서는 관망이 나오는데, 이렇게 관망만 나와서는 제대로 된 실험이 어렵기 때문에 하는 수 없이 일단은 다른 작업을 해야했습니다.

 

그래서 기존에 있던 관망을 주석처리 임시로 하고, 여기다가 매도취소를 넣어주는 것으로 일단은 매도 취소결정이 나올 수 있도록 해 놓았습니다.

 

일단 매도취소라는 명령을 Average_returning에서 나오게 하는 데는 성공했습니다. 그런데 이게 진짜로 sendorder라는 명령어에 들어간 것이 맞는지 아닌지를 알기 위해서는 아래와 같은 방법을 써야만 했습니다.

 

이제 제대로 trader_stock이라는 메서드에서 주문을 처리하는 지 알아보기 위해서, 매도취소에 마커를 새겨 두도록 했습니다. 이렇게 하면, 이제 매도취소가 되었는지 알 수 있는데, 정작 이 표식은 뜨지 않았고.......

 

오히려 매도 명령에 걸리게 되면, 엉뚱한 것이라는 표식을 새겨 놓았습니다. 만약에 매도취소가 아니라, 앞에 있는 매도만 보고서 걸린다면, 저 엉뚱한 것 이라는 표식이 뜨게 됩니다.

 

아니나 다를까, 이 엉뚱한 것에 걸리는 것을 볼 수있었습니다. 이렇게 하는 것으로 이제 매도/매수의 미체결이 나올 시에 제대로 취소가 되지 않았는지 알 수 있었습니다. 결국 잘못 코드를 짜 놓았더니, 이래저래 손해만 많아 졌다는 생각이 듭니다만, 그래도 이런 실수를 통해서 배워나간다는 마음으로 이 프로그램을 짜고 있습니다.

+ Recent posts