파이썬
-
증권사 Open API는 일반적으로 32bit에서 정상적으로 작동하기 때문에 62bit를 사용하고 있다면 오류가 발생할 수 있다. 그렇기 때문에 Open API를 실행하기 전에 앞서 bit를 확인해주는 코드를 입력할 수 있다. import sys is_64bits = sys.maxsize > 2**32 if is_64bits: print("64비트입니다.") else: print("32비트입니다.") 만약 32비트가 아닌 64비트를 사용하고 있다면 32비트를 사용해주어야 하는데, 32비트로 변경하는 방법은 사용하고 이쓰는 프로그램이 어떤 것인가에 따라 다를 수밖에 없다. 가령, 아나콘다를 사용한다면 아나콘다를 통해 가상환경을 생성하는 방법을 검색해서 가상환경을 설정한 후 파이참 인터프리터를 32비트 파이..
파이썬 bit 확인하기증권사 Open API는 일반적으로 32bit에서 정상적으로 작동하기 때문에 62bit를 사용하고 있다면 오류가 발생할 수 있다. 그렇기 때문에 Open API를 실행하기 전에 앞서 bit를 확인해주는 코드를 입력할 수 있다. import sys is_64bits = sys.maxsize > 2**32 if is_64bits: print("64비트입니다.") else: print("32비트입니다.") 만약 32비트가 아닌 64비트를 사용하고 있다면 32비트를 사용해주어야 하는데, 32비트로 변경하는 방법은 사용하고 이쓰는 프로그램이 어떤 것인가에 따라 다를 수밖에 없다. 가령, 아나콘다를 사용한다면 아나콘다를 통해 가상환경을 생성하는 방법을 검색해서 가상환경을 설정한 후 파이참 인터프리터를 32비트 파이..
2022.02.12 -
이전 게시글에서는 차트 데이터를 가공하는 코드를 구축하고 그를 저장하는 방법에 대해 알아보았다. 따라서 이번 포스팅에서는 하루 하루를 돌면서 매수 조건을 충족시키는 종목 리스트를 구하고, 그를 바탕으로 거래를 진행하는 방법에 대해 살펴볼 예정이다. 특정 일자에 매수 조건을 충족하는 종목 선정하기 우리는 이전에 백테스팅을 하기 위해 start_date와 end_date, 그리고 all_range라는 세 개의 일자 변수를 설정했고, 이 일자 변수를 기준으로 해서 백테스팅을 진행할 계획을 수립했다. 그렇다면 start_date부터 시작해서 하루하루를 더하며 거래를 할 종목들을 찾아야 하는데, 종목을 찾기 위해서는 그 전에 매수 조건을 설정해야 한다. 매수 조건의 경우 이전 게시글에서 이동평균선을 구축했으니 해..
백테스팅 구축 (3) - 일자 계산하기이전 게시글에서는 차트 데이터를 가공하는 코드를 구축하고 그를 저장하는 방법에 대해 알아보았다. 따라서 이번 포스팅에서는 하루 하루를 돌면서 매수 조건을 충족시키는 종목 리스트를 구하고, 그를 바탕으로 거래를 진행하는 방법에 대해 살펴볼 예정이다. 특정 일자에 매수 조건을 충족하는 종목 선정하기 우리는 이전에 백테스팅을 하기 위해 start_date와 end_date, 그리고 all_range라는 세 개의 일자 변수를 설정했고, 이 일자 변수를 기준으로 해서 백테스팅을 진행할 계획을 수립했다. 그렇다면 start_date부터 시작해서 하루하루를 더하며 거래를 할 종목들을 찾아야 하는데, 종목을 찾기 위해서는 그 전에 매수 조건을 설정해야 한다. 매수 조건의 경우 이전 게시글에서 이동평균선을 구축했으니 해..
2021.07.04 -
기본적으로 키움증권에서 일봉 데이터를 요청할 때 또는 데이터베이스에서 데이터를 조회하고자 할 때, 특정 일자를 대입해야 하는 경우들이 있는데 특히 데이터베이스에서 데이터를 조회하고자 할 경우에는 다음과 같은 상황에서 오류가 발생할 수 있다. 자정 12시가 넘어 오늘 날짜는 1월 1일인데, 저장되어 있는 데이터의 가장 최신 일자는 12월 31일인 경우 오후 4시 장마감 전이라 오늘 데이터는 굳이 저장하지 않고 싶은데 지 맘대로 오늘 날짜를 집어 넣는 경우 무엇보다도 주식 시장의 거래일은 평일만 열린다는 특징이 있기 때문에 단순하게 몇 가지 모듈을 통해 오늘 날짜를 얻어와서 그를 바탕으로 정보 조회를 요청한다면 주말에는 서버에서 데이터가 없다는 신호를 보내주는 오류가 발생하게 된다. 그렇기 때문에 당일이 주..
거래일 기준 최신 일자 조회하기기본적으로 키움증권에서 일봉 데이터를 요청할 때 또는 데이터베이스에서 데이터를 조회하고자 할 때, 특정 일자를 대입해야 하는 경우들이 있는데 특히 데이터베이스에서 데이터를 조회하고자 할 경우에는 다음과 같은 상황에서 오류가 발생할 수 있다. 자정 12시가 넘어 오늘 날짜는 1월 1일인데, 저장되어 있는 데이터의 가장 최신 일자는 12월 31일인 경우 오후 4시 장마감 전이라 오늘 데이터는 굳이 저장하지 않고 싶은데 지 맘대로 오늘 날짜를 집어 넣는 경우 무엇보다도 주식 시장의 거래일은 평일만 열린다는 특징이 있기 때문에 단순하게 몇 가지 모듈을 통해 오늘 날짜를 얻어와서 그를 바탕으로 정보 조회를 요청한다면 주말에는 서버에서 데이터가 없다는 신호를 보내주는 오류가 발생하게 된다. 그렇기 때문에 당일이 주..
2021.06.07 -
지난 포스팅을 통해 설치와 설정하는 방법에 대해 다루었으므로 이번 포스팅에서는 파이썬 내에서 MySQL과 연결하는 방법과 사용방법에 대해 살펴볼 예정이다. 일단 이 MySQL은 앞전에서 다루었던 차트 데이터 조회에 대한 부분이 반드시 선행되어야만 아래의 내용들을 사용할 수 있기 때문에 아직 차트 데이터에 대한 코드 구축이 안 되어 있다면 그 글을 먼저 보고 넘어오도록 하자. 물론 차트 데이터 저장이 아닌 다른 목적으로 이용하고자 하는 경우라면 바로 읽어도 아무런 상관이 없다. 키움증권 Open API 차트 데이터 불러오기 (1) OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하..
파이썬 + MySQL, 파이썬으로 연동하기지난 포스팅을 통해 설치와 설정하는 방법에 대해 다루었으므로 이번 포스팅에서는 파이썬 내에서 MySQL과 연결하는 방법과 사용방법에 대해 살펴볼 예정이다. 일단 이 MySQL은 앞전에서 다루었던 차트 데이터 조회에 대한 부분이 반드시 선행되어야만 아래의 내용들을 사용할 수 있기 때문에 아직 차트 데이터에 대한 코드 구축이 안 되어 있다면 그 글을 먼저 보고 넘어오도록 하자. 물론 차트 데이터 저장이 아닌 다른 목적으로 이용하고자 하는 경우라면 바로 읽어도 아무런 상관이 없다. 키움증권 Open API 차트 데이터 불러오기 (1) OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하..
2021.06.03 -
계산을 위한 코드를 제작하기에 앞서 실제 주식 시장 내에서는 상승률을 계산하는 기준으로 전일 종가를 사용한다. 따라서 코드 작성 시에는 특정 값의 비교를 하는 기준은 전일 종가가 되어야 한다. 아래의 코드처럼 함수의 이름에 있는 vix는 변동성을 의미하며, cal은 계산을 의미하는 calculator의 약자이다. 변동성을 계산하기 위한 것으로 cal_vix라는 이름을 지었다. 이 함수로 받아올 변수로는 low(당일 저가), high(당일 고가), yester_close(전일 종가) 세 개를 설정했다. [참고] low는 입력하지 않아도 된다. def cal_vix(low, high, yester_close): 그렇다면 이제 전일 종가와 당일 고가를 기준으로 변동성을 분석해보도록 하자. 상승률을 계산하는 방..
파이썬으로 당일 상승률 계산하기계산을 위한 코드를 제작하기에 앞서 실제 주식 시장 내에서는 상승률을 계산하는 기준으로 전일 종가를 사용한다. 따라서 코드 작성 시에는 특정 값의 비교를 하는 기준은 전일 종가가 되어야 한다. 아래의 코드처럼 함수의 이름에 있는 vix는 변동성을 의미하며, cal은 계산을 의미하는 calculator의 약자이다. 변동성을 계산하기 위한 것으로 cal_vix라는 이름을 지었다. 이 함수로 받아올 변수로는 low(당일 저가), high(당일 고가), yester_close(전일 종가) 세 개를 설정했다. [참고] low는 입력하지 않아도 된다. def cal_vix(low, high, yester_close): 그렇다면 이제 전일 종가와 당일 고가를 기준으로 변동성을 분석해보도록 하자. 상승률을 계산하는 방..
2021.05.06 -
사실 클래스는 파이썬에서 정말 많은 역할을 담당하고 있기도 하지만, 무엇보다도 증권사에서 배포하는 Open API를 이용하기 위해서는 클래스를 반드시 알아야 한다. 하지만 그만큼 양도 방대하기 때문에 사실 작성을 시작하는 것이 두려웠다. 하지만 한 번 알고 있으면 무궁무진하게 사용할 수 있는 것이기 때문에, 이 기회를 통해 꼭! 꼭! 꼼꼼하게! 이해하고 넘어갔으면 하는 마음에 작성한다. 그래서 클래스가 뭔데? 클래스란 말 그대로 class의 의미인 교실에 비유해보도록 하자.(대학생이라면 강의실을 생각해도 좋음) 어느 수업이나 다를 것 없이 수업을 시작하기 전에는 출석체크를 반드시 한다. 그렇다면 그 출석체크 명단 안에는 어떤 정보들이 들어있을까? 고등학교는 어떤진 모르겠지만 대학교의 경우에는 학생의 사진..
클래스란? (1)사실 클래스는 파이썬에서 정말 많은 역할을 담당하고 있기도 하지만, 무엇보다도 증권사에서 배포하는 Open API를 이용하기 위해서는 클래스를 반드시 알아야 한다. 하지만 그만큼 양도 방대하기 때문에 사실 작성을 시작하는 것이 두려웠다. 하지만 한 번 알고 있으면 무궁무진하게 사용할 수 있는 것이기 때문에, 이 기회를 통해 꼭! 꼭! 꼼꼼하게! 이해하고 넘어갔으면 하는 마음에 작성한다. 그래서 클래스가 뭔데? 클래스란 말 그대로 class의 의미인 교실에 비유해보도록 하자.(대학생이라면 강의실을 생각해도 좋음) 어느 수업이나 다를 것 없이 수업을 시작하기 전에는 출석체크를 반드시 한다. 그렇다면 그 출석체크 명단 안에는 어떤 정보들이 들어있을까? 고등학교는 어떤진 모르겠지만 대학교의 경우에는 학생의 사진..
2020.12.09 -
모듈(module)이란? 파이썬 내에서는 모듈(module)을 잘 사용하게 된다. 흔히 게임을 다운로드 한다던지, 아니면 프로그램을 다운로드 한다던지 하는 경우에 설치 폴더 내에 수많은 파일들이 설치되는 것을 어렵지 않게 확인할 수 있다. 파이썬의 모듈을 바로 그런 것처럼 이해하면 조금 쉽다. 즉, 다소 복잡한 함수들이 하나의 코드 내에 위치해 있다면 그 코드를 사용할 때 모든 정보들을 다 불러와야 하기 때문에 오류가 있는지를 확인하는 것도 어렵고, 그만큼 사용 시간도 늘어날 수밖에 없다. 그래서 존재하는 것이 모듈이다. 일반적으로 파이썬을 시작할 때, 맨 처음에 보통 아래와 같은 코드를 사용해보게 된다. import os import pyqt5 위에서 'os'나 'pyqt5'가 바로 모듈에 해당하는 것..
모듈이란 무엇인가?모듈(module)이란? 파이썬 내에서는 모듈(module)을 잘 사용하게 된다. 흔히 게임을 다운로드 한다던지, 아니면 프로그램을 다운로드 한다던지 하는 경우에 설치 폴더 내에 수많은 파일들이 설치되는 것을 어렵지 않게 확인할 수 있다. 파이썬의 모듈을 바로 그런 것처럼 이해하면 조금 쉽다. 즉, 다소 복잡한 함수들이 하나의 코드 내에 위치해 있다면 그 코드를 사용할 때 모든 정보들을 다 불러와야 하기 때문에 오류가 있는지를 확인하는 것도 어렵고, 그만큼 사용 시간도 늘어날 수밖에 없다. 그래서 존재하는 것이 모듈이다. 일반적으로 파이썬을 시작할 때, 맨 처음에 보통 아래와 같은 코드를 사용해보게 된다. import os import pyqt5 위에서 'os'나 'pyqt5'가 바로 모듈에 해당하는 것..
2020.12.09 -
Qt Designer 사용 방법 지난 글에서 Anaconda Prompt를 이용하여 Pyqt를 설치했고, 파이썬이 설치된 경로에서 Designer 프로그램의 바로가기 아이콘을 바탕화면에 만들었다. 이제 그 바로가기 파일을 실행해보자. 실행하면 아래와 같은 화면이 등장하는데, 기본적인 기능을 알아보기 위함이니 Templates Forms는 맨 아래에 있는 Widget을 클릭한 후 생성해주도록 하자. 이제, 왼쪽에 있는 메뉴 중에서 Push Button이라 적혀 있는 버튼을 드래그해서 방금 새롭게 만들어 둔 창에 올려 놓으면 버튼이 하나가 생긴다. 이 버튼을 두 개 만들어주도록 하자. 버튼을 만든 후에 Qt Designer 화면의 오른쪽을 보면, 아래의 사진과 같이 [객체 탐색기]라는 화면 아래에 [객체] ..
Qt Designer의 사용 방법과 연결Qt Designer 사용 방법 지난 글에서 Anaconda Prompt를 이용하여 Pyqt를 설치했고, 파이썬이 설치된 경로에서 Designer 프로그램의 바로가기 아이콘을 바탕화면에 만들었다. 이제 그 바로가기 파일을 실행해보자. 실행하면 아래와 같은 화면이 등장하는데, 기본적인 기능을 알아보기 위함이니 Templates Forms는 맨 아래에 있는 Widget을 클릭한 후 생성해주도록 하자. 이제, 왼쪽에 있는 메뉴 중에서 Push Button이라 적혀 있는 버튼을 드래그해서 방금 새롭게 만들어 둔 창에 올려 놓으면 버튼이 하나가 생긴다. 이 버튼을 두 개 만들어주도록 하자. 버튼을 만든 후에 Qt Designer 화면의 오른쪽을 보면, 아래의 사진과 같이 [객체 탐색기]라는 화면 아래에 [객체] ..
2020.10.21 -
1. 기본적인 연산자 (1) 덧셈 : a + b (2) 뺄셈 : a - b (3) 곱셈 : a * b (4) 나눗셈 : a / b 2. 파이썬에서 사용되는 특이한 연산자 (1) x의 y제곱 : a ** b (2) 나머지 반환 : a % b (3) 몫 반환 : a // b 3. 자료형을 고려할 것. int 및 float인가, 아니면 str인가.다만 계산을 하기 위해서는 자료형이 `int` 또는 `float`이어야 한다. 간혹 `string` 형태의 자료형으로 계산을 하게 될 경우에는 다음과 같은 오류가 발생하게 된다.`TypeError: unsupported operand type(s) for /: 'str' and 'str'`그렇기 때문에 위와 같은 오류가 발생할 경우에는 자료형을 변경해주..
파이썬 연산자의 종류와 주의사항1. 기본적인 연산자 (1) 덧셈 : a + b (2) 뺄셈 : a - b (3) 곱셈 : a * b (4) 나눗셈 : a / b 2. 파이썬에서 사용되는 특이한 연산자 (1) x의 y제곱 : a ** b (2) 나머지 반환 : a % b (3) 몫 반환 : a // b 3. 자료형을 고려할 것. int 및 float인가, 아니면 str인가.다만 계산을 하기 위해서는 자료형이 `int` 또는 `float`이어야 한다. 간혹 `string` 형태의 자료형으로 계산을 하게 될 경우에는 다음과 같은 오류가 발생하게 된다.`TypeError: unsupported operand type(s) for /: 'str' and 'str'`그렇기 때문에 위와 같은 오류가 발생할 경우에는 자료형을 변경해주..
2020.10.03