분류 전체보기
-
편집 단축키 기능 단축키 설명 칸 띄우기 tab 열을 오른쪽으로 이동할 수 있으며, 코드를 드래그해서 누를 경우 코드 전체가 동작 칸 줄이기 Shift + tab 열을 왼쪽으로 이동할 수 있으며, 드래그해서 누를 경우 코드 전체가 동작 에워싸기 Ctrl + Alt + T 특정 코드 아래 부분을 if문, try문 등으로 묶을 수 있도록 함 주석 처리 Ctrl + / 드래그된 부분 전체를 주석(#) 처리 함 선택 라인 복제 Ctrl + D 커서가 있는 라인 전체를 그대로 복사·붙여넣기함 선택 라인 삭제 Ctrl + Y 커서가 있는 라인 전체를 삭제함 라인을 위로 Alt + Shift + ↑ 커서가 있는 라인을 한 줄 위로 이동 라인을 아래로 Alt + Shift + ↓ 커서가 있는 라인을 한 줄 아래로 이동..
PyCharm 단축키편집 단축키 기능 단축키 설명 칸 띄우기 tab 열을 오른쪽으로 이동할 수 있으며, 코드를 드래그해서 누를 경우 코드 전체가 동작 칸 줄이기 Shift + tab 열을 왼쪽으로 이동할 수 있으며, 드래그해서 누를 경우 코드 전체가 동작 에워싸기 Ctrl + Alt + T 특정 코드 아래 부분을 if문, try문 등으로 묶을 수 있도록 함 주석 처리 Ctrl + / 드래그된 부분 전체를 주석(#) 처리 함 선택 라인 복제 Ctrl + D 커서가 있는 라인 전체를 그대로 복사·붙여넣기함 선택 라인 삭제 Ctrl + Y 커서가 있는 라인 전체를 삭제함 라인을 위로 Alt + Shift + ↑ 커서가 있는 라인을 한 줄 위로 이동 라인을 아래로 Alt + Shift + ↓ 커서가 있는 라인을 한 줄 아래로 이동..
2021.06.17 -
파이참 내에서는 파이썬 IDLE이나 아나콘다의 Anaconda Prompt에서 "pip install --' 명령어를 통해 모듈을 설치하는 것과 달리 파이참 내에서 직접적으로 모듈들을 검색하고 설치하고 사용할 수 있다. 모듈 설치 방법파이참을 실행한 후에, 왼쪽 상단에 있는 [file] - [Setting] 메뉴로 들어간 후에, 본인이 만든 프로젝트의 이름(본인의 경우 Project:trading이라고 되어 있음)을 클릭하면 [Python Interpreter] 메뉴가 있다. 해당 메뉴틀 클릭해서 들어가자.이제 [Python Interpreter] 메뉴를 클릭하게 되면 오른쪽과 같은 화면이 나오게 되는데, 그 안에 적혀있는 것들이 바로 모듈(Packages)이며 모듈의 버전도 모듈마다 하나하나 적혀 있는..
PyCharm 모듈 설치 방법파이참 내에서는 파이썬 IDLE이나 아나콘다의 Anaconda Prompt에서 "pip install --' 명령어를 통해 모듈을 설치하는 것과 달리 파이참 내에서 직접적으로 모듈들을 검색하고 설치하고 사용할 수 있다. 모듈 설치 방법파이참을 실행한 후에, 왼쪽 상단에 있는 [file] - [Setting] 메뉴로 들어간 후에, 본인이 만든 프로젝트의 이름(본인의 경우 Project:trading이라고 되어 있음)을 클릭하면 [Python Interpreter] 메뉴가 있다. 해당 메뉴틀 클릭해서 들어가자.이제 [Python Interpreter] 메뉴를 클릭하게 되면 오른쪽과 같은 화면이 나오게 되는데, 그 안에 적혀있는 것들이 바로 모듈(Packages)이며 모듈의 버전도 모듈마다 하나하나 적혀 있는..
2021.06.17 -
사실 이 내용은 Open API 카테고리에 작성을 해야 하나, 다른 카테고리에 작성을 해야 하나 고민이 많았는데, 그래도 키움증권 Open API를 통해 차트 데이터를 불러오고 그 데이터를 저장한 분들이 백테스팅에 대한 관심을 갖지 않을까 싶어서 이 카테고리에 작성하게 되었다. 사실 본인도 아직은 백테스팅 전략을 코딩하고 있고 아직도 수많은 오류에 부딪히고 있는 상황인데, 여태까지 겪었던 몇 가지 오류(?) 상황들에 대해 이야기함으로써 다른 분들은 조금이나마 적은 시행 착오를 거치길 바라는 마음에 작성하게 되었다. 일단 정말 기본적인 이야기지만, 백테스팅은 본인이 해당 전략을 적용할 종목을 찾고 나서 그 종목에 대한 거래 전략을 적용해보고 그 결과를 바탕으로 거래 전략을 수정하는 순서로 이루어진다. 거래..
백테스팅 전략 수립 시 주의사항사실 이 내용은 Open API 카테고리에 작성을 해야 하나, 다른 카테고리에 작성을 해야 하나 고민이 많았는데, 그래도 키움증권 Open API를 통해 차트 데이터를 불러오고 그 데이터를 저장한 분들이 백테스팅에 대한 관심을 갖지 않을까 싶어서 이 카테고리에 작성하게 되었다. 사실 본인도 아직은 백테스팅 전략을 코딩하고 있고 아직도 수많은 오류에 부딪히고 있는 상황인데, 여태까지 겪었던 몇 가지 오류(?) 상황들에 대해 이야기함으로써 다른 분들은 조금이나마 적은 시행 착오를 거치길 바라는 마음에 작성하게 되었다. 일단 정말 기본적인 이야기지만, 백테스팅은 본인이 해당 전략을 적용할 종목을 찾고 나서 그 종목에 대한 거래 전략을 적용해보고 그 결과를 바탕으로 거래 전략을 수정하는 순서로 이루어진다. 거래..
2021.06.16 -
Qt Essentials 모듈명 내용 Qt Core 다른 모듈에서 사용되는 비그래픽적 클래스 중 필수적인 요소만 사용하는 클래스 Qt GUI 그래픽 인터페이스를 사용하기 위한 기본적인 클래스 Qt Multimedia 음성, 영상 등을 사용하기 위한 클래스 Qt Multimedia Widgets 멀티미디어 기능을 사용하기 위한 위젯 기반의 클래스 Qt Network 더 쉽고 편리한 네트워크 프로그래밍을 위한 클래스 Qt QML QML이나 자바스크립트 언어를 사용하기 위한 클래스 Qt Quick 동적인 유저 인터페이스를 구축하기 위한 기반 Qt Quick Controls 데스크탑을 위한 유저 인터페이스를 제작하기 위한 조금 더 가벼운 QML 형태를 제공함. (간단한 스타일링 구조를 사용하기 때문에 효율적임)..
QT Designer 내 모듈Qt Essentials 모듈명 내용 Qt Core 다른 모듈에서 사용되는 비그래픽적 클래스 중 필수적인 요소만 사용하는 클래스 Qt GUI 그래픽 인터페이스를 사용하기 위한 기본적인 클래스 Qt Multimedia 음성, 영상 등을 사용하기 위한 클래스 Qt Multimedia Widgets 멀티미디어 기능을 사용하기 위한 위젯 기반의 클래스 Qt Network 더 쉽고 편리한 네트워크 프로그래밍을 위한 클래스 Qt QML QML이나 자바스크립트 언어를 사용하기 위한 클래스 Qt Quick 동적인 유저 인터페이스를 구축하기 위한 기반 Qt Quick Controls 데스크탑을 위한 유저 인터페이스를 제작하기 위한 조금 더 가벼운 QML 형태를 제공함. (간단한 스타일링 구조를 사용하기 때문에 효율적임)..
2021.06.13 -
지난 게시글에서는 특정 종목의 종목코드가 if_savepoint 데이터베이스 안에 저장되어 있는지를 판단하는 코드를 제작하였고, 이번 게시글에서 if문과 else문 아래 부분의 코드 제작을 마무리할 예정이다. if문은 filtered_code 안에 있는 종목이 item_savepoint 데이터베이스 안에 있는 경우이고, else문은 반대로 filtered_code안에는 있지만 item_savepoint 데이터베이스 안에는 없는 종목이다. 해당 종목의 날짜 불러오기 일단 filtered_code() 안에 있는 종목이 item_savepoint 데이터베이스에 있는 경우에는 해당 종목 코드와 함께 저장된 저장 일자를 불러와야 한다. 그러기 위해서는 SELECT 명령어와 WHERE 명령어를 함께 사용해서 불러와..
키움증권 Open API - 차트 데이터 이어서 조회하기 (2)지난 게시글에서는 특정 종목의 종목코드가 if_savepoint 데이터베이스 안에 저장되어 있는지를 판단하는 코드를 제작하였고, 이번 게시글에서 if문과 else문 아래 부분의 코드 제작을 마무리할 예정이다. if문은 filtered_code 안에 있는 종목이 item_savepoint 데이터베이스 안에 있는 경우이고, else문은 반대로 filtered_code안에는 있지만 item_savepoint 데이터베이스 안에는 없는 종목이다. 해당 종목의 날짜 불러오기 일단 filtered_code() 안에 있는 종목이 item_savepoint 데이터베이스에 있는 경우에는 해당 종목 코드와 함께 저장된 저장 일자를 불러와야 한다. 그러기 위해서는 SELECT 명령어와 WHERE 명령어를 함께 사용해서 불러와..
2021.06.09 -
이번 게시글에서 다룰 내용은 반드시 데이터베이스가 구축이 되어 있어야만 이어서 조회하는 것이 가능하다. 아직 데이터베이스를 구축하지 않았다면 반드시 이전 게시글을 보면서 차트 데이터 조회를 관리하기 위한 데이터베이스를 구축하고 넘어와야만 이번 게시글을 이해하고 따라갈 수 있다. 키움증권 Open API - 차트 데이터 관리 DB 제작 (2) 지난 게시글에서 item_savepoint라는 데이터베이스 안에 item_savepoint라는 테이블을 생성한 채로 마무리했으니 이번 게시글에서는 그 내용에 이어서 item_savepoint라는 테이블 안에 종목 코드들을 입력 trustyou.tistory.com item_savepoint 데이터베이스 불러오기 본격적인 내용을 시작하기 전에 앞서, 기본적으로 우리가 ..
키움증권 Open API - 차트 데이터 이어서 조회하기 (1)이번 게시글에서 다룰 내용은 반드시 데이터베이스가 구축이 되어 있어야만 이어서 조회하는 것이 가능하다. 아직 데이터베이스를 구축하지 않았다면 반드시 이전 게시글을 보면서 차트 데이터 조회를 관리하기 위한 데이터베이스를 구축하고 넘어와야만 이번 게시글을 이해하고 따라갈 수 있다. 키움증권 Open API - 차트 데이터 관리 DB 제작 (2) 지난 게시글에서 item_savepoint라는 데이터베이스 안에 item_savepoint라는 테이블을 생성한 채로 마무리했으니 이번 게시글에서는 그 내용에 이어서 item_savepoint라는 테이블 안에 종목 코드들을 입력 trustyou.tistory.com item_savepoint 데이터베이스 불러오기 본격적인 내용을 시작하기 전에 앞서, 기본적으로 우리가 ..
2021.06.08 -
지난 게시글에서 item_savepoint라는 데이터베이스 안에 item_savepoint라는 테이블을 생성한 채로 마무리했으니 이번 게시글에서는 그 내용에 이어서 item_savepoint라는 테이블 안에 종목 코드들을 입력하고 차트 데이터를 저장한 경우에는 저장이 된 날짜를 입력하도록 하는 방법에 대해 알아볼 예정이다. 종목코드 입력하기 item_savepoint 안에는 'code'와 'sv_day'라는 두 개의 칼럼이 있는데, 그 중 code라는 부분에 종목 코드를 입력하기 위한 코드는 어떤 구조를 갖추고 있는지 알아보자. 결론부터 말하자면, 앞의 게시글에서도 여러 번 사용했었지만 cur.execute()라는 형태를 이용하되, 그 안에서 사용할 명령어는 INSERT이다. 즉, 무언갈 생성할 때에는 ..
키움증권 Open API - 차트 데이터 관리 DB 제작 (2)지난 게시글에서 item_savepoint라는 데이터베이스 안에 item_savepoint라는 테이블을 생성한 채로 마무리했으니 이번 게시글에서는 그 내용에 이어서 item_savepoint라는 테이블 안에 종목 코드들을 입력하고 차트 데이터를 저장한 경우에는 저장이 된 날짜를 입력하도록 하는 방법에 대해 알아볼 예정이다. 종목코드 입력하기 item_savepoint 안에는 'code'와 'sv_day'라는 두 개의 칼럼이 있는데, 그 중 code라는 부분에 종목 코드를 입력하기 위한 코드는 어떤 구조를 갖추고 있는지 알아보자. 결론부터 말하자면, 앞의 게시글에서도 여러 번 사용했었지만 cur.execute()라는 형태를 이용하되, 그 안에서 사용할 명령어는 INSERT이다. 즉, 무언갈 생성할 때에는 ..
2021.06.08 -
지난 게시글에서는 filtered_code() 함수를 통해 불러온 종목 코드들을 바탕으로 전체 종목의 일봉 차트 데이터를 조회하는 부분까지 알아봤다. 이번 게시글에서 알아볼 내용은 바로 차트 데이터를 DB에 저장하고 그를 어떻게 관리해야 하는지 등에 대한 방법론적인 부분에 대해 다루어볼 예정이다. 차트 데이터 DB에 저장하기 지난 시간에 제작했던 코드를 보면 for code in code_list:라고 제작한 부분이 있는데, 이는 code_list 안에 있는 ['000020', '000040', '000050' ···]와 같은 값들 중에서 code = '000020'이라는 가정 하에 코드를 실행하고, 그 다음 번 반복에서는 code = '000040'이라는 가정 하에 코드를 실행하는 방식으로 동작한다. ..
키움증권 Open API - 차트 데이터 관리 DB 제작 (1)지난 게시글에서는 filtered_code() 함수를 통해 불러온 종목 코드들을 바탕으로 전체 종목의 일봉 차트 데이터를 조회하는 부분까지 알아봤다. 이번 게시글에서 알아볼 내용은 바로 차트 데이터를 DB에 저장하고 그를 어떻게 관리해야 하는지 등에 대한 방법론적인 부분에 대해 다루어볼 예정이다. 차트 데이터 DB에 저장하기 지난 시간에 제작했던 코드를 보면 for code in code_list:라고 제작한 부분이 있는데, 이는 code_list 안에 있는 ['000020', '000040', '000050' ···]와 같은 값들 중에서 code = '000020'이라는 가정 하에 코드를 실행하고, 그 다음 번 반복에서는 code = '000040'이라는 가정 하에 코드를 실행하는 방식으로 동작한다. ..
2021.06.08 -
이번 게시글에서는 이전에 제작했던 filtered_code() 함수와 rq_chart_data 함수를 이용해서 전체 종목의 종목 코드를 조회한 후에 해당 종목을 데이터베이스에 저장하는 방법에 대해 포스팅하고자 한다. filtered_code() 함수 보완 여느 때와 마찬가지로 if문 아래에 다음과 같은 코드를 제작함으로써 필터링을 거친 종목 코드들을 불러올 수 있다. 하지만 지난 포스팅에서 제작하다 만 부분이 조금 있기 때문에, 이번 포스팅에서 마저 마무리 제작하고 for문을 돌리도록 하겠다. 2021년 6월 기준, 우선주 또는 ETN 등의 종목을 걸러내는 방법은 아래와 같다. if 검색할 단어 in 대상 단어: 예를 들어 우선주를 걸러내고 싶다면 if "우" in codename과 같은 형태로, 스팩주..
키움증권 Open API - 전 종목 차트 자동 조회하기이번 게시글에서는 이전에 제작했던 filtered_code() 함수와 rq_chart_data 함수를 이용해서 전체 종목의 종목 코드를 조회한 후에 해당 종목을 데이터베이스에 저장하는 방법에 대해 포스팅하고자 한다. filtered_code() 함수 보완 여느 때와 마찬가지로 if문 아래에 다음과 같은 코드를 제작함으로써 필터링을 거친 종목 코드들을 불러올 수 있다. 하지만 지난 포스팅에서 제작하다 만 부분이 조금 있기 때문에, 이번 포스팅에서 마저 마무리 제작하고 for문을 돌리도록 하겠다. 2021년 6월 기준, 우선주 또는 ETN 등의 종목을 걸러내는 방법은 아래와 같다. if 검색할 단어 in 대상 단어: 예를 들어 우선주를 걸러내고 싶다면 if "우" in codename과 같은 형태로, 스팩주..
2021.06.08 -
포스팅을 시작하기 전에 앞서, 파이썬(파이참)과 qt designer 프로그램을 통해 제작한 GUI를 연결하는 방법, 그리고 화면 만들기와 버튼 만들기는 다른 포스팅에서 작성했으니 해당 카테고리에서는 해당 내용은 제외하도록 하겠다. Qt Designer의 사용 방법과 연결 Qt Designer 사용 방법 지난 글에서 Anaconda Prompt를 이용하여 Pyqt를 설치했고, 파이썬이 설치된 경로에서 Designer 프로그램의 바로가기 아이콘을 바탕화면에 만들었다. 이제 그 바로가기 파일을 실행 trustyou.tistory.com 이번 포스팅에서는 커넥팅(Connecting)에 대해 다루어보고자 한다. 이는 단순하게 특정 동작 이후에 특정 동작이 이루어지도록 연결하는 것으로, 예를 들면 Open API..
QT Designer - 커넥팅 이벤트포스팅을 시작하기 전에 앞서, 파이썬(파이참)과 qt designer 프로그램을 통해 제작한 GUI를 연결하는 방법, 그리고 화면 만들기와 버튼 만들기는 다른 포스팅에서 작성했으니 해당 카테고리에서는 해당 내용은 제외하도록 하겠다. Qt Designer의 사용 방법과 연결 Qt Designer 사용 방법 지난 글에서 Anaconda Prompt를 이용하여 Pyqt를 설치했고, 파이썬이 설치된 경로에서 Designer 프로그램의 바로가기 아이콘을 바탕화면에 만들었다. 이제 그 바로가기 파일을 실행 trustyou.tistory.com 이번 포스팅에서는 커넥팅(Connecting)에 대해 다루어보고자 한다. 이는 단순하게 특정 동작 이후에 특정 동작이 이루어지도록 연결하는 것으로, 예를 들면 Open API..
2021.06.07 -
기본적으로 키움증권에서 일봉 데이터를 요청할 때 또는 데이터베이스에서 데이터를 조회하고자 할 때, 특정 일자를 대입해야 하는 경우들이 있는데 특히 데이터베이스에서 데이터를 조회하고자 할 경우에는 다음과 같은 상황에서 오류가 발생할 수 있다. 자정 12시가 넘어 오늘 날짜는 1월 1일인데, 저장되어 있는 데이터의 가장 최신 일자는 12월 31일인 경우 오후 4시 장마감 전이라 오늘 데이터는 굳이 저장하지 않고 싶은데 지 맘대로 오늘 날짜를 집어 넣는 경우 무엇보다도 주식 시장의 거래일은 평일만 열린다는 특징이 있기 때문에 단순하게 몇 가지 모듈을 통해 오늘 날짜를 얻어와서 그를 바탕으로 정보 조회를 요청한다면 주말에는 서버에서 데이터가 없다는 신호를 보내주는 오류가 발생하게 된다. 그렇기 때문에 당일이 주..
거래일 기준 최신 일자 조회하기기본적으로 키움증권에서 일봉 데이터를 요청할 때 또는 데이터베이스에서 데이터를 조회하고자 할 때, 특정 일자를 대입해야 하는 경우들이 있는데 특히 데이터베이스에서 데이터를 조회하고자 할 경우에는 다음과 같은 상황에서 오류가 발생할 수 있다. 자정 12시가 넘어 오늘 날짜는 1월 1일인데, 저장되어 있는 데이터의 가장 최신 일자는 12월 31일인 경우 오후 4시 장마감 전이라 오늘 데이터는 굳이 저장하지 않고 싶은데 지 맘대로 오늘 날짜를 집어 넣는 경우 무엇보다도 주식 시장의 거래일은 평일만 열린다는 특징이 있기 때문에 단순하게 몇 가지 모듈을 통해 오늘 날짜를 얻어와서 그를 바탕으로 정보 조회를 요청한다면 주말에는 서버에서 데이터가 없다는 신호를 보내주는 오류가 발생하게 된다. 그렇기 때문에 당일이 주..
2021.06.07 -
사실 지난 포스팅들을 바탕으로 대부분의 이벤트 처리가 가능하고 본인 역시 스스로 제작해보길 바라는 마음을 갖고 있긴 하지만 사실 또 제작하다가 오류가 발생했는데 어디서 오류가 발생한 건지, 어떻게 제작하는 것이 올바르게 작동하는 것인지 잘 모를 때에는 누군가의 도움이 필요하기 때문에 이번 포스팅도 제작하게 되었다. 차트 데이터 요청 함수 제작하기앞전 포스팅에서 제작했던 일봉 차트의 경우에는 def rq_chart_data로 제작했으나 분봉은 일봉과는 다른 값을 전송해야 하기 때문에 분봉 차트 조회는 별도의 함수를 제작함으로써 조회 요청을 할 수 있다. 즉 일봉 차트 조회의 경우에는 종목코드, 기준일자, 수정주가구분을 입력했지만 분봉 차트 조회의 경우에는 종목코드, 틱범위, 수정주가구분을 입력해주어야 한..
키움증권 Open API - 3분봉 차트 조회사실 지난 포스팅들을 바탕으로 대부분의 이벤트 처리가 가능하고 본인 역시 스스로 제작해보길 바라는 마음을 갖고 있긴 하지만 사실 또 제작하다가 오류가 발생했는데 어디서 오류가 발생한 건지, 어떻게 제작하는 것이 올바르게 작동하는 것인지 잘 모를 때에는 누군가의 도움이 필요하기 때문에 이번 포스팅도 제작하게 되었다. 차트 데이터 요청 함수 제작하기앞전 포스팅에서 제작했던 일봉 차트의 경우에는 def rq_chart_data로 제작했으나 분봉은 일봉과는 다른 값을 전송해야 하기 때문에 분봉 차트 조회는 별도의 함수를 제작함으로써 조회 요청을 할 수 있다. 즉 일봉 차트 조회의 경우에는 종목코드, 기준일자, 수정주가구분을 입력했지만 분봉 차트 조회의 경우에는 종목코드, 틱범위, 수정주가구분을 입력해주어야 한..
2021.06.07