본문 바로가기
반응형

Python Code19

파이썬 자동매매 기초 : 조건검색식 가져오기 안녕하세요. 인천고래입니다. 우리는 매수할 종목을 고르기 위해 2,000여 종목을 매일매일 확인할 수도 있지만 제일 쉽게 매수종목을 필터링할 수 있는  방법 중 하나로 조건검색식을 사용하기도 합니다. 그런데 HTS에서 활용하는 조건검색식(종목명 리스트)도 자동매매에서 활용할 수 있다는 것 아실 거예요.그래서 오늘은 간단하게 조건검색식 목록을 불러오고 특정 검색식을 통해서 해당 검색 조건에 맞는 종목들이 출력되는 코드를 제공할까 합니다. from pykiwoom.kiwoom import Kiwoomimport time# Kiwoom 객체 생성 및 로그인kiwoom = Kiwoom()kiwoom.CommConnect(block=True)kiwoom.GetConditionLoad()# 조건식 목록 가져오기co.. 2024. 5. 28.
Python 모듈의 버전을 확인하는 방법 안녕하세요. 인천고래입니다. 파이참의 터미널에서 Python 모듈의 버전을 확인하는 방법은 약 4가지 정도가 있으며 이 글의 마지막에는 확인된 버전으로 모듈의 버전을 업데이트(상위버전 혹은 하위버전)하는 방법에 대해 알아보도록 하겠습니다.※ pip 명령은 파이참 터미널에서 사용하는 코드입니다. Python 모듈의 버전을 확인하는 방법1. pip show 사용pip show 명령을 사용하여 특정 패키지의 정보를 확인할 수 있습니다.pip show flask-socketio 이 명령을 실행하면 현재 flask-socketio 모듈의 버전과 함께 의존성 정보 등을 확인할 수 있습니다.(py37_32) C:\Users\SH_PER2\PycharmProjects\bot\ChatGPT>pip show flask-s.. 2024. 5. 10.
비동기식 프로그래밍을 위한 async/await, asyncio 사용법 안녕하세요. 인천고래입니다. 이번 글에서는 비동기식 프로그래밍을 하는데 필요한 async/await 키워드 사용법에 대해 알아보는 시간을 가져보겠습니다. async/await 사용법 async와 await는 Python 3.5 이상에서 비동기 프로그래밍을 구현하기 위해 사용되는 키워드입니다. 이들을 사용하여 I/O 바운드 작업을 효율적으로 처리할 수 있습니다. async async 키워드는 함수 앞에 사용되며, 해당 함수를 '코루틴(coroutine)'으로 만듭니다. 코루틴은 비동기로 실행될 수 있는 함수입니다. async 함수는 호출될 때 실행되지 않고, 대신에 'Future 객체'를 반환합니다. 실제 실행을 위해서는 await, asyncio.run(), event_loop.run_until_comp.. 2024. 4. 5.
데이터프레임을 엑셀로 변환시 메모리 에러가 발생하는 이유에 대하여. 안녕하세요. 인천고래입니다. 데이터베이스를 사용하지 않고 시계열 데이터를 엑셀 파일로 관리하는 경우가 있는데요. 예를 들어 통합적인 관리를 하기 위해 개별적인 종목별 주가 데이터가 저장된 엑셀 파일을 모두 로드해서 하나의 데이터프레임에 저장한 뒤 엑셀 파일로 통합하는 경우가 있습니다. 이 때 각 종목의 데이터가 많은 경우 메모리 부족 (MemoryError) 에러가 발생이 될 수 있습니다. 일반적으로 데이터프레임은 메모리에 상주해 있는 데이터이고 엑셀로 저장을 할 때 추가적인 메모리를 사용하지 않아도 될 것 같은데 실제로는 추가적인 메모리를 필요로 함으로써 메모리가 부족한 현상이 발생되게 됩니다. 좀 더 자세히 말씀을 드리자면 데이터프레임을 엑셀 파일로 변환할 때 추가적인 메모리 사용이 발생하는 이유는 .. 2024. 4. 5.
32비트 가상환경과 64비트 가상환경 구축 명령어의 차이점에 대하여 안녕하세요. 인천고래입니다. 오늘은 이전 글에서 만들었던 64비트 가상환경과 32비트 가상환경을 만드는 명령어 구문에 대해 알아보고 각각의 차이점에 대해서도 설명을 해 보는 시간을 가져보겠습니다. conda create -n py37_64 python=3.7와 set CONDA_FORCE_32BIT=1 && conda create -n py37_32 python=3.7 명령어는 아나콘다를 이용하여 가상환경을 생성하는 명령어이지만, 각각 64비트와 32비트 환경을 생성하는 데 사용됩니다. 이들 명령어의 주요 차이점을 간단히 설명하겠습니다. 아나콘다에서 64비트 가상환경 만들기 안녕하세요. 인천고래입니다. 아나콘다와 같은 패키지 관리 및 환경 관리 시스템을 사용해서 생성된 환경들은 모두 독립적인 가상환경이라.. 2024. 4. 4.
아나콘다에서 32비트 가상환경 만들기 안녕하세요. 인천고래입니다. 이번 글에서는 키움OpenAPI와 연계를 하는 파이썬 자동매매 프로그램을 구동시킬 수 있는 32비트 환경을 구축해 보도록 하겠습니다. (이전 글에서는 아나콘다에서 64비트 가상환경을 만들어 봤었는데요~ 아래 링크 확인해주세요.) 아나콘다에서 64비트 가상환경 만들기 안녕하세요. 인천고래입니다. 아나콘다와 같은 패키지 관리 및 환경 관리 시스템을 사용해서 생성된 환경들은 모두 독립적인 가상환경이라고 할 수 있습니다. 이러한 가상환경은 실제 시스템에 quant.i-whale.com 자 그러면 아나콘다 환경에서 32비트 가상환경을 구축해보겠습니다. 32비트 가상환경을 구축하는 것은 아주 쉽습니다. 1. 아래와 같이 아나콘다 프롬프트(관리자 권한으로 실행 필수)에서 아래와 같은 명령.. 2024. 4. 4.
아나콘다에서 64비트 가상환경 만들기 안녕하세요. 인천고래입니다. 아나콘다와 같은 패키지 관리 및 환경 관리 시스템을 사용해서 생성된 환경들은 모두 독립적인 가상환경이라고 할 수 있습니다. 이러한 가상환경은 실제 시스템에 설치된 기본 환경과는 독립적으로, 필요한 패키지와 라이브러리의 특정 버전을 설치하여 사용할 수 있도록 해줍니다. 가상 환경을 사용하는 이유는 다음과 같습니다: 의존성 관리: 프로젝트별로 다른 버전의 패키지를 사용할 수 있으며, 서로 충돌 없이 독립적으로 관리할 수 있습니다. 환경 격리: 가상 환경은 프로젝트별로 필요한 패키지와 그 의존성만을 포함하므로, 프로젝트간의 의존성 충돌을 방지합니다. 편리한 복제 및 배포: 가상 환경을 통해 프로젝트의 패키지 요구 사항을 쉽게 다른 시스템에 복제하거나 배포할 수 있습니다. 따라서, .. 2024. 4. 4.
아나콘다 64비트에서 32비트잘못 만들어진 가상환경을 삭제하기 안녕하세요. 인천고래입니다. 요즘 컴퓨터는 64비트인데 반해서 자동매매를 구축하려면 증권사(키움) OpenAPI와 연계를 해야 하니 32비트를 설치해야 하는데요 컴퓨터는 64비트이고 프로그램 환경은 32 비트라는 괴리가 발생합니다. 그래서 64비트에서도 32비트가 정상적으로 구동되게 하기 위해서 아나콘다 가상환경을 구축하게 되는데요. 많으신 분들이 도전과 실패를 거듭하면서 많은 실패작 가상환경을 만들어두고 그대로 쓰시는 경우가 빈번하더라고요. 그래서 컴퓨터를 클린하게 만들 수 있도록 잘못 만들어진 가상환경을 삭제하는 방법에 대해 알려드리고자 합니다. 아래의 절차대로 잘 따라 해 보시길 바라고요~ 원하시는 자동매매 프로그램 만드시길 바라겠습니다. 성투!!! 잘못 만들어진 가상환경을 삭제하기 1. 아나콘다 .. 2024. 4. 4.
파이썬으로 엑셀 파일의 컬럼명 변경하기 안녕하세요. 인천고래입니다. 데이터베이스가 아닌 엑셀 파일로 주가 데이터를 저장하는 경우가 있는데요 이런 경우에 특정 셀의 값을 업데이트하기 위해 엑셀 파일을 열어서 수정하는 경우가 있습니다. 파이썬에서는 이런 기능을 지원하는데 오늘은 엑셀 파일의 컬럼명을 변경하는 코드를 작성해 보겠습니다. 엑셀파일이 있는지 확인 openpyxl , load_workbook모듈을 사용하여 엑셀시트의 인스턴스 생성 활성화된 시트 지정 시트의 첫번째 행의 셀들 중에서 "날짜"로 되어 있는 컬럼이 있는지? 확인 엑셀 인스턴스 저장하고 끝내기. from openpyxl import load_workbook as xlsx_load_workbook try: # 기존의 파일이 존재하면 마지막 행의 데이터 날짜 이후부터 데이터를 가져.. 2024. 3. 30.
반응형