AUTO TRADE
좌측 카테고리를 눌러서 주제를 선택하시기 바랍니다.
-
이번 게시글에서 다룰 내용은 반드시 데이터베이스가 구축이 되어 있어야만 이어서 조회하는 것이 가능하다. 아직 데이터베이스를 구축하지 않았다면 반드시 이전 게시글을 보면서 차트 데이터 조회를 관리하기 위한 데이터베이스를 구축하고 넘어와야만 이번 게시글을 이해하고 따라갈 수 있다. 키움증권 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 -
지난 포스팅에서 이제 Open API 관련 코드가 저장되어 있는 파일(본인의 경우 posting)에서 데이터베이스의 생성과 존재 여부를 자동으로 처리하도록 하는 방법까지 모두 확인했었다. 이번 포스팅에서는 일봉 차트 데이터를 본인의 데이터베이스로 입력하도록 한 후에 그를 확인하는 방법 그리고 불러오는 방법에 대해 다룰 계획이다. 차트 데이터 잘 불러와지는지 확인하기 이전에 차트 데이터를 DataFrame 형태로 구축하는 과정에서, 우리는 if문 아래에 print(trade.df_day_data)를 통해 차트 데이터를 불러왔었다. 기억이 나지 않는다면 해당 포스팅을 다시 보도록 하고, 그 때 작성했던 코드를 다시 가져와보면 아래와 같다. if __name__ == "__main__": app = QAppl..
키움증권 Open API + MySQL, 차트 데이터 저장하기지난 포스팅에서 이제 Open API 관련 코드가 저장되어 있는 파일(본인의 경우 posting)에서 데이터베이스의 생성과 존재 여부를 자동으로 처리하도록 하는 방법까지 모두 확인했었다. 이번 포스팅에서는 일봉 차트 데이터를 본인의 데이터베이스로 입력하도록 한 후에 그를 확인하는 방법 그리고 불러오는 방법에 대해 다룰 계획이다. 차트 데이터 잘 불러와지는지 확인하기 이전에 차트 데이터를 DataFrame 형태로 구축하는 과정에서, 우리는 if문 아래에 print(trade.df_day_data)를 통해 차트 데이터를 불러왔었다. 기억이 나지 않는다면 해당 포스팅을 다시 보도록 하고, 그 때 작성했던 코드를 다시 가져와보면 아래와 같다. if __name__ == "__main__": app = QAppl..
2021.06.06 -
오류 코드 sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2006, ) * create_engine=()을 사용할 때 또는 engine.connect()를 사용할 때 발생하는 오류로, 모든 정보를 정확하게 올바르게 입력했는데도 발생하는 오류 해결 방법 재설치 후 환경설정 셋팅에서 아래와 같이 설정
Sqlalchemy 오류 : sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2006, <NULL>)오류 코드 sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2006, ) * create_engine=()을 사용할 때 또는 engine.connect()를 사용할 때 발생하는 오류로, 모든 정보를 정확하게 올바르게 입력했는데도 발생하는 오류 해결 방법 재설치 후 환경설정 셋팅에서 아래와 같이 설정
2021.06.06 -
이번에는 지난 포스팅에서 파이썬 내에서 MySQL과 연결하는 코드를 살펴봤으니, 이제는 데이터베이스를 자동적으로 구축하는 코드에 대해 제작하고자 한다. 현재 키움증권 Open API와 관련된 코드가 포함되어 있는 파일의 파일명은 posting이고 MySQL과 연동하고 DB를 구축하는 코드는 posting_mysql 파일에 제작되어 있다. 이를 유의하고 보도록 하자. 데이터베이스 자동 생성 절차 구축하기 지난 포스팅에서 대략적으로 다루긴 했었으나 이번 포스팅에서는 함수를 제작함으로써, 그 함수 내에 제작하고자 하는 데이터베이스 이름만 입력하면 자동으로 데이터베이스가 존재하는지 확인하고 없다면 생성하도록 하는 절차를 구축하고자 한다. 이 코드를 제작하는 파일 이름은 posting_mysql이고, OpenAP..
파이썬 + MySQL, 데이터베이스 자동 처리하기이번에는 지난 포스팅에서 파이썬 내에서 MySQL과 연결하는 코드를 살펴봤으니, 이제는 데이터베이스를 자동적으로 구축하는 코드에 대해 제작하고자 한다. 현재 키움증권 Open API와 관련된 코드가 포함되어 있는 파일의 파일명은 posting이고 MySQL과 연동하고 DB를 구축하는 코드는 posting_mysql 파일에 제작되어 있다. 이를 유의하고 보도록 하자. 데이터베이스 자동 생성 절차 구축하기 지난 포스팅에서 대략적으로 다루긴 했었으나 이번 포스팅에서는 함수를 제작함으로써, 그 함수 내에 제작하고자 하는 데이터베이스 이름만 입력하면 자동으로 데이터베이스가 존재하는지 확인하고 없다면 생성하도록 하는 절차를 구축하고자 한다. 이 코드를 제작하는 파일 이름은 posting_mysql이고, OpenAP..
2021.06.06 -
지난 포스팅을 통해 설치와 설정하는 방법에 대해 다루었으므로 이번 포스팅에서는 파이썬 내에서 MySQL과 연결하는 방법과 사용방법에 대해 살펴볼 예정이다. 일단 이 MySQL은 앞전에서 다루었던 차트 데이터 조회에 대한 부분이 반드시 선행되어야만 아래의 내용들을 사용할 수 있기 때문에 아직 차트 데이터에 대한 코드 구축이 안 되어 있다면 그 글을 먼저 보고 넘어오도록 하자. 물론 차트 데이터 저장이 아닌 다른 목적으로 이용하고자 하는 경우라면 바로 읽어도 아무런 상관이 없다. 키움증권 Open API 차트 데이터 불러오기 (1) OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하..
파이썬 + MySQL, 파이썬으로 연동하기지난 포스팅을 통해 설치와 설정하는 방법에 대해 다루었으므로 이번 포스팅에서는 파이썬 내에서 MySQL과 연결하는 방법과 사용방법에 대해 살펴볼 예정이다. 일단 이 MySQL은 앞전에서 다루었던 차트 데이터 조회에 대한 부분이 반드시 선행되어야만 아래의 내용들을 사용할 수 있기 때문에 아직 차트 데이터에 대한 코드 구축이 안 되어 있다면 그 글을 먼저 보고 넘어오도록 하자. 물론 차트 데이터 저장이 아닌 다른 목적으로 이용하고자 하는 경우라면 바로 읽어도 아무런 상관이 없다. 키움증권 Open API 차트 데이터 불러오기 (1) OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하..
2021.06.03 -
지난 번에도 이야기했듯이, 이번에는 조회했던 차트 데이터를 MySQL DB에 저장하는 방법에 대해 알아보고자 한다. 이번 포스팅에서는 설치와 몇 가지 설정 방법에 대해 다룰 예정이다. MySQL 다운로드하기 MySQL 다운로드 링크 : https://www.mysql.com/downloads/ 위 링크에 들어간 다음에 아래의 사진 안에서 빨간색 네모칸 부분을 클릭하면서 진행하면 된다. MySQL Community (GPL) Downloads MySQL Community Server Download(둘 중 아무거나 선택해도 됨) No thanks, just start my download. MySQL 설치하기 다운로드 받은 파일인 mysql-installer-community 파일을 실행하게 되면 아래와 ..
파이썬 + MySQL, 설치와 설정 방법지난 번에도 이야기했듯이, 이번에는 조회했던 차트 데이터를 MySQL DB에 저장하는 방법에 대해 알아보고자 한다. 이번 포스팅에서는 설치와 몇 가지 설정 방법에 대해 다룰 예정이다. MySQL 다운로드하기 MySQL 다운로드 링크 : https://www.mysql.com/downloads/ 위 링크에 들어간 다음에 아래의 사진 안에서 빨간색 네모칸 부분을 클릭하면서 진행하면 된다. MySQL Community (GPL) Downloads MySQL Community Server Download(둘 중 아무거나 선택해도 됨) No thanks, just start my download. MySQL 설치하기 다운로드 받은 파일인 mysql-installer-community 파일을 실행하게 되면 아래와 ..
2021.06.03