본문 바로가기

전체 글3550

백테스트를 위한 유저 인터페이스의 제작-4- 안녕하세요? 이번 포스팅에서는 이제 백테스트를 하고나서, 이 결과를 저장하는 폴더를 지정하는 유저 인터페이스를 제작하고 나서, 이를 가지고서 진짜로 백테스트를 해보는 과정에 들어가는데, 그 일련의 과정을 포스팅으로 남기고자 합니다. 이제 폴더지정이라는 버튼을 누르면 작동이 될 메서드를 지정하도록 합니다. 당연 pushButton이기 때문에 클릭하면이라는 이벤트를 지정합니다. 그리고 나서, 위 스크린샷에서 나오는 saveFolderPaht_2라는 내용이 없는 빈 변수를 하나 만들어 주도록 합니다. 먼저 QFileDialog를 이용해서 getExistingDirectory()라는 함수를 사용해서 폴더를 설정하기 위한 윈도우를 가지고 오도록 하고, 그 경로를 아까 만들어 놓은 빈 변수에 저장을 하도록 해 줍니.. 2018. 12. 18.
백테스트를 위한 유저 인터페이스의 제작-3- 안녕하세요? 지난번 포스팅에서 예상하지 못한 장애에 부딪치기는 했습니다만, 그래도 이 문제를 해결하기 위해서 다양한 시도를 하였고, 이번 포스팅에서 다루고자 하는 내용도 이 이해할 수 없는 장애를 해결하기 위한 과정입니다. 혹시나 해서, 강화학습에 사용했는 chart_data라는 변수를 공유해서 생기는 문제가 아닐까 해서, 한번 새로운 변수를 만들어서 비었다는 선언을 해 주도록 합니다. 다음으로는 백테스트를 위한 주식 데이터의 준비에서 위 스크린샷과 같이 새로 만들어진 변수에 가지고 온 주식 데이터를 모두 데이터프레임으로써 넣어 주도록 선언을 해 봅니다. 그래도 여전해 문제가 발생하는 것이 있습니다. 아무래도 이번 시도는 실패가 아닌가 합니다. 그리고 나서 testingData라는 새로운 변수를 지정해 .. 2018. 12. 17.
백테스트를 위한 유저 인터페이스의 제작-2- 안녕하세요? 지난번에 이어서 계속해서 유저 인터페이스를 작성하는 과정을 기록으로 남기고자, 포스팅을 이어 가 보도록 하겠습니다. 일단 이번 포스팅에서 백테스트에 들어가기는 들어갔는데, 여기서 부터 예기치 못한 일의 연속이라고 할 수 있었습니다. 다음으로는 데이터 베이스 내에서 테이블이 있는지 없는지를 체크하기 위해서, 종목코드를 입력하는 LineEdit의 텍스트를 다 입력하고 나서, 엔터키를 누르면, 마지막에 지정되어 있는 메소드가 작동이 되도록 만들었습니다. 다음으로는 이 종목코드를 저장하기 위한 빈 메소드를 __init__()에서 선언을 해 주도록 합니다. 일단 여기서는 이전 포스팅에서 올린 내용과 마찬가지로 제대로 데이터 베이스 파일이 경로에 포함된 것이 맞는지 아닌지를 find()에서 확인을 해서.. 2018. 12. 17.
백테스트를 위한 유저 인터페이스의 제작 안녕하세요? 주말 내내 이 백테스트라고 해서 전체 데이터를 모두 강화학습에 사용하지 않고, 보통 75%를 강화학습에 사용하도록 하고, 나머지 25%를 이 강화학습으로 만든 모델이 얼마나 제대로 작동하는 지 알아보기 위해서 테스트를 하는 작업에 들어가는 데, 이제부터 일련의 포스팅은 이 백테스트를 한번에 간단하게 하도록 만드는 작업에 들어가 보고자 합니다. 먼저 위 스크린샷과 같이 유저 인터페이스를 Qt Designer에서 만들어 주도록 합니다. 일단 욕심이 과해서 한번 프로그래스바까지 만들어 놓았기는 합니다만, 결국 마지막까지 가서도 제대로 만들지 못하기는 했습니다. 그리고 나서 main.py에 가서는 먼저 백테스트를 위한 여건이 되었는지 아닌지를 보여주는 지표를 모두 hide()처리를 해서, 처음에는 .. 2018. 12. 17.