본문 바로가기

AyoProject/Ayotera-Trade35

[AT] 10. 증권사 API연동 소스 Refectoring 이번에는 기존에 작성했던 소스에 대해서 실제로 사용이 가능하고, 향후 다른코드에서 재활용이 가능하도록 Refectoring을 진행해 보겠습니다. 가장 큰 문제는 아래와 같은 소스상 문제로 한번 python프로그램이 실행되면 강제로 console에서 종료하기 전까지 실행이 되게 됩니다. if __name__ == "__main__": app = QApplication(sys.argv) test = KiwoomAPI() test.login() app.exec_() 그 이유는 QApplication을 실행 후 별도로 종료하는 로직이 없기 때문입니다. 사실 이렇게 한 이유는 키움증권 Open API+ 특성상 서버로 dynamicCall을 보내고 그에따른 event를 기다려야 하기 때문에 프로그램이 종료되지 않고.. 2020. 2. 27.
[AT] 09. mariadb(mysql) connection with python (2) 이번에는 mariadb 혹은 mysql을 python에서 사용하기 위한 연동방법의 두번째로 python에서 mariadb(mysql) 사용하기 두번째 방법을 알아보겠습니다. 이전에는 connect객체, cursor객체를 사용한 일반적인 방법에 대해서 알아보았습니다. 하지만 다른 데이터조작 python package에서도 dbms에서 접근해서 데이터를 쌓고, 데이터를 가져오는 방법이 있다는 것을 들어보셨나요?? pandas가 바로 그 녀석입니다. pandas는 데이터 조작 및 분석을 위한 Python 패키지 입니다. 이를 통해서 Series, DataFrame등 테이블 및 시계열을 조작하기위한 데이터 구조를 제공하는 녀석입니다. https://pandas.pydata.org/ pandas - Python .. 2020. 2. 26.
[AT] 08. mariadb(mysql) connection with python (1) 이번에는 지난번에 언급한대로 python에서 mariadb 혹은 mysql과 연동하는 방법에 대해서 알아보겠습니다. 물론 여러가지 방법이 존재하겠지만, 그 중에서 2가지에 대해서 알아보겠습니다. mysql connector를 사용한 일반적인 db사용법 pandas에서 제공하는 메서드를 이용한 자동 db 연동법 일반적으로 대부분의 application은 소소하거나 방대한 내용의 데이터를 다루고, 하물며 자체 코드나 메시지 관리를 위해서라도 database를 사용하게 됩니다. 결국 어떤언어든 databae와 연동하여 작업을 하기위한 수단을 제공합니다. 이 수단을 통해서 흔히 사용하는 DML / DDL을 수행하게 되겠죠?? DML (Data Manipulation Language : 데이터 조작어) - SEL.. 2020. 2. 24.
[AT] 07. 주식 종목의 일봉차트 조회 바로 전 시간에 종목코드 리스트와 종목정보를 키움증권에서 제공하는 Open API+를 사용해서 가져왔었습니다. 그럼 이번에는 가져온 종목코드를 가지고 해당 종목의 일봉차트를 조회해서 가져와 보도록 하겠습니다. 이 일봉차트가 있으면, 향후 이동평균선(이평선)을 구하고 이를 가지고 매매의 기준의 아주 기본적인 척도로 사용이 가능합니다. 키움증권의 KOA Studio를 확인해보면, TR목록 중에 [opt10081 : 주식일봉차트조회요청]이 존재합니다. 종목코드중에 하나를 가지고 속성에 값을넣고 조회를 해보면 아래와 같습니다. 해당 데이터는 [GetCodeListByMarket]를 통해서 받은 코스피항목 중 첫번째인 [동화약품]에 대한 데이터 입니다. 결과를 보면 해당 종목에 대해서 기준일자를 기준으로 그 전 .. 2020. 2. 22.