안녕하세요?

 

이번 포스팅에서는 어제 날짜로 주식 모의투자에 들어가서 그 결과를 포스팅하는데, 이번 포스팅에서는 매입가를 데이터 베이스 파일로 기억해 두었다가 매도할 때 매입가의 수수료+세금까지 계산해서 수익이 나는 경우에만 매도를 하도록 만들기 위한 시도를 했습니다.

 

먼저 위 스크린샷에서 볼 수 있듯이, 처음으로 할 일은 데이터 베이스 경로와 이름에 self를 붙여서 한번 메서드와 메서드를 넘나들 수 있도록 만들어 봅니다.

 

그리고 나서 날짜를 만들어야 하기에, 위 스크린샷와 같이 먼저 self.를 붙여서 오늘 날짜를 메서드와 메서드를 넘나들면서 사용할 수 있도록 만들어 줍니다.

 

다음으로는 매수를 할때 매입금액을 기억하게 하기 위한 과정을 적었습니다. 먼저 첫번째 박스에서는 기존의 현재가를 가지고 오는 과정이고, 두번째 빨간 박스는 바로 이전에 만들어 놓았는 매입가를 가지고 오는 박스입니다. 그리고 마지막 박스에서는 현재가와 기존의 매입가를 비교해서, 현재가가 더 높으면 그 값을 추가로 저장을 하라는 방식으로 만들었습니다.

 

다음으로는 평균회귀를 위한 py파일에 datetime을 만들어 주도록 합니다. 이렇게 하는 이유는 역시나 매도를 하고 나면 0이라는 값을 입력해 주어야 하기 때문입니다.

 

 

다음에서는 위 스크린샷에서 볼 수 있듯이 매도를 하게 되면, 먼저 오늘날짜의 데이터 베이스를 열어서, 여기서 매입가를 가지고 오도록 합니다. 그리고 나서 현재가에서 수수료&세금을 뺀 값이 매입가와 매입가의 수수료&세금을 더한 값보다 크면 바로 매도를 하라는 식으로 만들어 줍니다.

 

일단 일차적으로 프로그램이 만들어 졌기 때문에, 이번에는 위 스크린샷에서 볼 수 있듯이 먼저 대유 플러스라는 주식의 1분봉 차트를 가지고 오도록 합니다.

 

유유제약은 포기했으니, 이번에는 위 스크린샷에서 볼 수 있듯이 서울식품의 1분봉 차트를 가지고 오도록 해 봅니다. 이렇게 하는 것으로 이제 준비는 끝났습니다.

 

이제 오전 9시가 되었으니, 이번에는 위 스크린샷에서 볼 수있듯이 parent_of_pytrader를 실행시켜서, 한번 주식 모의 투자에 들어가 보도록 합니다.

 

 

그런데 하다하다 보니, 한가지 문제가 생겼습니다. 이렇게 데이터 베이스가 기존에 날짜로만 만들어 지기 때문에, 어느것이 매입가 데이터 베이스 인지 헷갈릴 수 있다는 것 입니다.

 

그래서 데이터 베이스의 이름에다가 위 스크린샷에서 볼 수 있듯이 additional이라고 붙여 주는 것으로 작업을 이어서 움직여 보도록 합니다.

 

일단 여기만이아니라 평균회귀를 위한 py파일도 한번 위 스크린샷과 같이 만들어 주도록 해서, 일에 차질이 없도록 만들어 줍니다.

 

그리고 나서 다음으로는 만약에 매도가 일어났다면, 매입가가 0으로 입력이 되도록 만들어 주어서 한번 작업이 이어지도록 만들어 줍니다.

 

그런데 계속해서 아무런 반응이 없어서, 하는 수 없이 위 스크린샷에서 볼 수 있듯이 매수만 하도록 만들어서 한번 테스트를 해 보고자 합니다.

 

그러자 에러가 나오는 것을 확인할 수 있었습니다. 에러의 원인은 데이터 베이스 파일(*.db)가 없는데 열라고 해서 생기는 에러입니다.

 

그래서 한번 데이터 베이스 파일에서 테이블이 존재 하는지 않하는지를 알아보기 위해서 SELECT count(*) FROM sqlite_master WHERE type = 'table' AND name ' ' 이라는 SQL쿼리를 입력해서 찾아보고, 그 값을 fetchone()[0]으로 1이라고 나오면 테이블이 있는 것 입니다.

 

이렇게 해서 제 의도대로 움직이게 만들어 주는 데는 성공했습니다. 이제 남은 시간이 얼마 없기는 하지만, 그래도 모의 주식투자에 들어가 보도록 합니다.

 

그런데 너무 늦게 작업을 한 탓인가요? 16일 하루동안은 아무런 액션도 취하지 않은 것을 확인할 수 있었습니다. 아무래도 개선이 필요한 것 같기는 합니다만, 일단 목요일의 주식 모의투자는 여기서 끝내도록 하고, 다음으로는 금요일 오늘의 모의 주식투자를 준비해 봐야 겠습니다.

+ Recent posts