본문 바로가기

파이썬46

Python 로깅 최적화 방법 Python 로깅 멋지게 하는 방법의 글을 참고해서 세팅한 후, Python에서 logging 모듈을 사용할 때, 로그가 과도하게 쌓이는 문제를 해결하는 방법을 정리합니다.1. 로그 레벨 낮추기현재 level="NOTSET"으로 설정되어 있으면 모든 로그가 기록됩니다. 필요 없는 디버그 로그를 줄이려면 INFO 이상만 기록하도록 조정합니다.logging.basicConfig(level=logging.INFO)수준사용 시점NOTSET DEBUG상세한 정보. 보통 문제 진단할 때만 필요합니다.INFO예상대로 작동하는지에 대한 확인WARNING예상치 못한 일이 발생했거나 가까운 미래에 발생할 문제ERROR더욱 심각한 문제로 인해, 소프트웨어가 일부 기능을 수행하지 못했습니다.CRITICAL심각한 에러. 프로그.. 2025. 3. 28.
Python 터미널 명령어에서 인자 받기: argparse 터미널에서 Python 스크립트를 실행할 때 특정한 파라미터(인자)를 입력해서 동작을 다르게 하고 싶을 때가 있습니다. 예를 들어, ETL(Extract, Transform, Load) 프로세스를 실행하는데 모드를 선택해서 실행하고 싶다면 다음과 같이 실행할 수 있습니다.python main.py --mode=1이 글에서는 Python에서 argparse 모듈을 활용하여 터미널에서 입력한 값을 받아오는 방법을 자세히 설명하겠습니다.🔍 argparse란?argparse는 Python에서 터미널에서 입력된 명령줄 인자(Command-line arguments)를 처리하기 위한 표준 라이브러리입니다. 이를 활용하면 사용자가 직접 입력한 값을 받아서 프로그램의 동작을 제어할 수 있습니다.기본적으로 Python.. 2025. 3. 28.
PC방 로컬 환경에서 파이썬 개발 하는 법 1. 파이썬 설치2. 메모장에서 개발3. cmd 창에서 python 파일명.py 입력 모듈은 cmd 창에서 설치 경 변수에 경로가 포함되어 있는지 확인하는 방법은 다음과 같습니다:환경 변수 열기:'내 컴퓨터' 또는 '내 PC' 아이콘을 오른쪽 클릭합니다.'속성'을 선택합니다.왼쪽 메뉴에서 '고급 시스템 설정'을 클릭합니다.'환경 변수' 버튼을 클릭합니다.Path 변수 확인:시스템 변수(SYSTEM VARIABLES) 또는 사용자 변수(USER VARIABLES) 목록에서 Path 변수를 찾습니다.Path 변수를 선택하고 '편집' 버튼을 클릭합니다.경로 확인:열린 편집 창에서 목록에 C:\Users\Win10\AppData\Local\Packages\PythonSoftwareFoundation.Python.. 2024. 11. 10.
GA4 API 사용법(3): API 여러번 호출시 함수로 코드 간결화 시키기 GA4 API를 활용해서 데이터를 가져오는 것을 진행해보았습니다. 하지만, 여러번 데이터를 호출시 매번 똑같은 코드를 작성할 순없겠죠. 이 때 함수로 코드 간결화 시키면 보다 쉽게 원하는 데이터를 가져올 수있습니다. 이 방법에 대해 알아보겠습니다. GA4에서 측정기준(=dimensions)과 측정항목(=metrics) 2가지만 있으면, 아래 이미지처럼 '자유형식 탐색분석'에서 우리가 보려고 하는 다양한 데이터를 조회할 수 있습니다. 예를 들어, 특정 이벤트가 날짜별로 발생된 수를 알고 싶다고 하면, 측정 기준으로 날짜(GA4 API에서는 'date'), 이벤트 이름(GA4 API에서는 ' eventName')을 선택하고, 측정 항목으로 이벤트 수 (GA4 API에서는 ' eventCount')를 선택하면.. 2024. 11. 7.
VSCode 파이썬 단축키 모음 1. 파일, 편집새파일 열기 : Ctrl + N모든 파일 저장 : Ctrl + K, Ctrl + S 2. 검색, 바꾸기바꾸기 : Ctrl + H프로젝트 전쳉서 찾기 : Ctrl + Shift + F 3. 코드 네비게이션정의로 이동 : F12 정의 미리보기 : Alt + F12 또는 Ctrl + 클릭 4. 코드 편집라인 복사 : Alt + Shift + 위/아래 화살표라인 이동 : Alt + 위/아래 화살표라인 삭제 : Ctrl + Shift + K 5. 실행, 디버그디버그 시작 : F5디버그 중지 : Shift + F5 6. 터미널터미널 열기/단기 : Ctrl + `새 터미널 : Ctrl + Shift + ` 2024. 11. 7.
파이썬 퀀트투자(7): 재무제표 크롤링, 적재 주가와 더불어 재무제표와 가치지표 역시 투자에 있어 핵심이 되는 데이터입니다. 이번에는 가치지표를 계산하기 위한 재무제표를 데이터를 크롤링해보겠습니다. 전편: 파이썬 퀀트투자(6): 네이버금융 수정주가 크롤링, 적재 재무제표 데이터는 여러 웹사이트에서 구할 수 있으며, 국내 데이터 제공업체인 FnGuide에서 운영하는 Company Guide 웹사이트에서 손쉽게 구할 수 있습니다.http://comp.fnguide.com/  재무제표 다운로드사이트를 접속해보면, URL이 아래와 같은 걸 알 수 있습니다. 여기서 A005930 뒤에있는 부분은 제거해도 되는 부분입니다. http://comp.fnguide.com/SVO2/ASP/SVD_Finance.asp?pGB=1&gicode=A005930&cID=&Me.. 2024. 10. 12.
파이썬 퀀트투자(6): 네이버금융 수정주가 크롤링, 적재 주가 데이터는 투자를 함에 있어 반드시 필요한 데이터입니다. 인터넷에서 주가를 수집할 수 있는 방법은 매우 많지만, 퀀트 투자를 위한 백테스트나 종목선정을 위해서는 수정주가가 필요합니다. 그래서 이 글에서는 일반적인 주가가 아닌 수정주가 크롤링 방법을 알아보겠습니다. 전편: 파이썬 퀀트투자(5): WICS 기준 섹터정보 크롤링, 적재 수정주가가 필요한 이유를 알아보기 위해 실제 사례를 살펴보겠습니다. 삼성전자는 2018년 5월 기존의 1주를 50주로 나누는 액면분할을 실시했고, 265만 원이던 주가는 다음날 50분의 1인 5만 3000원으로 거래되었습니다. 이러한 이벤트를 고려하지 않고 주가만 살펴본다면 마치 -98% 수익률을 기록한 것 같지만, 투자자 입장에서는 1주이던 주식이 50주로 늘어났기 때문에.. 2024. 10. 12.
파이썬 퀀트투자(5): WICS 기준 섹터정보 크롤링, 적재 일반적으로 주식의 섹터를 나누는 기준은 MSCI와 S&P가 개발한 GICS를 가장 많이 사용합니다. 국내 종목의 GICS 기준 정보 역시 한국거래소에서 제공하고 있으나, 이는 독점적 지적재산으로 명시했기에 사용하는데 무리가 있습니다. 그러나 지수제공업체인 FnGuide Index에서는 GICS와 비슷한 WICS 산업분류를 발표하고 있습니다. 그래서 WICS를 크롤링하여 필요한 정보를 수집해보겠습니다. 전편: 파이썬 퀀트투자(4): 한국거래소 데이터 Mysql에 적재 1. wiseindex 사이트에서 섹터 정보 크롤링http://www.wiseindex.com/Index 먼저 웹페이지에 접속해 왼쪽에서 [WISE SECTOR INDEX → WICS → 에너지]를 클릭합니다. 그 후 [Components] .. 2024. 10. 12.
파이썬 퀀트투자(4): 한국거래소 데이터 Mysql에 적재 지난 번에 한국거래소의 업종 분류 형황 데이터를 크롤링하는 방법과 한국거래소의 개별종목 지표 데이터를 크롤링하는 방법에 대해서 알아보았습니다. 이제 이 두개의 데이터를 하나로 합친 후, Mysql에 적재할 것입니다. 먼저 두 데이터에 공통으로 존재하지 않는 종목, 즉 하나의 데이터에만 존재하는 종목을 살펴보겠습니다.(앞 글에서 사용한 코드를 그대로 이어서 사용했습니다. 전체 코드는 이 글을 참고해주세요.) 두 데이터를 set 형태로 변경한 후, symmetric_difference() 메서드를 사용하면, 하나의 데이터에만 존재하는 종목을 찾을 수 있습니다. diff = list(set(krx_sector['종목명']).symmetric_difference(set(krx_ind['종목명'])))print(.. 2024. 10. 10.
파이썬 퀀트투자(3): 한국거래소 개별종목 지표 크롤링 앞서 한국거래소의 업종 분류 현황을 크롤링하는 방법에 대해서 알아보았습니다. 이번에는 한국거래소의 개별종목 지표 크롤링하는 방법에 대해서 알아보겠습니다.KRX 정보데이터시스템 http://data.krx.co.kr/ 에서 [기본통계 → 주식 → 세부안내] 부분[12021] PER/PBR/배당수익률(개별종목): http://data.krx.co.kr/contents/MDC/MDI/mdiLoader/index.cmd?menuId=MDC0201020502 개별종목 데이터를 크롤링하는 방법은 앞서 살펴본 방법과 매우 유사하며, 요청하는 쿼리 값에만 차이가 있습니다.    이번에도 역시 사이트에서 CSV파일을 다운로드 받은 후, generate.cmd를 클릭하여 Payload를 확인합니다.  여기서 'tboxis.. 2024. 10. 9.
파이썬 퀀트투자(2): 한국거래소 업종 분류 현황 크롤링 주식 관련 데이터를 구하기 위해 가장 먼저 해야할 일은 어떤 종목들이 해당 국가 거래소에 상장되어있는가에 대한 정보를 구하는 것입니다. 우리나의 경우, 한국거래소에서 제공하는 업종분류 형황과 개별종목 지표 데이터를 이용하면, 매우 간단하게 해당 정보를 수집할 수 있습니다. 전편: 파이썬 퀀트투자(1): 최근 영업일 기준 데이터 크롤링 여기서는 먼저 업종분류 현황 데이터를 수집하는 방법을 다뤄보겠습니다. KRX 정보데이터시스템 http://data.krx.co.kr/ 에서 [기본통계 → 주식 → 세부안내] 부분[12025] 업종분류 현황: http://data.krx.co.kr/contents/MDC/MDI/mdiLoader/index.cmd?menuId=MDC0201020506먼저 사이트에 접속한 뒤, .. 2024. 10. 9.
파이썬 퀀트투자(1): 최근 영업일 기준 데이터 크롤링 파이썬 퀀트투자 시리즈는 '헨리의 퀀트대학' 유튜브 및 깃허브를 운영하는 이현열 작가님의 코딩과 그리고 '할 수 있다! 알고 투자' 유튜브 채널을 운영하는 강환국 작가님의 (한국)성장 가치, 소형주 전략을 합쳐서 제작하게 된 시리즈입니다.  (한국)성장 가치, 소형주 전략은 아래와 같은 비중으로 투자하는 전략입니다. 미국 주식의 경우 켄 피셔 대형주 전략을 쓰지 않고, S&P500에만 투자해도 백테스트 결과 크게 차이가 없는걸로 나타났습니다. 그래서 여기서는 (미국)켄 피셔 대형주 전략은 제외할 예정입니다.   이 전략으로 한달에 한 번씩 한국의 성장 가치, 소형주 종목을 20개 선정하고, 매달 비율에 맞춰서 리벨런싱 하는 과정까지 진행해보겠습니다. 최근 영업일 기준 데이터 크롤링네이버 금융의 [국내증시.. 2024. 10. 9.