본문 바로가기

데이터 베이스42

백테스트를 위한 유저 인터페이스의 제작-2- 안녕하세요? 지난번에 이어서 계속해서 유저 인터페이스를 작성하는 과정을 기록으로 남기고자, 포스팅을 이어 가 보도록 하겠습니다. 일단 이번 포스팅에서 백테스트에 들어가기는 들어갔는데, 여기서 부터 예기치 못한 일의 연속이라고 할 수 있었습니다. 다음으로는 데이터 베이스 내에서 테이블이 있는지 없는지를 체크하기 위해서, 종목코드를 입력하는 LineEdit의 텍스트를 다 입력하고 나서, 엔터키를 누르면, 마지막에 지정되어 있는 메소드가 작동이 되도록 만들었습니다. 다음으로는 이 종목코드를 저장하기 위한 빈 메소드를 __init__()에서 선언을 해 주도록 합니다. 일단 여기서는 이전 포스팅에서 올린 내용과 마찬가지로 제대로 데이터 베이스 파일이 경로에 포함된 것이 맞는지 아닌지를 find()에서 확인을 해서.. 2018. 12. 17.
RLTrader의 유저 인터페이스를 만드는 작업-11- 안녕하세요? 이번 포스팅에서는 지난번에 데이터를 제대로 가지고 왔으니까, 이번에는 원하는 포인트까지만의 데이터-학습데이터로 지정된 데이터만을 가지고 오는 작업을 포스팅 해 보고자 합니다. 먼저 일단 지난번에 주석처리를 되었던 부분중에 하나를 주석처리 해제해 보도록 합니다. 일단 메모리 상에서 데이터 프레임객체로 데이터를 가지고 왔는데, 실제로 이 후의 부분은 data_manager에서 처리가 되는지 여부를 알아보기 위해서 입니다. 일단 제대로 데이터 전처리 과정이 일어나는 것 까지는 확인을 할 수 있었습니다. 그래서 이걸로 볼 때, 중간에 학습 데이터로 끊어 주기만 하면 되는 것으로 일단 생각이 들었습니다. 그래서 main.py에서 위 스크린샷처럼 cutting_point라고 해서, 유저 인터페이스에서 .. 2018. 12. 15.
RLTrader의 유저 인터페이스를 만드는 작업-10- 안녕하세요? 이번 포스팅에서는 이제 데이터 베이스의 파일에서 진짜로 데이터를 가지고 와서, 한번 강화학습에 사용하기 위한 단계를 밟아야 합니다. 그래서 이번 포스팅에서는 그 단계를 어떻게 밟아 갔는지를 포스팅 하고자 합니다. 그전에 일단 위 스크린샷처럼 클래스 변수로 trigger_of_condition 이라는 변수를 주어서, 일종의 조건이 하나하나 만족이 될 때마다 켜지는 트리거로 활용을 하도록 합니다. 먼저 제대로 데이터 베이스 파일이 선택이 되면 첫번째 트리거가 False에서 True로 바뀌도록 코드를 짜 주도록 합니다. 이렇게 하는 식으로 계속 조건이 만족이 되면 트리거가 True가 됩니다. 그리고 나서, Selection_of_training_data_set()메소드에서 각각의 조건이 만족한 다.. 2018. 12. 15.
RLTrader의 유저 인터페이스를 만드는 작업-9- 안녕하세요? 지난번 포스팅에서는 SQL 쿼리가 안 되어서 어떻게 애를 애를 먹었습니다만, 아무튼 그 놈의 그 ' ' 하나를 붙이지 않았다는 이유로 이렇게 애를 먹었다는 사실을 알고는 조금은 힘이 빠지기는 빠졌습니다. 그래서 늦어진 만큼 작업을 빨리 진행하도록 해 보겠습니다. 먼저 위 스크린샷에 나오는 것처럼 SELECT count(*) FROM '테이블이름' 이라는 쿼리를 사용해 보도록 합니다. 이 쿼리는 테이블 안에 있는 모든 열(row)을 읽어 들이는 역할을 합니다. 실제로 숫자가 마지막 값으로 나오는 것을 볼 수 있는데, 이게 진짜로 데이터 베이스 살의 열 갯수-모든 열의 갯수와 맞는지를 살펴봐야 합니다. DB Browser에서 한번 확인을 해 보니까, 실제로 일치한다는 것을 확인할 수 있었습니다... 2018. 12. 15.