728x90
반응형

1. 국내주식 55

(파이썬) for문 활용 (1) - 기본 설명

1. 들어가며 for문은 반복적인 작업을 간략하고 효율적으로 실행할 수 있는 코드이다. 이 글에서는 키움증권 OpenAPI를 통해 파이썬 코드 작성할 때 사용되는 for문에 대해 알아본다. 2. for문 설명 1) for문 기초 1부터 10까지 출력하는 for문 코드는 아래와 같다. for i in range(1,11): print(i) 2) list를 활용한 for문 활용 list에 입력된 과일들을 순차적으로 for문으로 결과는 아래와 같다. lists = ["사과", "바나나", "파인애플"] for j in lists: print(f"내가 좋아하는 과일은 {j}이다") 3. for문을 활용하여 3종목의 1분봉 받기 - 3종목 : 삼성전자(005930), SK하이닉스(000660), LG에너지솔루션(..

(파이썬) 주식 자동매매를 위한 사전준비 (필요 모듈)

1. 들어가며 키움증권 openapi를 통해 국내주식 자동거래 시스템을 구축하고 한다. 이를 위해 설치 혹은 가져오기(import)가 필요한 파이썬의 라이브러리를 소개한다. 2. 설치 필요/모듈 가져오기(import) 라이브러리 아래의 11가지를 설치한 후, 소스코드를 작성하는 게 좋아 보인다. 1) anaconda 32bit 설치 → 키움 openapi는 32bit에서 실행하도록 되어 있음 (32비트가 설정되어야 QAxContainer 에러가 발생하지 아니함) * 아나콘다 64bit를 설치한 경우, 32비트가 적용된 가상환경을 설정하여 진행 필요 2) pycharm 설치 → 코드작성 및 실행 화면 출력을 위해 설치 3) pandas 최신 버전 설치 - 1.4버전 이상으로 설치 권..

(파이썬) 주식 multiprocessing.Process 적용하여 다중 병렬 처리하기

1. 들어가며 1) 파이썬으로 주식코드를 만들고 3가지 정보를 받으려고, 파이참에서 실행(shift + f10)했는데, 1가지 정보만 받아왔다. 2) 이유는, 파이썬의 GIL(Global Interpreter Lock) 때문이며, 파이썬 인터프리터는 한 스레드에서 하나의 코드를 실행시킬 수 있도록 해주기 때문이다. - 예를 들어, 즉, a함수가 1분마다 실행되고 있다면, 이 경우 b,c 함수는 미실행된다 * a함수는 1분마다 1분봉 받기, b는 5초마다 현재가 받기, c는 5초마다 매수가 받기 함수 2. 접근 방법 ㅇ 파이썬의 GIL을 우회하는 방법(병렬 처리)으로 검색을 해보니, 라이브러리 중 asyncio, multithreading, multiprocessing 등 3가지를 알아보았다. - asyn..

(파이썬) SendOrder 함수 오류 (TypeError: arguments did not match any overloaded call:)

키움 OpenApi에서 매수/매도를 위해 주문을 하는 경우 발생하는 오류 ※ 파이참(PyCharm)을 활용하여 진행 1. 오류 내역 ㅇ "요청변수"가 많아서, 오류 발생 Traceback (most recent call last): File "C:/Users/User/Desktop/pythonProject/sendorder0.py", line 63, in trade.sendorder1("sendorder4", "4949", "계좌번호10자리", 1, "005930", 1, 0, "03", "") File "C:/Users/User/Desktop/pythonProject/sendorder0.py", line 29, in sendorder1 self.kiwoom.dynamicCall("SendOrder(QS..

(잡담) 국내주식 시스템 만드는 현황 ('22.5.29 현재)

■ 향후 꾸준히 업데이트 예정('22.5.29, 현재) ■ 국내주식 중 변동성이 큰 종목에 대한 투자 ㅇ 테스트 버전으로 시스템 만들기 * 테스트 종목은 삼성전자 ㅇ 활용 언어 : 파이썬 ■ 시스템 만드는 과정 2. ('22.6월) 1분봉 데이터 그래프화(엑셀) 및 텐서플로우 활용 1) 1분봉 데이터 그래프화 및 시각화(jpeg) ㅇ 09:00~15:30분까지, 1분봉은 381개 * (09:00~15:19) 1시간(60분)의 1분봉 60개이며, 6시간 19분 → 380개 * (15:20~15:30) 10분간 거래에 대해 15:30분 일괄적으로 체결 → 1개 2) 텐서플로우 활용 ㅇ 시각화한 어제까지의 1분봉에 대해, 금일의 흐름(현재가 등)을 비교하여 진입(매수) 여부 결정 * 1분봉 시각화 자료(jpe..

728x90
반응형