AUTO TRADE
좌측 카테고리를 눌러서 주제를 선택하시기 바랍니다.
-
Pandas 모듈 내에는 to_sql과 더불어 to_excel이라는 함수를 제공하고 있다. 즉, 데이터를 엑셀 파일로 저장하는 동작을 수행하는 함수이다. 다만 이에 관한 정보가 너무 많고 사용 방법에 있어서도 상당 부분 상이하고 각자만의 방법으로 사용하고 있다 보니 처음에 to_excel 함수를 사용할 때는 베껴서 작성한다 하더라도 나중에 가면 사용 방법을 까먹고 다시 또 구글링을 하게 되는 대참사(?)가 반복된다. 따라서 이번 포스팅에서는 파이썬을 통해 to_excel 함수를 사용하는 방법에 대해 작성하고자 한다. Basic Formation of Excel Pandas 모듈의 to_excel 함수를 사용하기 전에 앞서 알아두어야 할 몇 가지 개념들이 있는데, 아래의 사진을 참고하여 설명하도록 하겠다...
Pandas to_excel 사용 방법Pandas 모듈 내에는 to_sql과 더불어 to_excel이라는 함수를 제공하고 있다. 즉, 데이터를 엑셀 파일로 저장하는 동작을 수행하는 함수이다. 다만 이에 관한 정보가 너무 많고 사용 방법에 있어서도 상당 부분 상이하고 각자만의 방법으로 사용하고 있다 보니 처음에 to_excel 함수를 사용할 때는 베껴서 작성한다 하더라도 나중에 가면 사용 방법을 까먹고 다시 또 구글링을 하게 되는 대참사(?)가 반복된다. 따라서 이번 포스팅에서는 파이썬을 통해 to_excel 함수를 사용하는 방법에 대해 작성하고자 한다. Basic Formation of Excel Pandas 모듈의 to_excel 함수를 사용하기 전에 앞서 알아두어야 할 몇 가지 개념들이 있는데, 아래의 사진을 참고하여 설명하도록 하겠다...
2021.06.02 -
이번 포스팅에서는 영웅문 내에서 설정된 조건검색식을 Open API와 연결된 파이썬을 통해 불러오고, 그를 바탕으로 검색된 종목의 종목코드를 출력하는 방법에 대해 서술하고자 한다. 조건검색식을 사용하면 편한 이유는 파이썬 내에서 특정 조건들을 만들어내지 않아도 된다는 것이다. 즉, 특정 조건에 알맞은 종목을 검색하는 데에 필요한 조건들을 만드는 것이 파이썬 내에 구축하는 것보다 차라리 영웅문 내의 조건검색 화면 내에서 구축하는 것이 백배 천배는 편하다는 것이다. 그러면 왜 굳이 파이썬으로 이러고 앉아있냐는 의문이 들 수 있는데, 그 이유는 영웅문 내에서 제공하지 않는 분석 조건들을 파이썬에서는 구축할 수 있기 때문이다. 물론 이 방법은 영웅문 내에 조건검색식이 구축되어 있지 않다면 사용할 수 없다. 왜냐..
키움증권 Open API - 조건 검색식 불러오기이번 포스팅에서는 영웅문 내에서 설정된 조건검색식을 Open API와 연결된 파이썬을 통해 불러오고, 그를 바탕으로 검색된 종목의 종목코드를 출력하는 방법에 대해 서술하고자 한다. 조건검색식을 사용하면 편한 이유는 파이썬 내에서 특정 조건들을 만들어내지 않아도 된다는 것이다. 즉, 특정 조건에 알맞은 종목을 검색하는 데에 필요한 조건들을 만드는 것이 파이썬 내에 구축하는 것보다 차라리 영웅문 내의 조건검색 화면 내에서 구축하는 것이 백배 천배는 편하다는 것이다. 그러면 왜 굳이 파이썬으로 이러고 앉아있냐는 의문이 들 수 있는데, 그 이유는 영웅문 내에서 제공하지 않는 분석 조건들을 파이썬에서는 구축할 수 있기 때문이다. 물론 이 방법은 영웅문 내에 조건검색식이 구축되어 있지 않다면 사용할 수 없다. 왜냐..
2021.06.01 -
이번 포스팅에서는 지난 글에서 이야기했듯이 종목 코드를 불러오고 그 종목들 중에서 필요없는 종목들을 걸러낸다거나 또는 그 종목의 특성을 확인한 후에 얻고자 하는 최종적인 결과물에서 제외하는 방식으로 코드를 제작하고자 한다. KOSPI · KOSDAQ 전체 종목 코드 불러오기 일단 필요 없는 종목들을 걸러내기 위해서는 그에 앞서 상장된 종목들의 코드는 어떻게 되는지를 확인할 필요가 있는데, 그는 바로 GetCodeListByMarket 함수를 통해 불러올 수 있다. 개발 가이드 내에서의 설명은 다음과 같다. 원형 GetCodeListByMarket(Market) 설명 시장구분에 따른 종목코드를 반환한다. 입력값 Market : 시장구분 반환값 종목코드 리스트, 종목간 구분은 ';'이다. 비고 0:장내, 3..
키움증권 Open API 전체 종목 리스트 불러오기이번 포스팅에서는 지난 글에서 이야기했듯이 종목 코드를 불러오고 그 종목들 중에서 필요없는 종목들을 걸러낸다거나 또는 그 종목의 특성을 확인한 후에 얻고자 하는 최종적인 결과물에서 제외하는 방식으로 코드를 제작하고자 한다. KOSPI · KOSDAQ 전체 종목 코드 불러오기 일단 필요 없는 종목들을 걸러내기 위해서는 그에 앞서 상장된 종목들의 코드는 어떻게 되는지를 확인할 필요가 있는데, 그는 바로 GetCodeListByMarket 함수를 통해 불러올 수 있다. 개발 가이드 내에서의 설명은 다음과 같다. 원형 GetCodeListByMarket(Market) 설명 시장구분에 따른 종목코드를 반환한다. 입력값 Market : 시장구분 반환값 종목코드 리스트, 종목간 구분은 ';'이다. 비고 0:장내, 3..
2021.06.01 -
지난 게시글에서 서버에 데이터를 요청하고 그 결과값을 받아오는 부분까지 코드를 제작했고, 이번 포스팅에서는 추가로 조회할 데이터가 남아 있다면 그 데이터를 어떻게 받아올 것인지에 대한 코드를 제작해보도록 하자. 일단 지난 포스팅에서 결과물이 깔끔하게 나오긴 했지만 사실 글을 업로드한 후에 요청 횟수당 600회를 불러올 수 있다는 점과 OnReceiveTrData 내에도 이벤트 루프를 종료하는 코드를 제작해주어야 연속 조회가 가능하다는 점을 깜빡하고 그 내용을 함께 소개하지 못했다. 그래서 이번에는 한 번의 조회로 총 600개의 데이터를 가져오는 것을 먼저 구축한 후 남아 있는 데이터가 있다면 그 데이터도 불러오도록(이하 연속조회) 하는 구조를 구축하도록 하겠다. OnReceiveTrData : "나도 이..
키움증권 Open API 차트 데이터 불러오기 (3)지난 게시글에서 서버에 데이터를 요청하고 그 결과값을 받아오는 부분까지 코드를 제작했고, 이번 포스팅에서는 추가로 조회할 데이터가 남아 있다면 그 데이터를 어떻게 받아올 것인지에 대한 코드를 제작해보도록 하자. 일단 지난 포스팅에서 결과물이 깔끔하게 나오긴 했지만 사실 글을 업로드한 후에 요청 횟수당 600회를 불러올 수 있다는 점과 OnReceiveTrData 내에도 이벤트 루프를 종료하는 코드를 제작해주어야 연속 조회가 가능하다는 점을 깜빡하고 그 내용을 함께 소개하지 못했다. 그래서 이번에는 한 번의 조회로 총 600개의 데이터를 가져오는 것을 먼저 구축한 후 남아 있는 데이터가 있다면 그 데이터도 불러오도록(이하 연속조회) 하는 구조를 구축하도록 하겠다. OnReceiveTrData : "나도 이..
2021.05.31 -
지난 포스팅에서 `OnReceiveTrData` 이벤트 발생 시 `OnReceiveTrData()` 함수로 연결되도록 하고, 이벤트 루프까지 제작해두었다. 또한 `CommRqData()`를 통해 입력한 값들이 `OnReceiveTrData()` 함수를 통해 반환된다는 것도 확인하였다. 키움증권 Open API 차트 데이터 불러오기 (1)OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하는 종목의 차트 데이터를 불러오trustyou.tistory.com이번 포스팅에서는 `prenext`가 2인 경우 즉, 추가로 조회할 데이터가 있는 경우에는 어떻게 불러올 수 있는지 그리고 차트 데..
키움증권 Open API 차트 데이터 불러오기 (2)지난 포스팅에서 `OnReceiveTrData` 이벤트 발생 시 `OnReceiveTrData()` 함수로 연결되도록 하고, 이벤트 루프까지 제작해두었다. 또한 `CommRqData()`를 통해 입력한 값들이 `OnReceiveTrData()` 함수를 통해 반환된다는 것도 확인하였다. 키움증권 Open API 차트 데이터 불러오기 (1)OnReceiveTrData 이벤트 처리하기 지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하는 종목의 차트 데이터를 불러오trustyou.tistory.com이번 포스팅에서는 `prenext`가 2인 경우 즉, 추가로 조회할 데이터가 있는 경우에는 어떻게 불러올 수 있는지 그리고 차트 데..
2021.05.31 -
OnReceiveTrData 이벤트 처리하기지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하는 종목의 차트 데이터를 불러오는 것에 대해 서술하고자 한다. 일단 기본적으로 로그인의 경우에는 `OnEventConnect()` 이벤트를 발생시키는 것처럼 차트 데이터 조회 또는 종목 데이터에 대한 조회 등과 같은 정보 요청의 경우에는 `OnReceiveTrData()`라는 이벤트를 발생시키게 된다. 이와 비슷한 이벤트로는 `OnReceiveRealData()`라는 이벤트가 있는데, 이는 장중 데이터 조회 및 반환값 처리 시에 사용하는 것이므로 여기서는 일단 논외로 하겠다. 그렇다면 로그인 처리 시에 했던 것처럼, 차트 조회 등..
키움증권 Open API 차트 데이터 불러오기 (1)OnReceiveTrData 이벤트 처리하기지난 포스팅에서 Open API를 열고 로그인을 하는 코드까지 모두 구축하고 넘어왔다. 이번 포스팅에서는 로그인 이후에 조회하고자 하는 종목의 차트 데이터를 불러오는 것에 대해 서술하고자 한다. 일단 기본적으로 로그인의 경우에는 `OnEventConnect()` 이벤트를 발생시키는 것처럼 차트 데이터 조회 또는 종목 데이터에 대한 조회 등과 같은 정보 요청의 경우에는 `OnReceiveTrData()`라는 이벤트를 발생시키게 된다. 이와 비슷한 이벤트로는 `OnReceiveRealData()`라는 이벤트가 있는데, 이는 장중 데이터 조회 및 반환값 처리 시에 사용하는 것이므로 여기서는 일단 논외로 하겠다. 그렇다면 로그인 처리 시에 했던 것처럼, 차트 조회 등..
2021.05.31 -
지난 포스팅에서는 `OnEventConnect()` 이벤트가 발생할 경우 특정 함수를 실행하고, 그 함수 내에서는 `CommConnect()` 함수를 통해 해당 함수의 반환값을 받아와서 로그인 성공 여부를 판단하는 코드를 구축했었다. 이번 포스팅에서는 `OnReceiveTrData()` 이벤트에 대해 자세한 사용 방법에 대해서 알아보도록 하자. 키움증권 Open API에서 제공하는 이벤트 별 상세 내용과 사용 예시는 아래의 포스팅을 참고 키움증권 Open API 개발 가이드 사용 설명서 (1)키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때trustyou.tisto..
키움증권 OpenAPI 개발 가이드 사용 설명서 (2)지난 포스팅에서는 `OnEventConnect()` 이벤트가 발생할 경우 특정 함수를 실행하고, 그 함수 내에서는 `CommConnect()` 함수를 통해 해당 함수의 반환값을 받아와서 로그인 성공 여부를 판단하는 코드를 구축했었다. 이번 포스팅에서는 `OnReceiveTrData()` 이벤트에 대해 자세한 사용 방법에 대해서 알아보도록 하자. 키움증권 Open API에서 제공하는 이벤트 별 상세 내용과 사용 예시는 아래의 포스팅을 참고 키움증권 Open API 개발 가이드 사용 설명서 (1)키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때trustyou.tisto..
2021.05.22 -
키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때문에, 개발 가이드를 본다고 하더라도 어떻게 사용해야 할지 잘 모르는 경우가 태반이다. 따라서 해당 포스팅에서는 개발 가이드를 어떻게 활용할 수 있는지, 그리고 어떤 함수는 개별적으로 작동하고 어떤 함수는 다른 함수와 함께 사용되는지에 대해 정리해보고자 한다. TR 관련 함수TR 관련 함수란 개발 가이드 자료 중 [5.4 OpenAPI 컨트롤 이벤트] 항목 안에 있는 함수로, 총 8가지의 함수를 제공하고 있다. 또한 이에 대해 "차트 컨트롤에서 발생하는 컨트롤 이벤트 목록은 다음과 같다."고 설명하고 있는데, 솔직히 ..
키움증권 Open API 개발 가이드 사용 설명서 (1)키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때문에, 개발 가이드를 본다고 하더라도 어떻게 사용해야 할지 잘 모르는 경우가 태반이다. 따라서 해당 포스팅에서는 개발 가이드를 어떻게 활용할 수 있는지, 그리고 어떤 함수는 개별적으로 작동하고 어떤 함수는 다른 함수와 함께 사용되는지에 대해 정리해보고자 한다. TR 관련 함수TR 관련 함수란 개발 가이드 자료 중 [5.4 OpenAPI 컨트롤 이벤트] 항목 안에 있는 함수로, 총 8가지의 함수를 제공하고 있다. 또한 이에 대해 "차트 컨트롤에서 발생하는 컨트롤 이벤트 목록은 다음과 같다."고 설명하고 있는데, 솔직히 ..
2021.05.22 -
키움증권의 경우 Open API를 제공하고 있으며, 실제로 사용할 함수의 종류는 키움증권 사이트 내 '개발 가이드' 파일 또는 'KOA Studio'라는 프로그램을 통해 확인할 수 있다. 이번 글에서는 이 함수들을 파이썬 내에서 구축하는 방법과 정확히 어떤 절차를 거쳐 함수들이 실행되는지에 대해 살펴보고자 한다. (1) 어떤 정보가 궁금한데요 ? - SetInputValue와 CommRqData1. SetInputValue (입력 값 설정) [설명] Tran 입력 값을 서버 통신 전에 입력한다. [용례] SetInputValue (아이템명, 입력 값)2. CommRqData (Command Request Data, 데이터 요청 명령 실행) [설명] Tran을 서버로 전송한다. [용례] CommRqDa..
키움증권 Open API 작동 과정키움증권의 경우 Open API를 제공하고 있으며, 실제로 사용할 함수의 종류는 키움증권 사이트 내 '개발 가이드' 파일 또는 'KOA Studio'라는 프로그램을 통해 확인할 수 있다. 이번 글에서는 이 함수들을 파이썬 내에서 구축하는 방법과 정확히 어떤 절차를 거쳐 함수들이 실행되는지에 대해 살펴보고자 한다. (1) 어떤 정보가 궁금한데요 ? - SetInputValue와 CommRqData1. SetInputValue (입력 값 설정) [설명] Tran 입력 값을 서버 통신 전에 입력한다. [용례] SetInputValue (아이템명, 입력 값)2. CommRqData (Command Request Data, 데이터 요청 명령 실행) [설명] Tran을 서버로 전송한다. [용례] CommRqDa..
2021.05.13 -
계산을 위한 코드를 제작하기에 앞서 실제 주식 시장 내에서는 상승률을 계산하는 기준으로 전일 종가를 사용한다. 따라서 코드 작성 시에는 특정 값의 비교를 하는 기준은 전일 종가가 되어야 한다. 아래의 코드처럼 함수의 이름에 있는 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 -
오류 코드 typeerror: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' 해결 방법 # 기존 코드 def create_chart(self, dataframe): fig = plt.figure(figsize=(12, 8)) ax = fig.add_subplot(111) mpl_finance.candlestick2_ohlc( ~~~~~ ) # 변경 코드 def create_chart(self, dataframe): data = dataframe.astype(float) fi..
MySQL 오류 : typeerror: ufunc 'isfinite' not supported for the input types오류 코드 typeerror: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' 해결 방법 # 기존 코드 def create_chart(self, dataframe): fig = plt.figure(figsize=(12, 8)) ax = fig.add_subplot(111) mpl_finance.candlestick2_ohlc( ~~~~~ ) # 변경 코드 def create_chart(self, dataframe): data = dataframe.astype(float) fi..
2021.04.07 -
오류 코드 명 mysql.connector.errors.InternalError: Unread result found 해결 방법 # 기존 코드 connection = mysql.connector.connect(user="", password="", host="") cur = connection.cursor() # 변경 코드 connection = mysql.connector.connect(user="", password="", host="") cur = connection.cursor(buffered=True) 즉, cursor() 안에 buffered=True만 넣어주면 이 오류는 해결된다. 부연 설명 본인의 경우 이 오류는 데이터를 입력하고자 할 때, 즉 cur.execute("INSERT ~~")와..
MySQL 오류 : InternalError: Unread result found오류 코드 명 mysql.connector.errors.InternalError: Unread result found 해결 방법 # 기존 코드 connection = mysql.connector.connect(user="", password="", host="") cur = connection.cursor() # 변경 코드 connection = mysql.connector.connect(user="", password="", host="") cur = connection.cursor(buffered=True) 즉, cursor() 안에 buffered=True만 넣어주면 이 오류는 해결된다. 부연 설명 본인의 경우 이 오류는 데이터를 입력하고자 할 때, 즉 cur.execute("INSERT ~~")와..
2021.04.04